Java 检查PickupItemEventItemStack是否为鹅卵石?

Java 检查PickupItemEventItemStack是否为鹅卵石?,java,listener,minecraft,bukkit,Java,Listener,Minecraft,Bukkit,这似乎不起作用。我也试过了。同样 谢谢你的帮助 您可以将一种材质与另一种材质进行对比,因为它是一个固定的枚举值 @EventHandler public void pickup(InventoryPickupItemEvent e) { if (e.getItem().getItemStack().isSimilar(new ItemStack(Material.COBBLESTONE))) { Bukkit.broadcastMessage("doesn't work

这似乎不起作用。我也试过了。同样


谢谢你的帮助

您可以将一种材质与另一种材质进行对比,因为它是一个固定的枚举值

@EventHandler
public void pickup(InventoryPickupItemEvent e) {
    if (e.getItem().getItemStack().isSimilar(new ItemStack(Material.COBBLESTONE))) {
        Bukkit.broadcastMessage("doesn't work yet");
    }
}
而且,如果数据也很重要

Material m = myItemstack.getType();
if (m.equals(Material.COBBLESTONE)) //IS COBBLE

您还知道获取数据值的方法吗?比如云杉木板。更新答案;已经有答案了,但我想我应该解释一下:你不能比较ItemStacks,这个类不会覆盖equals或==操作符,你必须直接比较内容。谢谢!这澄清了:
MaterialData data = myItemstack.getData();
if (data.equals(/*ANOTHER MATERIAL DATA*/)) //Also the same data