Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }