亲爱的开发者们,你们好!这是我来到MineBBS之后发表的第一篇开发者技术讨论的文章,感谢大家支持
。有空我会多更新这类文章供开发者参考以及讨论。
下面进入我们正题吧!
➤ InventoryClickEvent 与 InventoryDragEvent 的“相爱相杀”
这是我在前一段时间进行菜单开发时注意到的一个问题。Bukkit的InventoryDragEvent会在光标在带有物品时有轻微拖动但未越界(即未拖动该物品到其他槽位上,只是在本槽位有轻微拖动)的时候触发,而此时InventoryClickEvent则不会触发。这个问题对我的菜单开发造成了一些困扰。于是我在SpigotMC及其Github上搜索了相关问题,结果在Github上发现了一些处于打开状态的Issue。但时至今日这些Issue并未标记解决。
我不确定最新的版本是否仍然存在该问题,但我在1.20上进行开发的时候存在此问题。如果该问题仍未被解决,或许SpigotMC认为这不是个错误,而是个情理之中的问题?
但我不这么认为。此问题仍对我造成了困扰,于是,我动用了我聪明的大脑QwQ,写了一个修复补丁。
该补丁内容很少,但至少解决了我的问题。如果您也认为这是个错误并且正寻找解决办法,欢迎尝试我的修复补丁。
该补丁基于Java 1.8,Bukkit 1.20的API编写,是3个.java文件,理论上适用于全版本。不过有些枚举常量在低版本中可能不存在,删除即可。
使用方法:
1. 将Patch.zip解压缩,放入项目的代码目录中。(想放在哪个包就放在哪)
特别注意:直接复制进去的.java类可能为只读模式。你可以新建对应的类,然后将代码复制进去。
2. 修正包路径。
3. 自己操作一下进行版本适配,移除一些不适用于你的版本的枚举常量即可。
4. 在主类的onEnable()方法中添加
Done!
如果你发现问题,欢迎在下方进行讨论。(或者你也可以进行修复awa)
总之,如果这可以帮到你,欢迎下载。如果你认为这不是个错误,欢迎在下方进行讨论。
感谢查看我的第一篇文章,有缘再会!

下面进入我们正题吧!
➤ InventoryClickEvent 与 InventoryDragEvent 的“相爱相杀”
这是我在前一段时间进行菜单开发时注意到的一个问题。Bukkit的InventoryDragEvent会在光标在带有物品时有轻微拖动但未越界(即未拖动该物品到其他槽位上,只是在本槽位有轻微拖动)的时候触发,而此时InventoryClickEvent则不会触发。这个问题对我的菜单开发造成了一些困扰。于是我在SpigotMC及其Github上搜索了相关问题,结果在Github上发现了一些处于打开状态的Issue。但时至今日这些Issue并未标记解决。
我不确定最新的版本是否仍然存在该问题,但我在1.20上进行开发的时候存在此问题。如果该问题仍未被解决,或许SpigotMC认为这不是个错误,而是个情理之中的问题?
但我不这么认为。此问题仍对我造成了困扰,于是,我动用了我聪明的大脑QwQ,写了一个修复补丁。
该补丁内容很少,但至少解决了我的问题。如果您也认为这是个错误并且正寻找解决办法,欢迎尝试我的修复补丁。
该补丁基于Java 1.8,Bukkit 1.20的API编写,是3个.java文件,理论上适用于全版本。不过有些枚举常量在低版本中可能不存在,删除即可。
使用方法:
1. 将Patch.zip解压缩,放入项目的代码目录中。(想放在哪个包就放在哪)
特别注意:直接复制进去的.java类可能为只读模式。你可以新建对应的类,然后将代码复制进去。
2. 修正包路径。
3. 自己操作一下进行版本适配,移除一些不适用于你的版本的枚举常量即可。
4. 在主类的onEnable()方法中添加
Java:
new InventoryDragEventFixer(this).patch();
如果你发现问题,欢迎在下方进行讨论。(或者你也可以进行修复awa)
总之,如果这可以帮到你,欢迎下载。如果你认为这不是个错误,欢迎在下方进行讨论。
感谢查看我的第一篇文章,有缘再会!
- 内容版权许可
- 作者保留一切权利,禁止转载
附件