summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCeltic Minstrel <celtic.minstrel.ca@some.place>2012-03-13 20:50:36 -0400
committerEvilSeph <evilseph@gmail.com>2012-03-15 21:47:37 -0400
commitf27427ad196d096e2694446e47244908444d977d (patch)
tree4e631042c1dfe26c2985a802753ebd851a34237c /src
parent77ceb0002cf2c36d5177f1edeacc277cae2b956e (diff)
downloadcraftbukkit-f27427ad196d096e2694446e47244908444d977d.tar
craftbukkit-f27427ad196d096e2694446e47244908444d977d.tar.gz
craftbukkit-f27427ad196d096e2694446e47244908444d977d.tar.lz
craftbukkit-f27427ad196d096e2694446e47244908444d977d.tar.xz
craftbukkit-f27427ad196d096e2694446e47244908444d977d.zip
Fix some improper item cloning instances that would have dropped enchantments
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java4
-rw-r--r--src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java2
-rw-r--r--src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCrafting.java2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index a033f1e5..41fde2ed 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -68,8 +68,8 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
}
public void setItemOnCursor(ItemStack item) {
- CraftItemStack stack = new CraftItemStack(item.getType(), item.getAmount(), item.getDurability());
- getHandle().inventory.setCarried(stack.getType() == Material.AIR ? null : stack.getHandle());
+ CraftItemStack stack = new CraftItemStack(item);
+ getHandle().inventory.setCarried(stack.getHandle());
if (this instanceof CraftPlayer) {
((EntityPlayer) getHandle()).broadcastCarriedItem(); // Send set slot for cursor
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
index 79731c50..d64df143 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
@@ -266,7 +266,7 @@ public class CraftInventory implements Inventory {
} else {
// More than a single stack!
if (item.getAmount() > getMaxItemStack()) {
- CraftItemStack stack = new CraftItemStack(item.getTypeId(), getMaxItemStack(), item.getDurability());
+ CraftItemStack stack = new CraftItemStack(item);
stack.addUnsafeEnchantments(item.getEnchantments());
setItem(firstFree, stack);
item.setAmount(item.getAmount() - getMaxItemStack());
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCrafting.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCrafting.java
index cdb56ffc..6e20363c 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCrafting.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCrafting.java
@@ -114,7 +114,7 @@ public class CraftInventoryCrafting extends CraftInventory implements CraftingIn
if (item == null || item.getTypeId() <= 0) {
mcItems[i] = null;
} else {
- mcItems[i] = new net.minecraft.server.ItemStack( item.getTypeId(), item.getAmount(), item.getDurability());
+ mcItems[i] = CraftItemStack.createNMSItemStack(item);
}
} else {
mcItems[i] = null;