2017-05-19 5 views
0
@EventHandler 
public void pickup(InventoryPickupItemEvent e) { 
    if (e.getItem().getItemStack().isSimilar(new ItemStack(Material.COBBLESTONE))) { 
     Bukkit.broadcastMessage("doesn't work yet"); 
    } 
} 

これは機能していないようです。私も同じようにしてみました。PickupItemEvent ItemStackが小石ですか?

ありがとうございました!

+0

重要であるならば、答えはすでにありますが、私は私が説明しようと思いました:あなたはItemStacksを比較することはできません、そのクラスは '等号を(オーバーライドしません) 'または' == '演算子を使用する場合、内容を直接比較する必要があります。 – Draco18s

+0

ありがとう!これは明確に:) – StreamJungle

答えて

1

材料は固定された列挙値であるため、別の材料と照合することができます。

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

もデータも

MaterialData data = myItemstack.getData(); 
if (data.equals(/*ANOTHER MATERIAL DATA*/)) //Also the same data 
+0

魅力のように動作します、ありがとう! – StreamJungle

+0

データ値を取得する方法も知っていますか?たとえば、スプルースの木製の厚板のように。 – StreamJungle

+0

更新;) – Kerooker

関連する問題