public override void OnBlockRemoval(net.minecraft.src.World world, int i, int j, int k) { if (!field_28034_c) { net.minecraft.src.TileEntityFurnace tileentityfurnace = (net.minecraft.src.TileEntityFurnace)world.GetBlockTileEntity(i, j, k); if (tileentityfurnace == null) { return; // CRAFTBUKKIT } for (int l = 0; l < tileentityfurnace.GetSizeInventory(); l++) { net.minecraft.src.ItemStack itemstack = tileentityfurnace.GetStackInSlot(l); if (itemstack == null) { continue; } float f = field_28033_a.NextFloat() * 0.8F + 0.1F; float f1 = field_28033_a.NextFloat() * 0.8F + 0.1F; float f2 = field_28033_a.NextFloat() * 0.8F + 0.1F; do { if (itemstack.stackSize <= 0) { goto label0_continue; } int i1 = field_28033_a.Next(21) + 10; if (i1 > itemstack.stackSize) { i1 = itemstack.stackSize; } itemstack.stackSize -= i1; net.minecraft.src.EntityItem entityitem = new net.minecraft.src.EntityItem(world, (float)i + f, (float)j + f1, (float)k + f2, new net.minecraft.src.ItemStack(itemstack .itemID, i1, itemstack.GetItemDamage())); float f3 = 0.05F; entityitem.motionX = (float)field_28033_a.NextGaussian() * f3; entityitem.motionY = (float)field_28033_a.NextGaussian() * f3 + 0.2F; entityitem.motionZ = (float)field_28033_a.NextGaussian() * f3; world.AddEntity(entityitem); }while (true); label0_continue :; } label0_break :; } base.OnBlockRemoval(world, i, j, k); }
public override void DisplayGUIFurnace(net.minecraft.src.TileEntityFurnace tileentityfurnace ) { GetNextWidowId(); netServerHandler.SendPacket(new net.minecraft.src.Packet100OpenWindow(currentWindowId , 2, tileentityfurnace.GetInvName(), tileentityfurnace.GetSizeInventory())); currentCraftingInventory = new net.minecraft.src.ContainerFurnace(inventory, tileentityfurnace ); currentCraftingInventory.windowId = currentWindowId; currentCraftingInventory.OnCraftGuiOpened(this); }