rendered paste bodypackage net.minecraft.src;
import java.util.Random;
public class BlockDiamondFurnace extends BlockContainer
{
protected BlockDiamondFurnace(int i, boolean flag)
{
super(i, Material.rock);
DiamondfurnaceRand = new Random();
isActive = flag;
blockIndexInTexture = 45;
}
public int idDropped(int i, Random random)
{
return mod_Furnace.DiamondFurnace.blockID;
}
public void onBlockAdded(World world, int i, int j, int k)
{
super.onBlockAdded(world, i, j, k);
}
public boolean blockActivated(World world, int i, int j, int k, EntityPlayer entityplayer)
{
if(world.multiplayerWorld)
{
return true;
}
TileEntityDiamondFurnace tileentityDiamondfurnace = (TileEntityDiamondFurnace)world.getBlockTileEntity(i, j, k);
if(tileentityDiamondfurnace != null)
{
ModLoader.OpenGUI(ModLoader.getMinecraftInstance().thePlayer, new GuiDiamondfurnace(ModLoader.getMinecraftInstance().thePlayer.inventory, tileentityDiamondfurnace));
}
return true;
}
public static void updateDiamondFurnaceBlockState(boolean flag, World world, int i, int j, int k)
{
int l = world.getBlockMetadata(i, j, k);
TileEntity tileentity = world.getBlockTileEntity(i, j, k);
keepDiamondFurnaceInventory = true;
keepDiamondFurnaceInventory = false;
world.setBlockMetadataWithNotify(i, j, k, l);
if(tileentity != null)
{
tileentity.validate();
world.setBlockTileEntity(i, j, k, tileentity);
}
}
public TileEntity getBlockEntity()
{
return new TileEntityFurnace();
}
public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving)
{
int l = MathHelper.floor_double((double)((entityliving.rotationYaw * 4F) / 360F) + 0.5D) & 3;
if(l == 0)
{
world.setBlockMetadataWithNotify(i, j, k, 2);
}
if(l == 1)
{
world.setBlockMetadataWithNotify(i, j, k, 5);
}
if(l == 2)
{
world.setBlockMetadataWithNotify(i, j, k, 3);
}
if(l == 3)
{
world.setBlockMetadataWithNotify(i, j, k, 4);
}
}
public void onBlockRemoval(World world, int i, int j, int k)
{
if(!keepDiamondFurnaceInventory)
{
TileEntityDiamondFurnace tileentityDiamondfurnace = (TileEntityDiamondFurnace)world.getBlockTileEntity(i, j, k);
if(tileentityDiamondfurnace != null)
{
label0:
for(int l = 0; l < tileentityDiamondfurnace.getSizeInventory(); l++)
{
ItemStack itemstack = tileentityDiamondfurnace.getStackInSlot(l);
if(itemstack == null)
{
continue;
}
float f = DiamondfurnaceRand.nextFloat() * 0.8F + 0.1F;
float f1 = DiamondfurnaceRand.nextFloat() * 0.8F + 0.1F;
float f2 = DiamondfurnaceRand.nextFloat() * 0.8F + 0.1F;
do
{
if(itemstack.stackSize <= 0)
{
continue label0;
}
int i1 = DiamondfurnaceRand.nextInt(21) + 10;
if(i1 > itemstack.stackSize)
{
i1 = itemstack.stackSize;
}
itemstack.stackSize -= i1;
EntityItem entityitem = new EntityItem(world, (float)i + f, (float)j + f1, (float)k + f2, new ItemStack(itemstack.itemID, i1, itemstack.getItemDamage()));
float f3 = 0.05F;
entityitem.motionX = (float)DiamondfurnaceRand.nextGaussian() * f3;
entityitem.motionY = (float)DiamondfurnaceRand.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float)DiamondfurnaceRand.nextGaussian() * f3;
world.entityJoinedWorld(entityitem);
} while(true);
}
}
}
super.onBlockRemoval(world, i, j, k);
}
private Random DiamondfurnaceRand;
private final boolean isActive;
private static boolean keepDiamondFurnaceInventory = false;
}