aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java')
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java60
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;
+ }
+}