Posted August 16, 201411 yr Ive made an incubator, but when you put the recipe inside the gui, it doesnt smelt and when you exit the gui the items inside it are gone! The block doesnt update like it should (go from idle to active) So can someone please help? Block registry: public static final Block incubatorIdle = new BlockIncubator("incubatorIdle", false); public static final Block incubatorActive = new BlockIncubator("incubatorActive", true); The block: public class BlockIncubator extends BlockContainer { protected boolean active; protected static boolean keepInventory; protected Random rand = new Random(); public BlockIncubator(String name, boolean act) { super(Material.rock); setStepSound(Block.soundTypeStone); if(!act) setCreativeTab(EssenceTabs.blocks); setBlockName(name); GameRegistry.registerBlock(this, name); active = act; if(act) setLightLevel(0.875F); } @Override public Item getItemDropped(int i, Random r, int j) { return SlayerAPI.toItem(this); } @Override public void onBlockAdded(World w, int x, int y, int z) { super.onBlockAdded(w, x, y, z); if(!w.isRemote) { int meta = 3; Block block = w.getBlock(x, y, z - 1), block1 = w.getBlock(x, y, z + 1), block2 = w.getBlock(x - 1, y, z), block3 = w.getBlock(x + 1, y, z); if(block.func_149730_j() && !block1.func_149730_j()) meta = 3; if(block1.func_149730_j() && !block.func_149730_j()) meta = 2; if(block2.func_149730_j() && !block3.func_149730_j()) meta = 5; if(block3.func_149730_j() && !block2.func_149730_j()) meta = 4; w.setBlockMetadataWithNotify(x, y, z, meta, 2); } } @Override public boolean onBlockActivated(World w, int x, int y, int z, EntityPlayer p, int i, float j, float k, float f) { TileEntityIncubator furnace = (TileEntityIncubator)w.getTileEntity(x, y, z); if(!w.isRemote && furnace != null){ if(!p.isSneaking()){ p.openGui(Essence.instance, GuiHandler.incubator, w, x, y, z); } } return false; } public static void update(boolean active, World w, int x, int y, int z) { int meta = w.getBlockMetadata(x, y, z); TileEntity tileentity = w.getTileEntity(x, y, z); keepInventory = true; if(active) w.setBlock(x, y, z, EssenceBlocks.incubatorActive); else w.setBlock(x, y, z, EssenceBlocks.incubatorIdle); keepInventory = false; w.setBlockMetadataWithNotify(x, y, z, meta, 2); if(tileentity != null) { tileentity.validate(); w.setTileEntity(x, y, z, tileentity); } } @Override public void onBlockPlacedBy(World w, int x, int y, int z, EntityLivingBase living, ItemStack item) { int meta = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; if(meta == 0) w.setBlockMetadataWithNotify(x, y, z, 2, 2); if(meta == 1) w.setBlockMetadataWithNotify(x, y, z, 5, 2); if(meta == 2) w.setBlockMetadataWithNotify(x, y, z, 3, 2); if(meta == 3) w.setBlockMetadataWithNotify(x, y, z, 4, 2); if(item.hasDisplayName()) ((TileEntityIncubator)w.getTileEntity(x, y, z)).setCustomName(item.getDisplayName()); } @Override public void breakBlock(World w, int x, int y, int z, Block b, int meta) { if(!keepInventory) { TileEntityIncubator entity = (TileEntityIncubator)w.getTileEntity(x, y, z); if(entity != null) { for(int i1 = 0; i1 < entity.getSizeInventory(); ++i1) { ItemStack itemstack = entity.getStackInSlot(i1); if(itemstack != null) { float f = this.rand.nextFloat() * 0.8F + 0.1F; float f1 = this.rand.nextFloat() * 0.8F + 0.1F; float f2 = this.rand.nextFloat() * 0.8F + 0.1F; while(itemstack.stackSize > 0) { int j1 = this.rand.nextInt(21) + 10; if(j1 > itemstack.stackSize) j1 = itemstack.stackSize; itemstack.stackSize -= j1; EntityItem entityitem = new EntityItem(w, (double)((float)x + f), (double)((float)y + f1), (double)((float)z + f2), new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); if(itemstack.hasTagCompound()) entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); float f3 = 0.05F; entityitem.motionX = (double)((float)this.rand.nextGaussian() * f3); entityitem.motionY = (double)((float)this.rand.nextGaussian() * f3 + 0.2F); entityitem.motionZ = (double)((float)this.rand.nextGaussian() * f3); w.spawnEntityInWorld(entityitem); } } } w.func_147453_f(x, y, z, b); } } super.breakBlock(w, x, y, z, b, meta); } @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(World w, int x, int y, int z, Random r) { if(active) { int meta = w.getBlockMetadata(x, y, z); float f = (float)x + 0.5F; float f1 = (float)y + 0.0F + r.nextFloat() * 6.0F / 16.0F; float f2 = (float)z + 0.5F; float f3 = 0.52F; float f4 = r.nextFloat() * 0.6F - 0.3F; if(meta == 4) { w.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); w.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); } else if(meta == 5) { w.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); w.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); } else if(meta == 2) { w.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); w.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); } else if(meta == 3) { w.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); w.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); } } } @Override public Item getItem(World w, int x, int y, int z) { return SlayerAPI.toItem(this); } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityIncubator(); } } The container: public class ContainerIncubator extends Container { private TileEntityIncubator tileFurnace; private int lastCookTime, lastBurnTime, lastItemBurnTime; public ContainerIncubator(InventoryPlayer player, TileEntityIncubator furnace) { this.tileFurnace = furnace; this.addSlotToContainer(new Slot(furnace, 0, 56, 17)); this.addSlotToContainer(new Slot(furnace, 1, 56, 53)); this.addSlotToContainer(new SlotFurnace(player.player, furnace, 2, 116, 35)); int i; for(i = 0; i < 3; ++i) { for(int j = 0; j < 9; ++j) this.addSlotToContainer(new Slot(player, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); } for(i = 0; i < 9; ++i) this.addSlotToContainer(new Slot(player, i, 8 + i * 18, 142)); } @Override public void addCraftingToCrafters(ICrafting par1ICrafting) { super.addCraftingToCrafters(par1ICrafting); par1ICrafting.sendProgressBarUpdate(this, 0, this.tileFurnace.furnaceCookTime); par1ICrafting.sendProgressBarUpdate(this, 1, this.tileFurnace.furnaceBurnTime); par1ICrafting.sendProgressBarUpdate(this, 2, this.tileFurnace.currentItemBurnTime); } @Override public void detectAndSendChanges() { super.detectAndSendChanges(); for(int i = 0; i < this.crafters.size(); ++i) { ICrafting icrafting = (ICrafting)this.crafters.get(i); if(this.lastCookTime != this.tileFurnace.furnaceCookTime) icrafting.sendProgressBarUpdate(this, 0, this.tileFurnace.furnaceCookTime); if(this.lastBurnTime != this.tileFurnace.furnaceBurnTime) icrafting.sendProgressBarUpdate(this, 1, this.tileFurnace.furnaceBurnTime); if(this.lastItemBurnTime != this.tileFurnace.currentItemBurnTime) icrafting.sendProgressBarUpdate(this, 2, this.tileFurnace.currentItemBurnTime); } this.lastCookTime = this.tileFurnace.furnaceCookTime; this.lastBurnTime = this.tileFurnace.furnaceBurnTime; this.lastItemBurnTime = this.tileFurnace.currentItemBurnTime; } @Override @SideOnly(Side.CLIENT) public void updateProgressBar(int par1, int par2) { if(par1 == 0) this.tileFurnace.furnaceCookTime = par2; if(par1 == 1) this.tileFurnace.furnaceBurnTime = par2; if(par1 == 2) this.tileFurnace.currentItemBurnTime = par2; } @Override public boolean canInteractWith(EntityPlayer par1EntityPlayer) { return this.tileFurnace.isUseableByPlayer(par1EntityPlayer); } @Override 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, 1, 37, true)) return null; } else { if(((Slot)this.inventorySlots.get(0)).getHasStack() || !((Slot)this.inventorySlots.get(0)).isItemValid(itemstack1)) return null; if(itemstack1.hasTagCompound() && itemstack1.stackSize == 1) { ((Slot)this.inventorySlots.get(0)).putStack(itemstack1.copy()); itemstack1.stackSize = 0; } else if(itemstack1.stackSize >= 1) { ((Slot)this.inventorySlots.get(0)).putStack(new ItemStack(itemstack1.getItem(), 1, itemstack1.getItemDamage())); itemstack1.stackSize--; } } if(itemstack1.stackSize == 0) slot.putStack((ItemStack)null); else slot.onSlotChanged(); if(itemstack1.stackSize == itemstack.stackSize) return null; slot.onPickupFromSlot(par1EntityPlayer, itemstack1); } return itemstack; } } The tile entity: public class TileEntityIncubator extends TileEntity implements ISidedInventory { private static final int[] slotsTop = new int[] {0}; private static final int[] slotsBottom = new int[] {2, 1}; private static final int[] slotsSides = new int[] {1}; private ItemStack[] furnaceItemStacks = new ItemStack[3]; public int furnaceBurnTime, currentItemBurnTime, furnaceCookTime, speed; private String customName; public TileEntityIncubator() { setCustomName("incubator"); this.speed = 200; } @Override public int getSizeInventory() { return this.furnaceItemStacks.length; } @Override public ItemStack getStackInSlot(int par1) { return this.furnaceItemStacks[par1]; } @Override public ItemStack decrStackSize(int par1, int par2) { if(this.furnaceItemStacks[par1] != null) { ItemStack itemstack; if(this.furnaceItemStacks[par1].stackSize <= par2) { itemstack = this.furnaceItemStacks[par1]; this.furnaceItemStacks[par1] = null; return itemstack; } else { itemstack = this.furnaceItemStacks[par1].splitStack(par2); if(this.furnaceItemStacks[par1].stackSize == 0) this.furnaceItemStacks[par1] = null; return itemstack; } } else { return null; } } @Override public ItemStack getStackInSlotOnClosing(int par1) { if(this.furnaceItemStacks[par1] != null) { ItemStack itemstack = this.furnaceItemStacks[par1]; this.furnaceItemStacks[par1] = null; return itemstack; } else { return null; } } @Override public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { this.furnaceItemStacks[par1] = par2ItemStack; if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) par2ItemStack.stackSize = this.getInventoryStackLimit(); } @Override public String getInventoryName() { return this.customName; } @Override public boolean hasCustomInventoryName() { return true; } public void setCustomName(String s) { this.customName = s; } @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList nbttaglist = nbt.getTagList("Items", 10); this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; for(int i = 0; i < nbttaglist.tagCount(); ++i) { NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i); byte b = nbttagcompound1.getByte("Slot"); if(b >= 0 && b < this.furnaceItemStacks.length) this.furnaceItemStacks[b] = ItemStack.loadItemStackFromNBT(nbttagcompound1); } this.furnaceBurnTime = nbt.getShort("BurnTime"); this.furnaceCookTime = nbt.getShort("CookTime"); this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); if(nbt.hasKey("CustomName", ) this.customName = nbt.getString("CustomName"); } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setShort("BurnTime", (short)this.furnaceBurnTime); nbt.setShort("CookTime", (short)this.furnaceCookTime); NBTTagList nbttaglist = new NBTTagList(); for(int i = 0; i < this.furnaceItemStacks.length; ++i) { if(this.furnaceItemStacks[i] != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte)i); this.furnaceItemStacks[i].writeToNBT(nbttagcompound1); nbttaglist.appendTag(nbttagcompound1); } } nbt.setTag("Items", nbttaglist); if(this.hasCustomInventoryName()) nbt.setString("CustomName", this.customName); } @Override public int getInventoryStackLimit() { return 64; } @SideOnly(Side.CLIENT) public int getCookProgressScaled(int i) { return this.furnaceCookTime * i / speed; } @SideOnly(Side.CLIENT) public int getBurnTimeRemainingScaled(int i) { if(this.currentItemBurnTime == 0) { this.currentItemBurnTime = speed; } return this.furnaceBurnTime * i / this.currentItemBurnTime; } public boolean isBurning() { return this.furnaceBurnTime > 0; } @Override public void updateEntity() { boolean flag = this.furnaceBurnTime > 0; boolean flag1 = false; if(this.furnaceBurnTime > 0) --this.furnaceBurnTime; if(!this.worldObj.isRemote) { if(this.furnaceBurnTime == 0 && this.canSmelt()) { this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); if(this.furnaceBurnTime > 0) { flag1 = true; if(this.furnaceItemStacks[1] != null) { --this.furnaceItemStacks[1].stackSize; if(this.furnaceItemStacks[1].stackSize == 0) { this.furnaceItemStacks[1] = furnaceItemStacks[1].getItem().getContainerItem(furnaceItemStacks[1]); } } } } if(this.isBurning() && this.canSmelt()) { ++this.furnaceCookTime; if(this.furnaceCookTime == speed) { this.furnaceCookTime = 0; this.smeltItem(); flag1 = true; } } else { this.furnaceCookTime = 0; } if(flag != this.furnaceBurnTime > 0) { flag1 = true; BlockIncubator.update(this.furnaceCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); } } if(flag1) this.markDirty(); } protected boolean canSmelt() { if(this.furnaceItemStacks[0] == null) { return false; } else { ItemStack itemstack = IncubatorRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); if(itemstack == null) return false; if(this.furnaceItemStacks[2] == null) return true; if(!this.furnaceItemStacks[2].isItemEqual(itemstack)) return false; int result = furnaceItemStacks[2].stackSize + itemstack.stackSize; return result <= getInventoryStackLimit() && result <= this.furnaceItemStacks[2].getMaxStackSize(); } } public void smeltItem() { if(this.canSmelt()) { ItemStack itemstack = IncubatorRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); if(this.furnaceItemStacks[2] == null) this.furnaceItemStacks[2] = itemstack.copy(); else if(this.furnaceItemStacks[2].getItem() == itemstack.getItem()) this.furnaceItemStacks[2].stackSize += itemstack.stackSize; --this.furnaceItemStacks[0].stackSize; if(this.furnaceItemStacks[0].stackSize <= 0) this.furnaceItemStacks[0] = null; } } public int getItemBurnTime(ItemStack stack) { Item item = stack.getItem(); if(item == Items.coal) return 1600 / speed; return GameRegistry.getFuelValue(stack); } public boolean isItemFuel(ItemStack i) { return getItemBurnTime(i) > 0; } @Override public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { return true; } @Override public void openInventory() {} @Override public void closeInventory() {} @Override public boolean isItemValidForSlot(int slot, ItemStack par2ItemStack) { return slot == 2 ? false : (slot == 1 ? isItemFuel(par2ItemStack) : true); } @Override public int[] getAccessibleSlotsFromSide(int slot) { return slot == 0 ? slotsBottom : (slot == 1 ? slotsTop : slotsSides); } @Override public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) { return this.isItemValidForSlot(par1, par2ItemStack); } @Override public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { return par3 != 0 || par1 != 1 || par2ItemStack.getItem() == Items.bucket; } } If i use this instead of just returning true: @Override public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; } I get this crash when i open the block: [09:23:28] [server thread/ERROR]: Encountered an unexpected exception net.minecraft.util.ReportedException: Ticking player at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:198) ~[NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:736) ~[MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) ~[MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) ~[integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) [MinecraftServer$2.class:?] Caused by: java.lang.NullPointerException at net.essence.blocks.tileentity.TileEntityIncubator.isUseableByPlayer(TileEntityIncubator.java:240) ~[TileEntityIncubator.class:?] at net.essence.blocks.tileentity.container.ContainerIncubator.canInteractWith(ContainerIncubator.java:66) ~[ContainerIncubator.class:?] at net.minecraftforge.event.entity.player.PlayerOpenContainerEvent.<init>(PlayerOpenContainerEvent.java:27) ~[PlayerOpenContainerEvent.class:?] at net.minecraftforge.common.ForgeHooks.canInteractWith(ForgeHooks.java:381) ~[ForgeHooks.class:?] at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:343) ~[EntityPlayer.class:?] at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:334) ~[EntityPlayerMP.class:?] at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:329) ~[NetHandlerPlayServer.class:?] at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) ~[C03PacketPlayer.class:?] at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:111) ~[C03PacketPlayer.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) ~[NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) ~[NetworkSystem.class:?] ... 5 more [09:23:28] [server thread/ERROR]: This crash report has been saved to: C:\Development\Forge 1.7.10\eclipse\.\crash-reports\crash-2014-08-17_09.23.28-server.txt [09:23:28] [server thread/INFO]: Stopping server [09:23:28] [server thread/INFO]: Saving players [09:23:28] [server thread/INFO]: Saving worlds [09:23:28] [server thread/INFO]: Saving chunks for level 'New World'/Overworld [09:23:28] [server thread/INFO]: Saving chunks for level 'New World'/Nether [09:23:28] [server thread/INFO]: Saving chunks for level 'New World'/The End [09:23:28] [server thread/INFO]: Saving chunks for level 'New World'/Depths [09:23:28] [server thread/INFO]: Saving chunks for level 'New World'/Euca [09:23:28] [server thread/INFO]: Saving chunks for level 'New World'/Boiling Point ---- Minecraft Crash Report ---- // Uh... Did I do that? Time: 17/08/14 9:23 AM Description: Ticking player java.lang.NullPointerException: Ticking player at net.essence.blocks.tileentity.TileEntityIncubator.isUseableByPlayer(TileEntityIncubator.java:240) at net.essence.blocks.tileentity.container.ContainerIncubator.canInteractWith(ContainerIncubator.java:66) at net.minecraftforge.event.entity.player.PlayerOpenContainerEvent.<init>(PlayerOpenContainerEvent.java:27) at net.minecraftforge.common.ForgeHooks.canInteractWith(ForgeHooks.java:381) at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:343) at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:334) at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:329) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:111) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:736) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.essence.blocks.tileentity.TileEntityIncubator.isUseableByPlayer(TileEntityIncubator.java:240) at net.essence.blocks.tileentity.container.ContainerIncubator.canInteractWith(ContainerIncubator.java:66) at net.minecraftforge.event.entity.player.PlayerOpenContainerEvent.<init>(PlayerOpenContainerEvent.java:27) at net.minecraftforge.common.ForgeHooks.canInteractWith(ForgeHooks.java:381) at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:343) -- Player being ticked -- Details: Entity Type: null (net.minecraft.entity.player.EntityPlayerMP) Entity ID: 92 Entity Name: The_SlayerMC Entity's Exact location: -44.28, 4.00, 258.03 Entity's Block location: World: (-45,4,258), Chunk: (at 3,0,2 in -3,16; contains blocks -48,0,256 to -33,255,271), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Entity's Momentum: 0.00, -0.08, 0.00 Stacktrace: at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:334) at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:329) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:111) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) -- Ticking connection -- Details: Connection: net.minecraft.network.NetworkManager@72da3450 Stacktrace: at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:736) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_67, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 732840280 bytes (698 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.05 FML v7.10.25.1199 Minecraft Forge 10.13.0.1199 6 mods loaded, 6 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{7.10.25.1199} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1199.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{10.13.0.1199} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1199.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available CodeChickenCore{1.0.2.9} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available NotEnoughItems{1.0.2.15} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.2.15-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available eotg{0.0.1} [Essence Of The Gods] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Player Count: 1 / 8; [EntityPlayerMP['The_SlayerMC'/92, l='New World', x=-44.28, y=4.00, z=258.03]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fml,forge' #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2014-08-17_09.23.28-server.txt Former developer for DivineRPG, Pixelmon and now the maker of Essence of the Gods
August 17, 201411 yr Author *Bump* Former developer for DivineRPG, Pixelmon and now the maker of Essence of the Gods
August 17, 201411 yr I don't know what you have wrong, because the code I can see seems fine. It kind of seems like your client and server containers are not both active. What code opens your Incubator gui? Please show that. -S- (if I helped, please click Thank and applaud) http://6upnqa.dm2301.livefilestore.com/y2mtf-vG7Tqq1TiiVpIm53KWj7294NDPoHfSHHb4PzZiMAUfRCfK0UY0MwOu7Q3zTBNVTKqWjr2-xgBfFRpQT5p-QivtvknPpoABMNUw9br9WuZcBFkjePhnAbW500gVm-P/sequiturian.png[/img]
August 17, 201411 yr Author public class GuiHandler implements IGuiHandler { private static int guiID = 0; public static int stats = guiID++, enrichmentTable = guiID++, incubator = guiID++; @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if(ID == stats) return new ContainerEmpty(); if(ID == enrichmentTable) return new ContainerEnrichedTable(player.inventory, world, x, y, z, player); if(ID == incubator) return new ContainerIncubator(player.inventory, new TileEntityIncubator()); return null; } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if(ID == stats) return new GuiStats(); if(ID == enrichmentTable) return new GuiEnrichedEnchantmentTable(player.inventory, world, x, y, z, player); if(ID == incubator) return new GuiIncubator(player.inventory, new TileEntityIncubator()); return null; } } Former developer for DivineRPG, Pixelmon and now the maker of Essence of the Gods
August 17, 201411 yr Don't return a new instance of the tile entity! You should be sending the instance retrieved from the world: TileEntity te = world.getTileEntity(x, y, z), and check if it's an instanceof your TE class before casting it and passing it to the Container's constructor. http://i.imgur.com/NdrFdld.png[/img]
August 18, 201411 yr Author Oh wow.... I can't believe that I missed that... HAHAHA woops Former developer for DivineRPG, Pixelmon and now the maker of Essence of the Gods
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.