奥力給
如题,想给一个大型插件改一下判定


但是不值得拆开重写,就想着写个附属

请问各位如何完成此操作?


插件判定是点击方块并输入数字完成出售

我想的是点击方块并检测手上物品lore

若不包含非法lore就可以继续输入数字完成出售



(本人初学者,请各位热心大佬尽量详细点)


2000000
判定点击方块用交互事件,之后设置监听权重 @EventHandler(priority = EventPriority.HIGHEST)
之后尝试进行检查与取消事件

奥力給
2000000 发表于 2022-11-30 15:08
判定点击方块用交互事件,之后设置监听权重 @EventHandler(priority = EventPriority.HIGHEST)
之后尝试进 ...

如果直接在事件上进行检测判断,我想的是只可以拦截原版的数据包吧,插件的不确定能不能拦截到

2000000
本帖最后由 2000000 于 2022-11-30 15:56 编辑
奥力給 发表于 2022-11-30 15:22
如果直接在事件上进行检测判断,我想的是只可以拦截原版的数据包吧,插件的不确定能不能拦截到 ...

ProtocolLib 监听 ARM_ANIMATION
    ProtocolManager manager = ProtocolLibrary.getProtocolManager();
    public void onArmAnimation() {
        manager.addPacketListener(new PacketAdapter(main.getInstance(), NORMAL, PacketType.Play.Client.ARM_ANIMATION) {
            @Override
            public void onPacketReceiving(PacketEvent event) {

            }
        });
    }

另外您应该使用 API,尝试检查此插件的 API 是否存在您想要的事件,如果含有的话进行一系列检查您应该先尝试使用API,如果没有API则尝试调整优先级,如果不行再去使用数据包检查

奥力給
2000000 发表于 2022-11-30 15:08
判定点击方块用交互事件,之后设置监听权重 @EventHandler(priority = EventPriority.HIGHEST)
之后尝试进 ...

下面的方法有点复杂,刚才尝试了一下这个方法,很好用哎!
请问大佬怎么判定点击的方块id(在onClick内)

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