3 import cpw.mods.fml.common.network.PacketDispatcher;
4 import net.minecraft.src.Container;
5 import net.minecraft.src.EntityPlayer;
6 import net.minecraft.src.IInventory;
7 import net.minecraft.src.InventoryPlayer;
8 import net.minecraft.src.Item;
9 import net.minecraft.src.ItemStack;
10 import net.minecraft.src.Slot;
11 import net.minecraft.src.World;
13 public class ContainerScienceCraftingTable extends Container {
18 private World worldObj;
32 private TileEntityScienceCraftingTable tileEntity;
36 public ContainerScienceCraftingTable(EntityPlayer par1EntityPlayer, TileEntityScienceCraftingTable par2)
39 this.worldObj = par2.worldObj;
40 this.posX = par2.xCoord;
41 this.posY = par2.yCoord;
42 this.posZ = par2.zCoord;
43 this.tileEntity = par2;
45 this.generateSlots(par2.getActiveTab(), par2.getActiveInventory());
46 //GeneratePlayerInventory
49 for (var3 = 0; var3 < 3; ++var3)
51 for (int var4 = 0; var4 < 9; ++var4)
53 this.addSlotToContainer(new Slot(par1EntityPlayer.inventory, var4 + var3 * 9 + 9, 8 + var4 * 18, 85 + var3 * 18));
57 for (var3 = 0; var3 < 9; ++var3)
59 this.addSlotToContainer(new Slot(par1EntityPlayer.inventory, var3, 8 + var3 * 18, 143));
66 public void onCraftMatrixChanged(IInventory par1IInventory){}
71 public void onCraftGuiClosed(EntityPlayer par1EntityPlayer){
72 super.onCraftGuiClosed(par1EntityPlayer);
78 public boolean canInteractWith(EntityPlayer par1EntityPlayer){
79 return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.scienceCraftingTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
85 public ItemStack transferStackInSlot(int par1){
91 private void generateSlots(String activeTabs, IInventory inventory){
92 if(activeTabs.equals("Decomposition")){
94 for(int i = 0;i < 4;i++){
95 for(int j = 0;j < 4;j++){
96 this.addSlotToContainer(new Slot(inventory, count, 90 + 18 * j, 8 + 18 * i));
100 this.addSlotToContainer(new Slot(inventory, count, 25 + 4, 26 + 4));