diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java')
-rw-r--r-- | src/Java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java b/src/Java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java new file mode 100644 index 0000000000..252f7d398c --- /dev/null +++ b/src/Java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java @@ -0,0 +1,60 @@ +package gtPlusPlus.core.slots; + +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import gtPlusPlus.core.recipe.common.CI; + +public class SlotIntegratedCircuit extends Slot { + + public static Item mCircuitItem; + private final short mCircuitLock; + + public SlotIntegratedCircuit(final IInventory inventory, final int slot, final int x, final int y) { + this(Short.MAX_VALUE+1, inventory, slot, x, y); + } + + public SlotIntegratedCircuit(int mTypeLock, final IInventory inventory, final int slot, final int x, final int y) { + super(inventory, slot, x, y); + if (mTypeLock > Short.MAX_VALUE || mTypeLock < Short.MIN_VALUE) { + mCircuitLock = -1; + } + else { + mCircuitLock = (short) mTypeLock; + } + + + } + + @Override + public synchronized boolean isItemValid(final ItemStack itemstack) { + boolean isValid = false; + if (mCircuitItem == null) { + mCircuitItem = CI.getNumberedCircuit(0).getItem(); + } + if (mCircuitItem != null) { + if (itemstack != null) { + if (itemstack.getItem() == mCircuitItem) { + + if (mCircuitLock == -1) { + isValid = true; + } + else { + if (itemstack.getItemDamage() == mCircuitLock) { + isValid = true; + } + } + + } + } + } + return isValid; + } + + @Override + public int getSlotStackLimit() { + return 1; + } +} |