-
Notifications
You must be signed in to change notification settings - Fork 497
/
ContainerAssemblyAdvancedWorkbench.java
96 lines (80 loc) · 2.75 KB
/
ContainerAssemblyAdvancedWorkbench.java
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package buildcraft.silicon.gui;
import java.util.Iterator;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.silicon.TileAssemblyAdvancedWorkbench;
public class ContainerAssemblyAdvancedWorkbench extends BuildCraftContainer {
private TileAssemblyAdvancedWorkbench workbench;
public ContainerAssemblyAdvancedWorkbench(InventoryPlayer playerInventory, TileAssemblyAdvancedWorkbench table) {
super(table.getSizeInventory());
this.workbench = table;
// addSlotToContainer(new SlotAutoCrafting(inventoryplayer.player, tile, craftResult, 0, 124, 35));
// for (int k = 0; k < 3; k++) {
// for (int j1 = 0; j1 < 3; j1++) {
// addSlotToContainer(new Slot(workbench, j1 + k * 3, 31 + j1 * 18, 16 + k * 18));
// }
// }
for (int k = 0; k < 3; k++) {
for (int j1 = 0; j1 < 9; j1++) {
addSlotToContainer(new Slot(workbench, j1 + k * 9, 8 + j1 * 18, 85 + k * 18));
}
}
for (int l = 0; l < 3; l++) {
for (int k1 = 0; k1 < 9; k1++) {
addSlotToContainer(new Slot(playerInventory, k1 + l * 9 + 9, 8 + k1 * 18, 153 + l * 18));
}
}
for (int i1 = 0; i1 < 9; i1++) {
addSlotToContainer(new Slot(playerInventory, i1, 8 + i1 * 18, 211));
}
}
@Override
public boolean canInteractWith(EntityPlayer var1) {
return workbench.isUseableByPlayer(var1);
}
@SuppressWarnings("rawtypes")
@Override
public void detectAndSendChanges() {
super.detectAndSendChanges();
for (int i = 0; i < workbench.getCraftingSlots().getSizeInventory(); i++) {
Iterator var4 = this.crafters.iterator();
while (var4.hasNext()) {
ICrafting var5 = (ICrafting) var4.next();
var5.sendSlotContents(this, -i - 1, workbench.getCraftingSlots().getStackInSlot(i));
}
}
Iterator var4 = this.crafters.iterator();
while (var4.hasNext()) {
ICrafting var5 = (ICrafting) var4.next();
var5.sendSlotContents(this, -10, workbench.getOutputSlot());
}
for (int i = 0; i < crafters.size(); i++) {
workbench.sendGUINetworkData(this, (ICrafting) crafters.get(i));
}
}
@Override
public void putStackInSlot(int par1, ItemStack par2ItemStack) {
if (par1 >= 0) {
super.putStackInSlot(par1, par2ItemStack);
} else if (par1 == -10) {
workbench.craftResult.setInventorySlotContents(0, par2ItemStack);
} else {
workbench.getCraftingSlots().setInventorySlotContents(-1 - par1, par2ItemStack);
}
}
@Override
public Slot getSlot(int par1) {
if (par1 >= 0)
return super.getSlot(par1);
else
return null;
}
@Override
public void updateProgressBar(int par1, int par2) {
workbench.getGUINetworkData(par1, par2);
}
}