我正在制作一个带有标志商店的 bukkit 插件,它会打开一个静态库存,您可以点击获取工具包。我已经设置了库存,单击标志时它会打开,并且我想要的物品在那里。但是,当我单击库存时,第一个 if 语句返回 false。这是我的代码:
@EventHandler
public void onInventoryClick(InventoryClickEvent e){
if (e.getInventory() == kitInvent){
Player player = (Player) e.getWhoClicked();
player.sendMessage("Kit Shop Opened");
if (e.getCurrentItem().getItemMeta().getDisplayName() == ChatColor.DARK_PURPLE + "Grenadier Kit"){
e.setCancelled(true);
player.getInventory().clear();
Potion potion = new Potion(PotionType.INSTANT_DAMAGE, 1);
potion.setSplash(true);
ItemStack grenadeStack = new ItemStack(Material.POTION, 32);
potion.apply(grenadeStack);
player.getInventory().addItem(grenadeStack);
}
}
}
它无法通过“if (e.getInventory() == kitInvent)”部分,因为当我将其注释掉时,它会发送消息“Kit Shop Opened”。
另外,我是否正确地执行了下一个 if 语句,它在哪里检查项目的标题?我在那里也遇到了问题,但我不知道这是否仅仅是因为前面的 if 语句。
任何帮助是极大的赞赏!