禁止编辑库存的备忘录
论述
有时我们不想让玩家在我的世界中编辑物品栏!这个工具可以派上用场。
例如:像成就列表一类的编辑会导致不便的物品。
码
@EventHandler(priority = EventPriority.HIGHEST)
public void onInvClick(InventoryClickEvent e){
Player p = (Player)e.getWhoClicked();
e.setCancelled(true);
p.updateInventory();
}
运动环境
我在Minecraft 1.11.2的环境下进行了测试。
说明
在这里,我决定只写下以下部分。
Player p = (Player)e.getWhoClicked();
e.setCancelled(true);
p.updateInventory();
Player p = (Player)e.getWhoClicked();
由于`e.getWhoClicked()`的返回类型是`HumanEntity`,我们需要将其强制转换为`Player`类型并存储。
e.setCancelled(true);
取消活动。
p.updateInventory();
重要です。
イベントを発生させた(インベントリをクリックした)プレイヤーのインベントリを強制的に更新します。
これを忘れると言葉では解説しにくい現象が発生します。
おわりに
这段代码在GUI上不接受任何操作。
将取消操作放在if语句中并加上条件判断是一种酷的用法(大概)。