From 52d42e99f29ffd8c6e1827a8d8f148fadbf7f089 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sun, 17 Nov 2013 23:37:02 -0500 Subject: [PATCH] Fix ItemProxy leak --- common/mekanism/common/item/ItemBlockBasic.java | 3 ++- common/mekanism/common/item/ItemProxy.java | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/common/mekanism/common/item/ItemBlockBasic.java b/common/mekanism/common/item/ItemBlockBasic.java index 56328cb77..dcd1b7432 100644 --- a/common/mekanism/common/item/ItemBlockBasic.java +++ b/common/mekanism/common/item/ItemBlockBasic.java @@ -115,11 +115,12 @@ public class ItemBlockBasic extends ItemBlock { if(stack.getItemDamage() != 6 || stack.stackTagCompound == null || !stack.stackTagCompound.hasKey("newCount")) { - return new ItemStack(Mekanism.ItemProxy); + return ItemProxy.getDead(); } ItemStack ret = stack.copy(); ret.stackTagCompound.setInteger("itemCount", stack.stackTagCompound.getInteger("newCount")); + return ret; } diff --git a/common/mekanism/common/item/ItemProxy.java b/common/mekanism/common/item/ItemProxy.java index 15e5c6344..df40e6e77 100644 --- a/common/mekanism/common/item/ItemProxy.java +++ b/common/mekanism/common/item/ItemProxy.java @@ -11,12 +11,13 @@ public class ItemProxy extends Item public ItemProxy(int id) { super(id); + setMaxDamage(1); } @Override public ItemStack getContainerItemStack(ItemStack stack) { - return getSavedItem(stack) != null ? getSavedItem(stack) : new ItemStack(Mekanism.ItemProxy); + return getSavedItem(stack) != null ? getSavedItem(stack) : getDead(); } @Override @@ -64,6 +65,15 @@ public class ItemProxy extends Item return null; } + public static ItemStack getDead() + { + ItemStack stack = new ItemStack(Mekanism.ItemProxy); + stack.stackSize = 0; + stack.setItemDamage(2); + + return stack; + } + @Override public void registerIcons(IconRegister register) {} }