BrokenDust
本帖最后由 SA丶破尘 于 2022-2-7 10:46 编辑

如题:
已测试过的方法
1.将PlayerInteractEvent优先级降为Lowest
仍判断不到玩家空手右键.

结果: 插件方法无解(除坛友神仙解法),Bukkit Forge通讯可以解决
另附另一个解决办法:
runTask在玩家两个外不断设置屏障,监听右键Block事件.

3231965938
可以,分析的很到位赞同呀!!好兄弟

3231965938
感谢楼主的分享很实用也很到位,安排了铁字

3231965938
奥利给,非常感谢楼主的分享,在这里祝更多的人可以发现

吕易天
对于右键的对象为非实体(即方块或空气)时,监听PlayerInteractEvent(@EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=false)),对于右键的对象为实体时,监听PlayerInteractEntityEvent(@EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=false))

BrokenDust
吕易天 发表于 2022-2-5 19:20
对于右键的对象为非实体(即方块或空气)时,监听PlayerInteractEvent(@EventHandler(priority=EventPrior ...

请审题已测试过你这种方法,但仍不行.如果你说我没有写ignoreCancelled = false,也不必要写因为default就是false

吕易天
SA丶破尘 发表于 2022-2-5 19:58
请审题已测试过你这种方法,但仍不行.如果你说我没有写ignoreCancelled = false,也不必要写因为default就 ...

问题在于你没说右键的是空气、方块还是实体

BrokenDust
吕易天 发表于 2022-2-5 20:06
问题在于你没说右键的是空气、方块还是实体

抱歉,我说的是空气,实在不好意思忘记写空气了owob

吕易天
SA丶破尘 发表于 2022-2-5 19:58
请审题已测试过你这种方法,但仍不行.如果你说我没有写ignoreCancelled = false,也不必要写因为default就 ...

还有你注册监听器了吧(如果忘记注册Listener就草了)

BrokenDust
吕易天 发表于 2022-2-5 20:07
还有你注册监听器了吧(如果忘记注册Listener就草了)

并没有,刚才有大佬断了一下PlayerConnection类手里拿着东西 右键空气可以断下,但手中不拿物品断下就不行
另一种发包,他也并没有发包.所以在这里问题是无解的....

mzmzmz
此题无解
玩家空手右键空气时不会给服务器发送数据包,故无法监听
除非客户端安装特殊mod

下一页 最后一页