summaryrefslogtreecommitdiff
path: root/ihl/flexible_cable/InvSlotTool.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2016-04-11 19:44:54 +0300
committerFoghrye4 <foghrye4@gmail.com>2016-04-11 19:44:54 +0300
commit05c78126859231a68e199dc34613689bd0978e2f (patch)
tree050bea104a18c72905095d29f31bec2935a27a24 /ihl/flexible_cable/InvSlotTool.java
Initial commit
Diffstat (limited to 'ihl/flexible_cable/InvSlotTool.java')
-rw-r--r--ihl/flexible_cable/InvSlotTool.java88
1 files changed, 88 insertions, 0 deletions
diff --git a/ihl/flexible_cable/InvSlotTool.java b/ihl/flexible_cable/InvSlotTool.java
new file mode 100644
index 0000000..b3a3855
--- /dev/null
+++ b/ihl/flexible_cable/InvSlotTool.java
@@ -0,0 +1,88 @@
+package ihl.flexible_cable;
+
+import java.util.Iterator;
+import java.util.List;
+
+import net.minecraft.item.ItemStack;
+import ic2.api.recipe.IRecipeInput;
+import ic2.core.IC2;
+import ic2.core.Ic2Items;
+import ic2.core.item.ItemUpgradeModule;
+import ihl.interfaces.IWire;
+import ihl.utils.IHLUtils;
+
+public class InvSlotTool extends IronWorkbenchInvSlot {
+
+ public InvSlotTool(IronWorkbenchTileEntity base1, String name1,
+ int oldStartIndex1, Access access1, int count) {
+ super(base1, name1, oldStartIndex1, access1, count);
+ // TODO Auto-generated constructor stub
+ }
+
+ public void damage(List<IRecipeInput> tools)
+ {
+ if(tools!=null && !tools.isEmpty())
+ {
+ for(int i=0;i<this.size();i++)
+ {
+ ItemStack is = this.get(i);
+ Iterator<IRecipeInput> i1 = tools.iterator();
+ while(i1.hasNext())
+ {
+ IRecipeInput is1 = i1.next();
+ if(is!=null && (is1.matches(is)))
+ {
+ if(!is.attemptDamageItem(1, IC2.random))
+ {
+ if(is.stackTagCompound!=null && is.stackTagCompound.hasKey("GT.ToolStats"))
+ {
+ IHLUtils.damageItemViaNBTTag(is, 1);
+ }
+ }
+ if(is.stackSize<=0)
+ {
+ this.put(i,null);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ @Override
+ public void put(int index, ItemStack content)
+ {
+ super.put(index, content);
+ if(IC2.platform.isSimulating() && ((IronWorkbenchTileEntity)this.base).container!=null)
+ {
+ ((IronWorkbenchTileEntity)this.base).resetOutput();
+ ((IronWorkbenchTileEntity)this.base).container.detectAndSendChanges();
+ }
+ }
+
+ @Override
+ public boolean accepts(ItemStack itemStack)
+ {
+ if (itemStack != null && (itemStack.getItem() instanceof ItemUpgradeModule || itemStack.getItem() instanceof IWire|| itemStack.getItem()==Ic2Items.rubber.getItem()))
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ public boolean contain(ItemStack is1)
+ {
+ for(int i=0;i<this.size();i++)
+ {
+ ItemStack is = this.get(i);
+ if(is!=null && (is.getItem()==is1.getItem()||IHLUtils.isItemsHaveSameOreDictionaryEntry(is, is1)))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+}