summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2017-01-02 16:13:25 +1100
committermd_5 <git@md-5.net>2017-01-02 16:13:25 +1100
commit613be0d8418c044807040bb4c9b72ae4c118f5cd (patch)
treeecc60f541aa6569b64b4958f131be51b10b0b1d2 /src/main/java
parenta6d8fa2eac1d7a51c70229f84edea9ea90ba4fd0 (diff)
downloadcraftbukkit-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/java')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java5
-rw-r--r--src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java6
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