diff --git a/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemAttributeNBT.java b/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemAttributeNBT.java index 1c52dac0e1..074d2bca85 100644 --- a/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemAttributeNBT.java +++ b/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemAttributeNBT.java @@ -1,6 +1,7 @@ package net.aufdemrand.denizen.objects.properties.item; import net.aufdemrand.denizen.objects.dItem; +import net.aufdemrand.denizen.utilities.debugging.dB; import net.aufdemrand.denizen.utilities.nbt.CustomNBT; import net.aufdemrand.denizencore.objects.Element; import net.aufdemrand.denizencore.objects.Mechanism; @@ -20,7 +21,7 @@ public class ItemAttributeNBT implements Property { public static boolean describes(dObject item) { - return item instanceof dItem && ((dItem) item).getMaterial().getMaterial() != Material.AIR; + return item instanceof dItem; } public static ItemAttributeNBT getFrom(dObject item) { @@ -97,6 +98,10 @@ public void adjust(Mechanism mechanism) { // // --> if (mechanism.matches("nbt_attributes")) { + if (item.getMaterial().getMaterial() == Material.AIR) { + dB.echoError("Cannot apply NBT to AIR!"); + return; + } dList list = mechanism.getValue().asType(dList.class); ItemStack itemStack = item.getItemStack(); itemStack = CustomNBT.clearAttributes(itemStack); diff --git a/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemNBT.java b/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemNBT.java index 1bccaefa78..d3d2355cc3 100644 --- a/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemNBT.java +++ b/plugin/src/main/java/net/aufdemrand/denizen/objects/properties/item/ItemNBT.java @@ -1,6 +1,7 @@ package net.aufdemrand.denizen.objects.properties.item; import net.aufdemrand.denizen.objects.dItem; +import net.aufdemrand.denizen.utilities.debugging.dB; import net.aufdemrand.denizen.utilities.nbt.CustomNBT; import net.aufdemrand.denizencore.objects.Element; import net.aufdemrand.denizencore.objects.Mechanism; @@ -16,7 +17,7 @@ public class ItemNBT implements Property { public static boolean describes(dObject item) { - return item instanceof dItem && ((dItem) item).getMaterial().getMaterial() != Material.AIR; + return item instanceof dItem; } public static ItemNBT getFrom(dObject item) { @@ -119,6 +120,10 @@ public void adjust(Mechanism mechanism) { // ]> // --> if (mechanism.matches("nbt")) { + if (item.getMaterial().getMaterial() == Material.AIR) { + dB.echoError("Cannot apply NBT to AIR!"); + return; + } dList list = mechanism.getValue().asType(dList.class); ItemStack itemStack = item.getItemStack(); for (String string : list) {