diff options
author | Andrew Ardill <andrew.ardill@gmail.com> | 2011-12-13 01:40:35 +1100 |
---|---|---|
committer | Andrew Ardill <andrew.ardill@gmail.com> | 2011-12-13 01:46:55 +1100 |
commit | 82965eb10f66b84273f61e29b7548c215ebd4fc6 (patch) | |
tree | 098d994a875c754275f60e17fe3f22c47378ff78 /src/main/java/net/minecraft/server/BlockDispenser.java | |
parent | d34e2894347f780ed6f27f745a88688000dc3615 (diff) | |
download | craftbukkit-82965eb10f66b84273f61e29b7548c215ebd4fc6.tar craftbukkit-82965eb10f66b84273f61e29b7548c215ebd4fc6.tar.gz craftbukkit-82965eb10f66b84273f61e29b7548c215ebd4fc6.tar.lz craftbukkit-82965eb10f66b84273f61e29b7548c215ebd4fc6.tar.xz craftbukkit-82965eb10f66b84273f61e29b7548c215ebd4fc6.zip |
Stop converting ItemStack to nms ItemStack by hand
This should fix many issues with enchantments being lost, as the method used takes care of enchantments.
Additionally, use the new nms ItemStack constructor in places where appropriate.
Fixes (at least part of) BUKKIT-7. Need to identify any further places to fix.
Diffstat (limited to 'src/main/java/net/minecraft/server/BlockDispenser.java')
-rw-r--r-- | src/main/java/net/minecraft/server/BlockDispenser.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/main/java/net/minecraft/server/BlockDispenser.java b/src/main/java/net/minecraft/server/BlockDispenser.java index 4b7f8a3e..39833823 100644 --- a/src/main/java/net/minecraft/server/BlockDispenser.java +++ b/src/main/java/net/minecraft/server/BlockDispenser.java @@ -102,7 +102,7 @@ public class BlockDispenser extends BlockContainer { itemstack = tileentitydispenser.getContents()[dispenseSlot]; // Copy item stack, because we want it to have 1 item - itemstack = new ItemStack(itemstack.id, 1, itemstack.getData()); + itemstack = new ItemStack(itemstack.id, 1, itemstack.getData(), itemstack.getEnchantments()); } // CraftBukkit end @@ -139,7 +139,7 @@ public class BlockDispenser extends BlockContainer { motY = event.getVelocity().getY(); motZ = event.getVelocity().getZ(); - itemstack = new ItemStack(event.getItem().getTypeId(), event.getItem().getAmount(), event.getItem().getDurability()); + itemstack = CraftItemStack.createNMSItemStack(event.getItem()); // CraftBukkit end if (itemstack.id == Item.ARROW.id) { @@ -244,7 +244,7 @@ public class BlockDispenser extends BlockContainer { } itemstack.count -= i1; - EntityItem entityitem = new EntityItem(world, (double) ((float) i + f), (double) ((float) j + f1), (double) ((float) k + f2), new ItemStack(itemstack.id, i1, itemstack.getData())); + EntityItem entityitem = new EntityItem(world, (double) ((float) i + f), (double) ((float) j + f1), (double) ((float) k + f2), new ItemStack(itemstack.id, i1, itemstack.getData(), itemstack.getEnchantments())); // CraftBukkit - make sure enchantments are copied over float f3 = 0.05F; entityitem.motX = (double) ((float) this.a.nextGaussian() * f3); |