diff options
author | md_5 <git@md-5.net> | 2017-01-02 16:13:25 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2017-01-02 16:13:25 +1100 |
commit | 613be0d8418c044807040bb4c9b72ae4c118f5cd (patch) | |
tree | ecc60f541aa6569b64b4958f131be51b10b0b1d2 /src/main | |
parent | a6d8fa2eac1d7a51c70229f84edea9ea90ba4fd0 (diff) | |
download | craftbukkit-613be0d8418c044807040bb4c9b72ae4c118f5cd.tar craftbukkit-613be0d8418c044807040bb4c9b72ae4c118f5cd.tar.gz craftbukkit-613be0d8418c044807040bb4c9b72ae4c118f5cd.tar.lz craftbukkit-613be0d8418c044807040bb4c9b72ae4c118f5cd.tar.xz craftbukkit-613be0d8418c044807040bb4c9b72ae4c118f5cd.zip |
SPIGOT-2980: Improve SpawnEgg NBT application and ItemStack conversion.
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java | 5 | ||||
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java index f12b67be..6adbbd4a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -40,9 +40,12 @@ public final class CraftItemStack extends ItemStack { return net.minecraft.server.ItemStack.a; } - net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(item, original.getAmount(), original.getDurability()); + net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(item, original.getAmount(), original.getDurability(), false); if (original.hasItemMeta()) { setItemMeta(stack, original.getItemMeta()); + } else { + // Converted after setItemMeta + stack.convertStack(); } return stack; } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java index b98c02ff..360f95f7 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java @@ -70,7 +70,7 @@ public class CraftMetaSpawnEgg extends CraftMetaItem implements SpawnEggMeta { void applyToItem(NBTTagCompound tag) { super.applyToItem(tag); - if (entityTag == null) { + if (!isSpawnEggEmpty() && entityTag == null) { entityTag = new NBTTagCompound(); } @@ -78,7 +78,9 @@ public class CraftMetaSpawnEgg extends CraftMetaItem implements SpawnEggMeta { entityTag.setString(ENTITY_ID.NBT, new MinecraftKey(spawnedType.getName()).toString()); } - tag.set(ENTITY_TAG.NBT, entityTag); + if (entityTag != null) { + tag.set(ENTITY_TAG.NBT, entityTag); + } } @Override |