java - 不知道为什么玩家可以从 bukkit GUI 中获取
问题描述
所以我正在尝试制作一个 bukkit 插件,在其中我使用 GUI 清单来添加按钮和运行命令。我在这个库存中阻止,但是用户可以将它们取出并放入块中。我需要一些帮助!
//Init gui
public static Inventory gui = Bukkit.createInventory(null, 54, "Punish");
据我了解,我需要一个库存点击事件,这就是我所拥有的......
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
Player player = (Player) event.getWhoClicked(); // The player that clicked the item
ItemStack clicked = event.getCurrentItem(); // The item that was clicked
Inventory inventory = event.getInventory(); // The inventory that was clicked in
if (event.getInventory().getTitle().equals("Punish")) {
event.setCancelled(true);
}
}
谢谢!
解决方案
为了防止玩家和方块(例如漏斗)将物品移入/移出/移出物品栏,请取消您不想移动的物品的InventoryMoveItemEvent 。
推荐阅读
- java - Quartz:作业没有执行
- c - 如何使用 WinApi 从 Header 事件中获取 ListView 句柄
- amazon-cloudwatch - 如何在使用 CloudWatchAgent 时停止接收不相关的 disk_usage 指标?
- ios - 什么是“(UIView)-> CGFloat”?我正在尝试获取 CGFloat 值
- javascript - 在 react native 中通过 redux 创建简单的食物列表应用程序的问题
- arrays - 通过 JSON 对象访问文件?
- django - 是否有在 Django 中创建动态表单集的标准方法?
- java - 将没有字段的抽象类转换为接口(Java,声纳规则 s1610)
- c# - 如何遍历异元组的元素(如 foreach)
- javascript - 从 JavaScript Image Onload 函数获取图像宽度的值