Catphia233
我是一位魔改整合作者,我需要一种办法让玩家无法与附魔台交互,不仅仅是禁用附魔台合成表那么简单,请求各位大佬支个招

无敌三脚猫
嗯,翻了下你之前的帖子才知道你玩的是1.18forge
你有装什么魔改mod吗?crt或者kubejs有一个就行

Catphia233
无敌三脚猫 发表于 2023-4-25 12:39
嗯,翻了下你之前的帖子才知道你玩的是1.18forge
你有装什么魔改mod吗?crt或者kubejs有一个就行 ...

CRT为主,但计划要加kubejs

无敌三脚猫
本帖最后由 无敌三脚猫 于 2023-4-25 14:02 编辑
Catphia233 发表于 2023-4-25 13:22
CRT为主,但计划要加kubejs

没那必要,只装一个就够了,crt能做到的,kubejs也能做到,crt做不到的那部分,也很少会用到啦,如果更喜欢kubejs,今后把crt删了也行
写个crt的脚本
  1. import crafttweaker.api.events.CTEventManager;

  2. CTEventManager.register<crafttweaker.api.event.entity.player.interact.RightClickBlockEvent>((e)=>{
  3.         if(e.player.level.getBlockState(e.blockPos)==<blockstate:minecraft:enchanting_table>){
  4.                 e.cancellationResult=<constant:minecraft:world/interactionresult:pass>;
  5.                 e.cancel();
  6.         }
  7. });
复制代码

下面这种更好,更把附魔台当成普通方块,拿着方块对它右键甚至能放上去,而上面那种写法只会无事发生
  1. import crafttweaker.api.events.CTEventManager;

  2. CTEventManager.register<crafttweaker.api.event.entity.player.interact.RightClickBlockEvent>((e)=>{
  3.         if(e.player.level.getBlockState(e.blockPos)==<blockstate:minecraft:enchanting_table>){
  4.                 e.useBlock=<constant:forge:event/result:deny>;
  5.         }
  6. });
复制代码

Catphia233
无敌三脚猫 发表于 2023-4-25 12:32
没那必要,只装一个就够了,crt能做到的,kubejs也能做到,crt做不到的那部分,也很少会用到啦,如果更喜 ...

有个问题,如果是通过其它模组(如机械动力的机械手)的方法与附魔台交互能否成功阻止...

无敌三脚猫
Catphia233 发表于 2023-4-25 14:05
有个问题,如果是通过其它模组(如机械动力的机械手)的方法与附魔台交互能否成功阻止... ...

应该能吧,你有装机械动力的话可以试试
唔,不对,这种事情阻不阻止都无所谓的吧,就算让机械手右键附魔台也什么都不会发生啊

Catphia233
无敌三脚猫 发表于 2023-4-25 14:19
应该能吧,你有装机械动力的话可以试试
唔,不对,这种事情阻不阻止都无所谓的吧,就算让机械手右键附魔 ...

嗷...最后问一下,既然禁止和附魔台交互,我想让“附魔师”这个进度在玩家取得附魔书时完成,这该如何操作呢

无敌三脚猫
Catphia233 发表于 2023-4-25 15:41
嗷...最后问一下,既然禁止和附魔台交互,我想让“附魔师”这个进度在玩家取得附魔书时完成,这该如何操 ...

crt和kubejs都不能自定义进度,倒是可以在玩家捡到物品时检测是不是附魔书,是的话就给进度,但监听不了其它方式,比如玩家从箱子里拿一本附魔书,不停检测玩家背包倒是可以,但这样不美
最好是用数据包去自定义进度,用Open Loader加载
看你怎么想了

第一页 上一页 下一页 最后一页