1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
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 64;
}
}
|