Posted August 14, 201411 yr Well I made a basic crafting table, but when I try to put in the items only 3 blocks are working in a row... if I set this.addRecipe(new ItemStack(ZidoCraft.WarriorSword, 1), new Object[] {"GGG", 'G', ZidoCraft.Block}); it works but if I extend the GGG to more it doesn't work. any suggestions? My Container Script: package zidocraft.container; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryCraftResult; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.inventory.Slot; import net.minecraft.inventory.SlotCrafting; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import zidocraft.ZidoCraft; import zidocraft.interactive.crafting.FusionTableCraftingManager; public class ContainerFusionTable extends Container { public InventoryCrafting craftMatrix; public IInventory craftResult; private World worldObj; private int posX; private int posY; private int posZ; public ContainerFusionTable(InventoryPlayer invPlayer, World world, int x, int y, int z) { craftMatrix = new InventoryCrafting(this, 6, 6); craftResult = new InventoryCraftResult(); worldObj = world; posX = x; posY = y; posZ = z; this.addSlotToContainer(new SlotCrafting(invPlayer.player, craftMatrix, craftResult, 0, 80, 43)); //this.addSlotToContainer(new Slot(craftMatrix, 0, 10, 0)); //this.addSlotToContainer(new Slot(craftMatrix, 0, 0, 20)); //for (int i = 0; i < 1; i++) { //for(int k = 0; k < 5; k++) { //this.addSlotToContainer(new Slot(craftMatrix, k + i * 5, 8 + k * 18, 7 + i * 18)); //for(int k = 0; k < 1; k++) { this.addSlotToContainer(new Slot(craftMatrix, 0, 20, 43)); this.addSlotToContainer(new Slot(craftMatrix, 1, 52, 36)); this.addSlotToContainer(new Slot(craftMatrix, 2, 80, 15)); this.addSlotToContainer(new Slot(craftMatrix, 3, 108, 36)); this.addSlotToContainer(new Slot(craftMatrix, 4, 95, 71)); this.addSlotToContainer(new Slot(craftMatrix, 5, 65, 71)); for (int i = 0; i < 3; i++) { for(int k = 0; k < 9; k++) { this.addSlotToContainer(new Slot(invPlayer, k + i * 9 + 9, 8 + k * 18, 106 + i * 18)); //this.addSlotToContainer(new Slot(craftMatrix, 0, 161, 43)); } } for (int i = 0; i < 9; i++) { this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 164)); } onCraftMatrixChanged(craftMatrix); } public void onCraftMatrixChanged(IInventory IInventory) { craftResult.setInventorySlotContents(0, FusionTableCraftingManager.getInstance().findMatchingRecipe(craftMatrix, worldObj)); } @Override public boolean canInteractWith(EntityPlayer player) { if(worldObj.getBlock(posX, posY, posZ) != ZidoCraft.FusionTable) { return false; }else{ return player.getDistanceSq((double)posX + 0.5D, (double)posY + 0.5D, (double)posZ + 0.5D) <= 64.0D; } } public void onContainerClosed(EntityPlayer par1EntityPlayer) { super.onContainerClosed(par1EntityPlayer); if (!this.worldObj.isRemote) { for (int i = 0; i < 6; ++i) { ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i); if (itemstack != null) { par1EntityPlayer.dropPlayerItemWithRandomChoice(itemstack, false); } } } } public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { ItemStack itemstack = null; Slot slot = (Slot)this.inventorySlots.get(par2); if (slot != null && slot.getHasStack()) { ItemStack itemstack1 = slot.getStack(); itemstack = itemstack1.copy(); if (par2 == 0) { if (!this.mergeItemStack(itemstack1, 10, 46, true)) { return null; } slot.onSlotChange(itemstack1, itemstack); } else if (par2 >= 10 && par2 < 37) { if (!this.mergeItemStack(itemstack1, 37, 46, false)) { return null; } } else if (par2 >= 37 && par2 < 46) { if (!this.mergeItemStack(itemstack1, 10, 37, false)) { return null; } } else if (!this.mergeItemStack(itemstack1, 10, 46, false)) { return null; } if (itemstack1.stackSize == 0) { slot.putStack((ItemStack)null); } else { slot.onSlotChanged(); } if (itemstack1.stackSize == itemstack.stackSize) { return null; } slot.onPickupFromSlot(par1EntityPlayer, itemstack1); } return itemstack; } }
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.