diff --git a/paper-api/src/main/java/org/bukkit/ItemStack.java b/paper-api/src/main/java/org/bukkit/ItemStack.java index 65f4e54082..e318cd7a51 100644 --- a/paper-api/src/main/java/org/bukkit/ItemStack.java +++ b/paper-api/src/main/java/org/bukkit/ItemStack.java @@ -40,14 +40,7 @@ public class ItemStack { this.type = type; this.amount = amount; this.damage = damage; - - Material mat = Material.getMaterial(type); - - if (mat == null) { - this.data = new MaterialData(type, data); - } else { - this.data = mat.getNewData(data); - } + createData(data); } public ItemStack(final Material type, final int amount, final byte damage, final byte data) { @@ -92,14 +85,7 @@ public class ItemStack { */ public void setTypeID(int type) { this.type = type; - - Material mat = Material.getMaterial(type); - - if (mat == null) { - data = new MaterialData(type, (byte)0); - } else { - data = mat.getNewData((byte)0); - } + createData((byte)0); } /** @@ -185,6 +171,15 @@ public class ItemStack { return -1; } + private void createData(final byte data) { + Material mat = Material.getMaterial(type); + if (mat == null) { + this.data = new MaterialData(type, data); + } else { + this.data = mat.getNewData(data); + } + } + @Override public String toString() { return "ItemStack{"+getType().name()+" x "+getAmount()+"}"; diff --git a/paper-api/src/main/java/org/bukkit/block/BlockState.java b/paper-api/src/main/java/org/bukkit/block/BlockState.java index cb124fc790..acfc32098c 100644 --- a/paper-api/src/main/java/org/bukkit/block/BlockState.java +++ b/paper-api/src/main/java/org/bukkit/block/BlockState.java @@ -5,6 +5,7 @@ import org.bukkit.Block; import org.bukkit.Chunk; import org.bukkit.Material; import org.bukkit.World; +import org.bukkit.material.MaterialData; /** * Represents a captured state of a block, which will not change automatically. @@ -27,7 +28,7 @@ public interface BlockState { * * @return block specific metadata */ - byte getData(); + MaterialData getData(); /** * Gets the type of this block @@ -90,7 +91,7 @@ public interface BlockState { * * @param data New block specific metadata */ - void setData(byte data); + void setData(MaterialData data); /** * Sets the type of this block