本帖最后由 等枫亭丶烟雨阁 于 2022-4-5 04:43 编辑
服务端核心为1.16.5LoliServer,服务器加入了地皮和领地插件,但对于流体的放置却有问题,不论是地皮还是领地,即使没有任何权限也可以正常的使用水桶、岩浆桶而不会被阻止放置/收回,请问各位大佬这种情况该如何解决
——已确定不是插件和mod的问题,且也有其他人遇到了相同的情况
服务端核心为1.16.5LoliServer,服务器加入了地皮和领地插件,但对于流体的放置却有问题,不论是地皮还是领地,即使没有任何权限也可以正常的使用水桶、岩浆桶而不会被阻止放置/收回,请问各位大佬这种情况该如何解决
——已确定不是插件和mod的问题,且也有其他人遇到了相同的情况
也不好说是谁的问题,说是forge的问题吧,毕竟forge要统筹规划所有mod的桶和流体,可不管插件怎样
说是插件的问题吧,插件也没有义务配合forge
所以万恶之源就是forge和bukkit融合出的服务端,我就不同意它俩的婚事
还是用cnpc的forge脚本吧,本来这次可以写简单点的,可是我翻来覆去了看了cnpc的代码,发现它根本没注册“使用桶”的事件,而“右键物品”或者“右键方块”这些事件在forge里都发生在“使用桶”之后,那没办法,又得自己注册事件了复制代码另外你这个问题我简单说一下
1、如果你寻求的是普适的方法,那就不是金粒的问题了,我建议你拿钱直接去跟Noppes谈,他还不一定会同意呢
如果是就事论事,比如说拿弓,那把npc的动作设成“瞄准”就行了
2、3、4、5、如果这几个问题你还想问的话就另开一贴
说是插件的问题吧,插件也没有义务配合forge
还是用cnpc的forge脚本吧,本来这次可以写简单点的,可是我翻来覆去了看了cnpc的代码,发现它根本没注册“使用桶”的事件,而“右键物品”或者“右键方块”这些事件在forge里都发生在“使用桶”之后,那没办法,又得自己注册事件了
- var IEventListener=Java.type("net.minecraftforge.eventbus.api.IEventListener")
- var EventPriority=Java.type("net.minecraftforge.eventbus.api.EventPriority")
- var MinecraftForge=Java.type("net.minecraftforge.common.MinecraftForge")
- var BlockEvent=Java.type("net.minecraftforge.event.world.BlockEvent")
- function listenEvent(eventType,listener){
- var Event=Java.type(eventType)
- var event=new Event()
- var EventListener=Java.extend(IEventListener,{
- invoke:listener
- })
- listener=new EventListener();
- var busID=MinecraftForge.EVENT_BUS.class.getDeclaredField("busID");
- busID.setAccessible(true);
- busID=busID.getInt(MinecraftForge.EVENT_BUS);
- event.getListenerList().register(busID,EventPriority.HIGH,listener);
- }
- listenEvent("net.minecraftforge.event.entity.player.FillBucketEvent",function(event){
- if(event.getTarget().func_216346_c().ordinal()==1){
- var player=event.getPlayer()
- var pos=event.getTarget().func_216350_a()
- if(MinecraftForge.EVENT_BUS.post(new BlockEvent.BreakEvent(player.func_130014_f_(),pos,player.func_130014_f_().func_180495_p(pos),player)))
- event.setCanceled(true)
- }
- })
1、如果你寻求的是普适的方法,那就不是金粒的问题了,我建议你拿钱直接去跟Noppes谈,他还不一定会同意呢
如果是就事论事,比如说拿弓,那把npc的动作设成“瞄准”就行了
2、3、4、5、如果这几个问题你还想问的话就另开一贴
无敌三脚猫 发表于 2022-4-5 20:55
也不好说是谁的问题,说是forge的问题吧,毕竟forge要统筹规划所有mod的桶和流体,可不管插件怎样
说是插件 ...
感谢你对那个帖子的解答,让npc使用物品我现在几乎是放弃了,也感谢你对本帖问题的解决,几乎是完美的解决方法,虽然在领地那里放置完后会有一点小瑕疵,但估计不会有人闲的在领地里一直放置/收起流体,相比于领地,地皮的处理就非常完美,没有领地的那个小瑕疵,感谢大佬的帮助,算是解决了一大难题