Пример #1
0
  public void remove(World world, int i, int j, int k) {
    TileEntityChest tileentitychest = (TileEntityChest) world.getTileEntity(i, j, k);

    if (tileentitychest != null) {
      for (int l = 0; l < tileentitychest.getSize(); ++l) {
        ItemStack itemstack = tileentitychest.getItem(l);

        if (itemstack != null) {
          float f = this.a.nextFloat() * 0.8F + 0.1F;
          float f1 = this.a.nextFloat() * 0.8F + 0.1F;

          EntityItem entityitem;

          for (float f2 = this.a.nextFloat() * 0.8F + 0.1F;
              itemstack.count > 0;
              world.addEntity(entityitem)) {
            int i1 = this.a.nextInt(21) + 10;

            if (i1 > itemstack.count) {
              i1 = itemstack.count;
            }

            itemstack.count -= i1;
            entityitem =
                new EntityItem(
                    world,
                    (double) ((float) i + f),
                    (double) ((float) j + f1),
                    (double) ((float) k + f2),
                    new ItemStack(itemstack.id, i1, itemstack.getData()));
            float f3 = 0.05F;

            entityitem.motX = (double) ((float) this.a.nextGaussian() * f3);
            entityitem.motY = (double) ((float) this.a.nextGaussian() * f3 + 0.2F);
            entityitem.motZ = (double) ((float) this.a.nextGaussian() * f3);
            if (itemstack.n()) {
              entityitem.itemStack.d((NBTTagCompound) itemstack.o().b());
            }
          }
        }
      }
    }

    super.remove(world, i, j, k);
  }