3 import net.minecraft.src.Container;
4 import net.minecraft.src.EntityPlayer;
5 import net.minecraft.src.IInventory;
6 import net.minecraft.src.ItemStack;
7 import net.minecraft.src.Slot;
8 import net.minecraft.src.World;
10 public class ContainerChemicalCombinationTable extends Container {
15 private World worldObj;
29 private TileEntityChemicalCombinationTable tileEntity;
35 private IInventory inv;
39 public ContainerChemicalCombinationTable(EntityPlayer par1EntityPlayer, TileEntityChemicalCombinationTable par2)
42 this.worldObj = par2.worldObj;
43 this.posX = par2.xCoord;
44 this.posY = par2.yCoord;
45 this.posZ = par2.zCoord;
46 this.tileEntity = par2;
47 this.inv = par2.getInventorys();
49 this.generateSlots("ChemicalCombination", par2.getInventorys());
50 //GeneratePlayerInventory
53 for (var3 = 0; var3 < 3; ++var3)
55 for (int var4 = 0; var4 < 9; ++var4)
57 this.addSlotToContainer(new Slot(par1EntityPlayer.inventory, var4 + var3 * 9 + 9, 8 + var4 * 18, 85 + var3 * 18));
61 for (var3 = 0; var3 < 9; ++var3)
63 this.addSlotToContainer(new Slot(par1EntityPlayer.inventory, var3, 8 + var3 * 18, 143));
66 this.tileEntity.getInventorys().setEventHandler(this);
73 public void onCraftMatrixChanged(IInventory par1IInventory){
74 this.putStackInSlot(16, ChemiCraftAPI.instance.getCraftingManager().getChemicalCombinationResult(par1IInventory));
75 ((InventoryChemicalCombination) par1IInventory).setFlag(true);
81 public void onCraftGuiClosed(EntityPlayer par1EntityPlayer){
82 super.onCraftGuiClosed(par1EntityPlayer);
88 public boolean canInteractWith(EntityPlayer par1EntityPlayer){
89 return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.chemicalConbinationTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
95 public ItemStack transferStackInSlot(int par1){
101 private void generateSlots(String activeTabs, IInventory inventorys){
103 for(int i = 0;i < 4;i++){
104 for(int j = 0;j < 4;j++){
105 this.addSlotToContainer(new Slot(inventorys, count, 16 + 18 * j, 8 + 18 * i));
109 this.addSlotToContainer(new SlotChemicalCombinationResult(inventorys, count, 123, 33));