diff --git a/src/main/java/net/minecraft/server/EntityMinecart.java b/src/main/java/net/minecraft/server/EntityMinecart.java index c7b980d2b1..9de452e1ab 100644 --- a/src/main/java/net/minecraft/server/EntityMinecart.java +++ b/src/main/java/net/minecraft/server/EntityMinecart.java @@ -31,9 +31,6 @@ public class EntityMinecart extends Entity implements IInventory { private double at; // CraftBukkit start - protected org.bukkit.entity.Entity bukkitPoweredMinecart; - protected org.bukkit.entity.Entity bukkitStorageMinecart; - private boolean slowWhenEmpty = true; private double derailedX = 0.5; private double derailedY = 0.5; @@ -49,7 +46,7 @@ public class EntityMinecart extends Entity implements IInventory { public EntityMinecart(World world) { super(world); - this.al = new ItemStack[36]; + this.al = new ItemStack[27]; //Craftbukkit this.a = 0; this.b = 0; this.c = 1; diff --git a/src/main/java/net/minecraft/server/InventoryCraftResult.java b/src/main/java/net/minecraft/server/InventoryCraftResult.java index 12a0628555..d8a5d3debb 100644 --- a/src/main/java/net/minecraft/server/InventoryCraftResult.java +++ b/src/main/java/net/minecraft/server/InventoryCraftResult.java @@ -13,7 +13,7 @@ public class InventoryCraftResult implements IInventory { public InventoryCraftResult() {} public int h_() { - return 1; + return this.a.length; //Craftbukkit } public ItemStack a(int i) { diff --git a/src/main/java/net/minecraft/server/InventoryPlayer.java b/src/main/java/net/minecraft/server/InventoryPlayer.java index c918c46e80..ddc74fa62d 100644 --- a/src/main/java/net/minecraft/server/InventoryPlayer.java +++ b/src/main/java/net/minecraft/server/InventoryPlayer.java @@ -231,7 +231,7 @@ public class InventoryPlayer implements IInventory { } public int h_() { - return this.a.length + 4; + return this.a.length + this.b.length; //Craftbukkit } public ItemStack a(int i) { diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java index e3683ddca0..f8bf94e365 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java @@ -2,7 +2,7 @@ package net.minecraft.server; public class TileEntityChest extends TileEntity implements IInventory { - private ItemStack[] e = new ItemStack[36]; + private ItemStack[] e = new ItemStack[27]; //Craftbukkit // CraftBukkit start public ItemStack[] getContents() { @@ -13,7 +13,7 @@ public class TileEntityChest extends TileEntity implements IInventory { public TileEntityChest() {} public int h_() { - return 27; + return this.e.length; } public ItemStack a(int i) { diff --git a/src/main/java/net/minecraft/server/TileEntityDispenser.java b/src/main/java/net/minecraft/server/TileEntityDispenser.java index 7c968fc88e..251afb5ebd 100644 --- a/src/main/java/net/minecraft/server/TileEntityDispenser.java +++ b/src/main/java/net/minecraft/server/TileEntityDispenser.java @@ -16,7 +16,7 @@ public class TileEntityDispenser extends TileEntity implements IInventory { public TileEntityDispenser() {} public int h_() { - return 9; + return this.e.length; //Craftbukkit } public ItemStack a(int i) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java index 264d6284a7..a723e1480c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java @@ -179,7 +179,14 @@ public class CraftInventory implements org.bukkit.inventory.Inventory { } public int firstPartial(ItemStack item) { - return firstPartial(item.getTypeId()); + CraftItemStack[] inventory = getContents(); + for (int i = 0; i < inventory.length; i++) { + CraftItemStack cItem = inventory[i]; + if (item != null && cItem.getTypeId() == item.getTypeId() && cItem.getAmount() < cItem.getMaxStackSize() && cItem.getDurability() == item.getDurability()) { + return i; + } + } + return -1; } public HashMap addItem(ItemStack... items) { @@ -195,7 +202,7 @@ public class CraftInventory implements org.bukkit.inventory.Inventory { ItemStack item = items[i]; while (true) { // Do we already have a stack of it? - int firstPartial = firstPartial( item.getTypeId() ); + int firstPartial = firstPartial(item); // Drat! no partial stack if (firstPartial == -1) {