diff options
Diffstat (limited to 'src/main/java/net/minecraft')
24 files changed, 72 insertions, 91 deletions
diff --git a/src/main/java/net/minecraft/server/ContainerEnchantTable.java b/src/main/java/net/minecraft/server/ContainerEnchantTable.java index bb5f1079..9f660607 100644 --- a/src/main/java/net/minecraft/server/ContainerEnchantTable.java +++ b/src/main/java/net/minecraft/server/ContainerEnchantTable.java @@ -124,7 +124,7 @@ public class ContainerEnchantTable extends Container { } // CraftBukkit start - CraftItemStack item = new CraftItemStack(itemstack); + CraftItemStack item = CraftItemStack.asCraftMirror(itemstack); PrepareItemEnchantEvent event = new PrepareItemEnchantEvent(player, this.getBukkitView(), this.world.getWorld().getBlockAt(this.x, this.y, this.z), item, this.costs, i); this.world.getServer().getPluginManager().callEvent(event); @@ -160,7 +160,7 @@ public class ContainerEnchantTable extends Container { EnchantmentInstance instance = (EnchantmentInstance) obj; enchants.put(org.bukkit.enchantments.Enchantment.getById(instance.enchantment.id), instance.level); } - CraftItemStack item = new CraftItemStack(itemstack); + CraftItemStack item = CraftItemStack.asCraftMirror(itemstack); EnchantItemEvent event = new EnchantItemEvent((Player) entityhuman.getBukkitEntity(), this.getBukkitView(), this.world.getWorld().getBlockAt(this.x, this.y, this.z), item, this.costs[i], enchants, i); this.world.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/DispenseBehaviorBoat.java b/src/main/java/net/minecraft/server/DispenseBehaviorBoat.java index dfaf09ed..2840aa3e 100644 --- a/src/main/java/net/minecraft/server/DispenseBehaviorBoat.java +++ b/src/main/java/net/minecraft/server/DispenseBehaviorBoat.java @@ -41,9 +41,9 @@ public class DispenseBehaviorBoat extends DispenseBehaviorItem { // CraftBukkit start ItemStack itemstack1 = itemstack.a(1); org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ()); - org.bukkit.inventory.ItemStack bukkitItem = new CraftItemStack(itemstack1).clone(); + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); - BlockDispenseEvent event = new BlockDispenseEvent(block, bukkitItem, new org.bukkit.util.Vector(d0, d1 + d3, d2)); + BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(d0, d1 + d3, d2)); if (!BlockDispenser.eventFired) { world.getServer().getPluginManager().callEvent(event); } @@ -53,10 +53,10 @@ public class DispenseBehaviorBoat extends DispenseBehaviorItem { return itemstack; } - if (!event.getItem().equals(bukkitItem)) { + if (!event.getItem().equals(craftItem)) { itemstack.count++; // Chain to handler for new item - ItemStack eventStack = CraftItemStack.createNMSItemStack(event.getItem()); + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { idispensebehavior.a(isourceblock, eventStack); diff --git a/src/main/java/net/minecraft/server/DispenseBehaviorEmptyBucket.java b/src/main/java/net/minecraft/server/DispenseBehaviorEmptyBucket.java index 31348bd6..b381e223 100644 --- a/src/main/java/net/minecraft/server/DispenseBehaviorEmptyBucket.java +++ b/src/main/java/net/minecraft/server/DispenseBehaviorEmptyBucket.java @@ -38,9 +38,9 @@ public class DispenseBehaviorEmptyBucket extends DispenseBehaviorItem { // CraftBukkit start org.bukkit.block.Block block = world.getWorld().getBlockAt(i, j, k); - org.bukkit.inventory.ItemStack bukkitItem = new CraftItemStack(itemstack).clone(); + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack); - BlockDispenseEvent event = new BlockDispenseEvent(block, bukkitItem, new org.bukkit.util.Vector(0, 0, 0)); + BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(0, 0, 0)); if (!BlockDispenser.eventFired) { world.getServer().getPluginManager().callEvent(event); } @@ -49,9 +49,9 @@ public class DispenseBehaviorEmptyBucket extends DispenseBehaviorItem { return itemstack; } - if (!event.getItem().equals(bukkitItem)) { + if (!event.getItem().equals(craftItem)) { // Chain to handler for new item - ItemStack eventStack = CraftItemStack.createNMSItemStack(event.getItem()); + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { idispensebehavior.a(isourceblock, eventStack); diff --git a/src/main/java/net/minecraft/server/DispenseBehaviorFilledBucket.java b/src/main/java/net/minecraft/server/DispenseBehaviorFilledBucket.java index 8f1d9a84..309c1e62 100644 --- a/src/main/java/net/minecraft/server/DispenseBehaviorFilledBucket.java +++ b/src/main/java/net/minecraft/server/DispenseBehaviorFilledBucket.java @@ -29,9 +29,9 @@ public class DispenseBehaviorFilledBucket extends DispenseBehaviorItem { int k2 = k + enumfacing.e(); if (world.isEmpty(i2, j, k2) || world.getMaterial(i2, j, k2).isBuildable()) { org.bukkit.block.Block block = world.getWorld().getBlockAt(i, j, k); - org.bukkit.inventory.ItemStack bukkitItem = new CraftItemStack(itemstack).clone(); + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack); - BlockDispenseEvent event = new BlockDispenseEvent(block, bukkitItem, new org.bukkit.util.Vector(0, 0, 0)); + BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(0, 0, 0)); if (!BlockDispenser.eventFired) { world.getServer().getPluginManager().callEvent(event); } @@ -40,9 +40,9 @@ public class DispenseBehaviorFilledBucket extends DispenseBehaviorItem { return itemstack; } - if (!event.getItem().equals(bukkitItem)) { + if (!event.getItem().equals(craftItem)) { // Chain to handler for new item - ItemStack eventStack = CraftItemStack.createNMSItemStack(event.getItem()); + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { idispensebehavior.a(isourceblock, eventStack); @@ -50,7 +50,7 @@ public class DispenseBehaviorFilledBucket extends DispenseBehaviorItem { } } - itembucket = (ItemBucket) CraftItemStack.createNMSItemStack(event.getItem()).getItem(); + itembucket = (ItemBucket) CraftItemStack.asNMSCopy(event.getItem()).getItem(); } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/DispenseBehaviorFireball.java b/src/main/java/net/minecraft/server/DispenseBehaviorFireball.java index cc0bf8bb..9eb4ca2b 100644 --- a/src/main/java/net/minecraft/server/DispenseBehaviorFireball.java +++ b/src/main/java/net/minecraft/server/DispenseBehaviorFireball.java @@ -30,9 +30,9 @@ public class DispenseBehaviorFireball extends DispenseBehaviorItem { // CraftBukkit start ItemStack itemstack1 = itemstack.a(1); org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ()); - org.bukkit.inventory.ItemStack bukkitItem = new CraftItemStack(itemstack1).clone(); + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); - BlockDispenseEvent event = new BlockDispenseEvent(block, bukkitItem, new org.bukkit.util.Vector(d3, d4, d5)); + BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(d3, d4, d5)); if (!BlockDispenser.eventFired) { world.getServer().getPluginManager().callEvent(event); } @@ -42,10 +42,10 @@ public class DispenseBehaviorFireball extends DispenseBehaviorItem { return itemstack; } - if (!event.getItem().equals(bukkitItem)) { + if (!event.getItem().equals(craftItem)) { itemstack.count++; // Chain to handler for new item - ItemStack eventStack = CraftItemStack.createNMSItemStack(event.getItem()); + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { idispensebehavior.a(isourceblock, eventStack); diff --git a/src/main/java/net/minecraft/server/DispenseBehaviorItem.java b/src/main/java/net/minecraft/server/DispenseBehaviorItem.java index 1337fefe..1e7161ac 100644 --- a/src/main/java/net/minecraft/server/DispenseBehaviorItem.java +++ b/src/main/java/net/minecraft/server/DispenseBehaviorItem.java @@ -50,9 +50,9 @@ public class DispenseBehaviorItem implements IDispenseBehavior { // CraftBukkit start org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ()); - org.bukkit.inventory.ItemStack bukkitItem = new CraftItemStack(itemstack).clone(); + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack); - BlockDispenseEvent event = new BlockDispenseEvent(block, bukkitItem, new org.bukkit.util.Vector(entityitem.motX, entityitem.motY, entityitem.motZ)); + BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(entityitem.motX, entityitem.motY, entityitem.motZ)); if (!BlockDispenser.eventFired) { world.getServer().getPluginManager().callEvent(event); } @@ -61,14 +61,14 @@ public class DispenseBehaviorItem implements IDispenseBehavior { return false; } - entityitem.itemStack = CraftItemStack.createNMSItemStack(event.getItem()); + entityitem.itemStack = CraftItemStack.asNMSCopy(event.getItem()); entityitem.motX = event.getVelocity().getX(); entityitem.motY = event.getVelocity().getY(); entityitem.motZ = event.getVelocity().getZ(); - if (!event.getItem().equals(bukkitItem)) { + if (!event.getItem().equals(craftItem)) { // Chain to handler for new item - ItemStack eventStack = CraftItemStack.createNMSItemStack(event.getItem()); + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); if (idispensebehavior != IDispenseBehavior.a && idispensebehavior.getClass() != DispenseBehaviorItem.class) { idispensebehavior.a(isourceblock, eventStack); diff --git a/src/main/java/net/minecraft/server/DispenseBehaviorMinecart.java b/src/main/java/net/minecraft/server/DispenseBehaviorMinecart.java index cc92846e..1ec5310e 100644 --- a/src/main/java/net/minecraft/server/DispenseBehaviorMinecart.java +++ b/src/main/java/net/minecraft/server/DispenseBehaviorMinecart.java @@ -41,9 +41,9 @@ public class DispenseBehaviorMinecart extends DispenseBehaviorItem { // CraftBukkit start ItemStack itemstack1 = itemstack.a(1); org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ()); - org.bukkit.inventory.ItemStack bukkitItem = new CraftItemStack(itemstack1).clone(); + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); - BlockDispenseEvent event = new BlockDispenseEvent(block, bukkitItem, new org.bukkit.util.Vector(d0, d1 + d3, d2)); + BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(d0, d1 + d3, d2)); if (!BlockDispenser.eventFired) { world.getServer().getPluginManager().callEvent(event); } @@ -53,10 +53,10 @@ public class DispenseBehaviorMinecart extends DispenseBehaviorItem { return itemstack; } - if (!event.getItem().equals(bukkitItem)) { + if (!event.getItem().equals(craftItem)) { itemstack.count++; // Chain to handler for new item - ItemStack eventStack = CraftItemStack.createNMSItemStack(event.getItem()); + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { idispensebehavior.a(isourceblock, eventStack); @@ -64,7 +64,7 @@ public class DispenseBehaviorMinecart extends DispenseBehaviorItem { } } - itemstack1 = CraftItemStack.createNMSItemStack(event.getItem()); + itemstack1 = CraftItemStack.asNMSCopy(event.getItem()); EntityMinecart entityminecart = new EntityMinecart(world, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), ((ItemMinecart) itemstack1.getItem()).a); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/DispenseBehaviorMonsterEgg.java b/src/main/java/net/minecraft/server/DispenseBehaviorMonsterEgg.java index 25e21d25..66ad86ec 100644 --- a/src/main/java/net/minecraft/server/DispenseBehaviorMonsterEgg.java +++ b/src/main/java/net/minecraft/server/DispenseBehaviorMonsterEgg.java @@ -23,9 +23,9 @@ public class DispenseBehaviorMonsterEgg extends DispenseBehaviorItem { World world = isourceblock.k(); ItemStack itemstack1 = itemstack.a(1); org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ()); - org.bukkit.inventory.ItemStack bukkitItem = new CraftItemStack(itemstack1).clone(); + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); - BlockDispenseEvent event = new BlockDispenseEvent(block, bukkitItem, new org.bukkit.util.Vector(d0, d1, d2)); + BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(d0, d1, d2)); if (!BlockDispenser.eventFired) { world.getServer().getPluginManager().callEvent(event); } @@ -35,10 +35,10 @@ public class DispenseBehaviorMonsterEgg extends DispenseBehaviorItem { return itemstack; } - if (!event.getItem().equals(bukkitItem)) { + if (!event.getItem().equals(craftItem)) { itemstack.count++; // Chain to handler for new item - ItemStack eventStack = CraftItemStack.createNMSItemStack(event.getItem()); + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { idispensebehavior.a(isourceblock, eventStack); @@ -46,7 +46,7 @@ public class DispenseBehaviorMonsterEgg extends DispenseBehaviorItem { } } - itemstack1 = CraftItemStack.createNMSItemStack(event.getItem()); + itemstack1 = CraftItemStack.asNMSCopy(event.getItem()); ItemMonsterEgg.a(isourceblock.k(), itemstack1.getData(), event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ()); // itemstack.a(1); // Handled during event processing // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/DispenseBehaviorProjectile.java b/src/main/java/net/minecraft/server/DispenseBehaviorProjectile.java index 3968dd0c..984b1fc0 100644 --- a/src/main/java/net/minecraft/server/DispenseBehaviorProjectile.java +++ b/src/main/java/net/minecraft/server/DispenseBehaviorProjectile.java @@ -18,9 +18,9 @@ public abstract class DispenseBehaviorProjectile extends DispenseBehaviorItem { // CraftBukkit start ItemStack itemstack1 = itemstack.a(1); org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ()); - org.bukkit.inventory.ItemStack bukkitItem = new CraftItemStack(itemstack1).clone(); + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); - BlockDispenseEvent event = new BlockDispenseEvent(block, bukkitItem, new org.bukkit.util.Vector((double) enumfacing.c(), 0.10000000149011612D, (double) enumfacing.e())); + BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector((double) enumfacing.c(), 0.10000000149011612D, (double) enumfacing.e())); if (!BlockDispenser.eventFired) { world.getServer().getPluginManager().callEvent(event); } @@ -30,13 +30,13 @@ public abstract class DispenseBehaviorProjectile extends DispenseBehaviorItem { return itemstack; } - if (!event.getItem().equals(bukkitItem)) { + if (!event.getItem().equals(craftItem)) { itemstack.count++; // Chain to handler for new item - ItemStack eventStack = CraftItemStack.createNMSItemStack(event.getItem()); + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.a.a(eventStack.getItem()); if (idispensebehavior != IDispenseBehavior.a && idispensebehavior != this) { - idispensebehavior.a(isourceblock, CraftItemStack.createNMSItemStack(event.getItem())); + idispensebehavior.a(isourceblock, eventStack); return itemstack; } } diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java index cc512b1b..3bbdb2fa 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -88,9 +88,9 @@ public class EntityCow extends EntityAnimal { } if (--itemstack.count <= 0) { - entityhuman.inventory.setItem(entityhuman.inventory.itemInHandIndex, CraftItemStack.createNMSItemStack(event.getItemStack())); + entityhuman.inventory.setItem(entityhuman.inventory.itemInHandIndex, CraftItemStack.asNMSCopy(event.getItemStack())); } else if (!entityhuman.inventory.pickup(new ItemStack(Item.MILK_BUCKET))) { - entityhuman.drop(CraftItemStack.createNMSItemStack(event.getItemStack())); + entityhuman.drop(CraftItemStack.asNMSCopy(event.getItemStack())); } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityGhast.java b/src/main/java/net/minecraft/server/EntityGhast.java index 031ebb0e..3dc67c08 100644 --- a/src/main/java/net/minecraft/server/EntityGhast.java +++ b/src/main/java/net/minecraft/server/EntityGhast.java @@ -208,13 +208,13 @@ public class EntityGhast extends EntityFlying implements IMonster { int k; if (j > 0) { - loot.add(new CraftItemStack(Item.GHAST_TEAR.id, j)); + loot.add(CraftItemStack.asNewCraftStack(Item.GHAST_TEAR, j)); } j = this.random.nextInt(3) + this.random.nextInt(1 + i); if (j > 0) { - loot.add(new CraftItemStack(Item.SULPHUR.id, j)); + loot.add(CraftItemStack.asNewCraftStack(Item.SULPHUR, j)); } org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(this, loot); diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java index 5b6ab93d..e6e260fa 100644 --- a/src/main/java/net/minecraft/server/EntityIronGolem.java +++ b/src/main/java/net/minecraft/server/EntityIronGolem.java @@ -150,13 +150,13 @@ public class EntityIronGolem extends EntityGolem { int k; if (j > 0) { - loot.add(new CraftItemStack(Block.RED_ROSE.id, j)); + loot.add(CraftItemStack.asNewCraftStack(Item.byId[Block.RED_ROSE.id], j)); } k = 3 + this.random.nextInt(3); if (k > 0) { - loot.add(new CraftItemStack(Item.IRON_INGOT.id, k)); + loot.add(CraftItemStack.asNewCraftStack(Item.IRON_INGOT, k)); } org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(this, loot); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java index 5f6a40bb..08ffc62c 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -894,7 +894,7 @@ public abstract class EntityLiving extends Entity { if (k < 5) { ItemStack itemstack = this.l(k <= 0 ? 1 : 0); if (itemstack != null) { - loot.add(new org.bukkit.craftbukkit.inventory.CraftItemStack(itemstack)); + loot.add(org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack)); } } } diff --git a/src/main/java/net/minecraft/server/EntityMinecart.java b/src/main/java/net/minecraft/server/EntityMinecart.java index 54c3584a..29edbc3d 100644 --- a/src/main/java/net/minecraft/server/EntityMinecart.java +++ b/src/main/java/net/minecraft/server/EntityMinecart.java @@ -188,7 +188,7 @@ public class EntityMinecart extends Entity implements IInventory { itemstack.count -= k; // CraftBukkit - include enchantments in the new itemstack - EntityItem entityitem = new EntityItem(this.world, this.locX + (double) f, this.locY + (double) f1, this.locZ + (double) f2, new ItemStack(itemstack.id, k, itemstack.getData(), itemstack.getEnchantments())); + EntityItem entityitem = new EntityItem(this.world, this.locX + (double) f, this.locY + (double) f1, this.locZ + (double) f2, org.bukkit.craftbukkit.inventory.CraftItemStack.copyNMSStack(itemstack, k)); float f3 = 0.05F; entityitem.motX = (double) ((float) this.random.nextGaussian() * f3); diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java index 94c7ac00..d3bd681e 100644 --- a/src/main/java/net/minecraft/server/EntityPigZombie.java +++ b/src/main/java/net/minecraft/server/EntityPigZombie.java @@ -117,13 +117,13 @@ public class EntityPigZombie extends EntityZombie { int j = this.random.nextInt(2 + i); if (j > 0) { - loot.add(new CraftItemStack(Item.ROTTEN_FLESH.id, j)); + loot.add(CraftItemStack.asNewCraftStack(Item.ROTTEN_FLESH, j)); } j = this.random.nextInt(2 + i); if (j > 0) { - loot.add(new CraftItemStack(Item.GOLD_NUGGET.id, j)); + loot.add(CraftItemStack.asNewCraftStack(Item.GOLD_NUGGET, j)); } // Determine rare item drops and add them to the loot @@ -133,7 +133,7 @@ public class EntityPigZombie extends EntityZombie { if (k < 5) { ItemStack itemstack = this.l(k <= 0 ? 1 : 0); if (itemstack != null) { - loot.add(new CraftItemStack(itemstack)); + loot.add(CraftItemStack.asCraftMirror(itemstack)); } } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java index 35a679ad..775e988b 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -240,13 +240,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { if (!keepInventory) { for (int i = 0; i < this.inventory.items.length; ++i) { if (this.inventory.items[i] != null) { - loot.add(new CraftItemStack(this.inventory.items[i])); + loot.add(CraftItemStack.asCraftMirror(this.inventory.items[i])); } } for (int i = 0; i < this.inventory.armor.length; ++i) { if (this.inventory.armor[i] != null) { - loot.add(new CraftItemStack(this.inventory.armor[i])); + loot.add(CraftItemStack.asCraftMirror(this.inventory.armor[i])); } } } diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java index 39296ae3..aba1e88c 100644 --- a/src/main/java/net/minecraft/server/EntitySkeleton.java +++ b/src/main/java/net/minecraft/server/EntitySkeleton.java @@ -167,7 +167,7 @@ public class EntitySkeleton extends EntityMonster implements IRangedEntity { if (k < 5) { ItemStack itemstack = this.l(k <= 0 ? 1 : 0); if (itemstack != null) { - loot.add(new org.bukkit.craftbukkit.inventory.CraftItemStack(itemstack)); + loot.add(org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack)); } } } diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java index 5aa39216..9a1ee774 100644 --- a/src/main/java/net/minecraft/server/ItemBucket.java +++ b/src/main/java/net/minecraft/server/ItemBucket.java @@ -56,13 +56,13 @@ public class ItemBucket extends Item { return itemstack; } - ItemStack result = CraftItemStack.createNMSItemStack(event.getItemStack()); // CraftBukkit - TODO: Check this stuff later... Not sure how this behavior should work + ItemStack result = CraftItemStack.asNMSCopy(event.getItemStack()); // CraftBukkit - TODO: Check this stuff later... Not sure how this behavior should work if (--itemstack.count <= 0) { return result; // CraftBukkit } if (!entityhuman.inventory.pickup(result)) { // CraftBukkit - entityhuman.drop(CraftItemStack.createNMSItemStack(event.getItemStack())); // CraftBukkit + entityhuman.drop(CraftItemStack.asNMSCopy(event.getItemStack())); // CraftBukkit } return itemstack; @@ -81,13 +81,13 @@ public class ItemBucket extends Item { return itemstack; } - ItemStack result = CraftItemStack.createNMSItemStack(event.getItemStack()); // CraftBukkit - TODO: Check this stuff later... Not sure how this behavior should work + ItemStack result = CraftItemStack.asNMSCopy(event.getItemStack()); // CraftBukkit - TODO: Check this stuff later... Not sure how this behavior should work if (--itemstack.count <= 0) { return result; // CraftBukkit } if (!entityhuman.inventory.pickup(result)) { // CraftBukkit - entityhuman.drop(CraftItemStack.createNMSItemStack(event.getItemStack())); // CraftBukkit + entityhuman.drop(CraftItemStack.asNMSCopy(event.getItemStack())); // CraftBukkit } return itemstack; @@ -101,7 +101,7 @@ public class ItemBucket extends Item { return itemstack; } - return CraftItemStack.createNMSItemStack(event.getItemStack()); + return CraftItemStack.asNMSCopy(event.getItemStack()); } int clickedX = i, clickedY = j, clickedZ = k; @@ -144,7 +144,7 @@ public class ItemBucket extends Item { // CraftBukkit end if (this.a(world, d0, d1, d2, i, j, k) && !entityhuman.abilities.canInstantlyBuild) { - return CraftItemStack.createNMSItemStack(event.getItemStack()); // CraftBukkit + return CraftItemStack.asNMSCopy(event.getItemStack()); // CraftBukkit } } } else if (this.a == 0 && movingobjectposition.entity instanceof EntityCow) { @@ -156,7 +156,7 @@ public class ItemBucket extends Item { return itemstack; } - return CraftItemStack.createNMSItemStack(event.getItemStack()); + return CraftItemStack.asNMSCopy(event.getItemStack()); // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java index ac6bc3c1..d0a60c2d 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -41,21 +41,6 @@ public final class ItemStack { this.setData(k); // CraftBukkit } - // CraftBukkit start - used to create a new ItemStack, specifying the enchantments at time of creation. - public ItemStack(int id, int count, int data, NBTTagList enchantments) { - this(id, count, data); - // taken from .addEnchantment - if (enchantments != null && Item.byId[this.id].getMaxStackSize() == 1) { - if (this.tag == null) { - this.setTag(new NBTTagCompound()); - } - - this.tag.set("ench", enchantments.clone()); // modify this part to use passed in enchantments list - // TODO Books, Skulls, Item Names, Item Lore - } - } - // CraftBukkit end - public static ItemStack a(NBTTagCompound nbttagcompound) { ItemStack itemstack = new ItemStack(); diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java index 0b9beb7d..0e021c66 100644 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java @@ -35,13 +35,9 @@ public class NBTTagCompound extends NBTBase { } catch (java.io.IOException ex) { ex.printStackTrace(); } + // CraftBukkit end } - public void remove(String name) { - map.remove(name); - } - // CraftBukkit end - void load(DataInput datainput) { this.map.clear(); diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java index 084d0aff..88afae43 100644 --- a/src/main/java/net/minecraft/server/NetServerHandler.java +++ b/src/main/java/net/minecraft/server/NetServerHandler.java @@ -1230,11 +1230,11 @@ public class NetServerHandler extends NetHandler { if (cursor == null) { this.player.inventory.setCarried((ItemStack) null); } else { - this.player.inventory.setCarried(CraftItemStack.createNMSItemStack(cursor)); + this.player.inventory.setCarried(CraftItemStack.asNMSCopy(cursor)); } org.bukkit.inventory.ItemStack item = event.getCurrentItem(); if (item != null) { - itemstack = CraftItemStack.createNMSItemStack(item); + itemstack = CraftItemStack.asNMSCopy(item); if (packet102windowclick.slot == -999) { this.player.drop(itemstack); } else { @@ -1307,16 +1307,16 @@ public class NetServerHandler extends NetHandler { if (item == null) { this.player.defaultContainer.setItem(packet107setcreativeslot.slot, (ItemStack) null); } else { - this.player.defaultContainer.setItem(packet107setcreativeslot.slot, CraftItemStack.createNMSItemStack(item)); + this.player.defaultContainer.setItem(packet107setcreativeslot.slot, CraftItemStack.asNMSCopy(item)); } } else if (item != null) { - this.player.drop(CraftItemStack.createNMSItemStack(item)); + this.player.drop(CraftItemStack.asNMSCopy(item)); } return; case DENY: // TODO: Will this actually work? if (packet107setcreativeslot.slot > -1) { - this.player.netServerHandler.sendPacket(new Packet103SetSlot(this.player.defaultContainer.windowId, packet107setcreativeslot.slot, CraftItemStack.createNMSItemStack(item))); + this.player.netServerHandler.sendPacket(new Packet103SetSlot(this.player.defaultContainer.windowId, packet107setcreativeslot.slot, CraftItemStack.asNMSCopy(item))); } return; case DEFAULT: diff --git a/src/main/java/net/minecraft/server/ShapedRecipes.java b/src/main/java/net/minecraft/server/ShapedRecipes.java index 0a48d45b..e3126b6b 100644 --- a/src/main/java/net/minecraft/server/ShapedRecipes.java +++ b/src/main/java/net/minecraft/server/ShapedRecipes.java @@ -23,7 +23,7 @@ public class ShapedRecipes implements IRecipe { // CraftBukkit start public org.bukkit.inventory.ShapedRecipe toBukkitRecipe() { - CraftItemStack result = new CraftItemStack(this.result); + CraftItemStack result = CraftItemStack.asCraftMirror(this.result); CraftShapedRecipe recipe = new CraftShapedRecipe(result, this); switch (this.height) { case 1: diff --git a/src/main/java/net/minecraft/server/ShapelessRecipes.java b/src/main/java/net/minecraft/server/ShapelessRecipes.java index f14d78be..3c08c2a6 100644 --- a/src/main/java/net/minecraft/server/ShapelessRecipes.java +++ b/src/main/java/net/minecraft/server/ShapelessRecipes.java @@ -22,7 +22,7 @@ public class ShapelessRecipes implements IRecipe { // CraftBukkit start @SuppressWarnings("unchecked") public org.bukkit.inventory.ShapelessRecipe toBukkitRecipe() { - CraftItemStack result = new CraftItemStack(this.result); + CraftItemStack result = CraftItemStack.asCraftMirror(this.result); CraftShapelessRecipe recipe = new CraftShapelessRecipe(result, this); for (ItemStack stack : (List<ItemStack>) this.ingredients) { if (stack != null) { diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java index bf4ed58d..17b9611a 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -172,7 +172,7 @@ public class TileEntityFurnace extends TileEntity implements IInventory { if (!this.world.isStatic) { // CraftBukkit start - handle multiple elapsed ticks if (this.burnTime <= 0 && this.canBurn() && this.items[1] != null) { // CraftBukkit - == to <= - CraftItemStack fuel = new CraftItemStack(this.items[1]); + CraftItemStack fuel = CraftItemStack.asCraftMirror(this.items[1]); FurnaceBurnEvent furnaceBurnEvent = new FurnaceBurnEvent(this.world.getWorld().getBlockAt(this.x, this.y, this.z), fuel, fuelTime(this.items[1])); this.world.getServer().getPluginManager().callEvent(furnaceBurnEvent); @@ -237,8 +237,8 @@ public class TileEntityFurnace extends TileEntity implements IInventory { ItemStack itemstack = RecipesFurnace.getInstance().getResult(this.items[0].getItem().id); // CraftBukkit start - CraftItemStack source = new CraftItemStack(this.items[0]); - CraftItemStack result = new CraftItemStack(itemstack.cloneItemStack()); + CraftItemStack source = CraftItemStack.asCraftMirror(this.items[0]); + CraftItemStack result = CraftItemStack.asCraftMirror(itemstack.cloneItemStack()); FurnaceSmeltEvent furnaceSmeltEvent = new FurnaceSmeltEvent(this.world.getWorld().getBlockAt(this.x, this.y, this.z), source, result); this.world.getServer().getPluginManager().callEvent(furnaceSmeltEvent); @@ -247,7 +247,7 @@ public class TileEntityFurnace extends TileEntity implements IInventory { return; } - itemstack = CraftItemStack.createNMSItemStack(furnaceSmeltEvent.getResult()); + itemstack = CraftItemStack.asNMSCopy(furnaceSmeltEvent.getResult()); if (this.items[2] == null) { this.items[2] = itemstack.cloneItemStack(); |