查看库存而不进行编辑

时间:2017-03-20 22:07:48

标签: java minecraft bukkit inventory

大家好,这可能是一个不起眼的问题。我知道如何打开别人库存并对其进行更改。但我想要的是打开库存而无法更改该玩家库存。只是预览它。

Player target = Bukkit.getPlayer(args[0]);
      if (target != null) {
        p.openInventory(target.getInventory());
      }

有谁知道如何让别人看到库存而不让他们从中取出任何物品?

谢谢!

1 个答案:

答案 0 :(得分:2)

你可以通过InventoryClickEvent来做到这一点,正如Andrew Li在评论中指出的那样。

InventoryClick是一个可取消的事件,您只需要将点击的广告资源与目标广告资源进行比较,如下所示:

@EventHandler
public void onInventoryClick(InventoryClickEvent e) {
HumanEntity clicker = e.getWhoClicked();
Inventory inv = e.getClickedInventory();
if (/*inv is your saved inv*/) {
e.setCancelled(true);
}

通过这种方式,您可以取消库存点击,从而取消库存中发生的任何操作,例如拍摄或放置物品,但仍允许此人查看库存。