par5EntityPlayer.displayGUIFurnace(var10); //вот ошибка
package net[paste][/paste]new[paste][/paste]src;import java[paste][/paste]util[paste][/paste]Random;import cpw[paste][/paste]mods[paste][/paste]fml[paste][/paste]common[paste][/paste]network[paste][/paste]FMLNetworkHandler;import net[paste][/paste]minecraft[paste][/paste]src[paste][/paste]*;public class BlockElectricFurnace extends BlockContainer{/** * Is the random generator used by furnace to drop the inventory contents in random directions[paste][/paste] */private Random furnaceRand = new Random();/** True if this is an active furnace, false if idle */private final boolean isActive;/** * This flag is used to prevent the furnace inventory to be dropped upon block removal, is used internally when the * furnace block changes from idle to active and vice-versa[paste][/paste] */private static boolean keepFurnaceInventory = false;protected BlockElectricFurnace(int par1, boolean par2){ super(par1, Material[paste][/paste]rock); this[paste][/paste]isActive = par2; this[paste][/paste]blockIndexInTexture = 45; this[paste][/paste]setCreativeTab(CreativeTabs[paste][/paste]tabDecorations);}/** * Returns the ID of the items to drop on destruction[paste][/paste] */public int idDropped(int par1, Random par2Random, int par3){ return MeModBase[paste][/paste]electricFurnaceIdle[paste][/paste]blockID;}/** * Called whenever the block is added into the world[paste][/paste] Args: world, x, y, z */public void onBlockAdded(World par1World, int par2, int par3, int par4){ super[paste][/paste]onBlockAdded(par1World, par2, par3, par4); this[paste][/paste]setDefaultDirection(par1World, par2, par3, par4);}/** * set a blocks direction */private void setDefaultDirection(World par1World, int par2, int par3, int par4){ if (!par1World[paste][/paste]isRemote) { int var5 = par1World[paste][/paste]getBlockId(par2, par3, par4 - 1); int var6 = par1World[paste][/paste]getBlockId(par2, par3, par4 + 1); int var7 = par1World[paste][/paste]getBlockId(par2 - 1, par3, par4); int var8 = par1World[paste][/paste]getBlockId(par2 + 1, par3, par4); byte var9 = 3; if (Block[paste][/paste]opaqueCubeLookup[var5] && !Block[paste][/paste]opaqueCubeLookup[var6]) { var9 = 3; } if (Block[paste][/paste]opaqueCubeLookup[var6] && !Block[paste][/paste]opaqueCubeLookup[var5]) { var9 = 2; } if (Block[paste][/paste]opaqueCubeLookup[var7] && !Block[paste][/paste]opaqueCubeLookup[var8]) { var9 = 5; } if (Block[paste][/paste]opaqueCubeLookup[var8] && !Block[paste][/paste]opaqueCubeLookup[var7]) { var9 = 4; } par1World[paste][/paste]setBlockMetadataWithNotify(par2, par3, par4, var9); }}/** * A randomly called display update to be able to add particles or other items for display */public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random){ if (this[paste][/paste]isActive) { int var6 = par1World[paste][/paste]getBlockMetadata(par2, par3, par4); float var7 = (float)par2 + 0[paste][/paste]5F; float var8 = (float)par3 + 0[paste][/paste]0F + par5Random[paste][/paste]nextFloat() * 6[paste][/paste]0F / 16[paste][/paste]0F; float var9 = (float)par4 + 0[paste][/paste]5F; float var10 = 0[paste][/paste]52F; float var11 = par5Random[paste][/paste]nextFloat() * 0[paste][/paste]6F - 0[paste][/paste]3F; if (var6 == 4) { par1World[paste][/paste]spawnParticle("smoke", (double)(var7 - var10), (double)var8, (double)(var9 + var11), 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); par1World[paste][/paste]spawnParticle("flame", (double)(var7 - var10), (double)var8, (double)(var9 + var11), 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); } else if (var6 == 5) { par1World[paste][/paste]spawnParticle("smoke", (double)(var7 + var10), (double)var8, (double)(var9 + var11), 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); par1World[paste][/paste]spawnParticle("flame", (double)(var7 + var10), (double)var8, (double)(var9 + var11), 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); } else if (var6 == 2) { par1World[paste][/paste]spawnParticle("smoke", (double)(var7 + var11), (double)var8, (double)(var9 - var10), 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); par1World[paste][/paste]spawnParticle("flame", (double)(var7 + var11), (double)var8, (double)(var9 - var10), 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); } else if (var6 == 3) { par1World[paste][/paste]spawnParticle("smoke", (double)(var7 + var11), (double)var8, (double)(var9 + var10), 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); par1World[paste][/paste]spawnParticle("flame", (double)(var7 + var11), (double)var8, (double)(var9 + var10), 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); } }}/** * Returns the block texture based on the side being looked at[paste][/paste] Args: side */public int getBlockTextureFromSide(int par1){ return par1 == 1 ? this[paste][/paste]blockIndexInTexture + 17 : (par1 == 0 ? this[paste][/paste]blockIndexInTexture + 17 : (par1 == 3 ? this[paste][/paste]blockIndexInTexture - 1 : this[paste][/paste]blockIndexInTexture));}/** * Called upon block activation (right click on the block[paste][/paste]) */public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9){ if (par1World[paste][/paste]isRemote) { return true; } else { TileEntityElectricFurnace var10 = (TileEntityElectricFurnace)par1World[paste][/paste]getBlockTileEntity(par2, par3, par4); if (var10 != null) { par5EntityPlayer[paste][/paste]displayGUIFurnace(var10); } return true; }}/** * Update which block ID the furnace is using depending on whether or not it is burning */public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4){ int var5 = par1World[paste][/paste]getBlockMetadata(par2, par3, par4); TileEntity var6 = par1World[paste][/paste]getBlockTileEntity(par2, par3, par4); keepFurnaceInventory = true; if (par0) { par1World[paste][/paste]setBlockWithNotify(par2, par3, par4, MeModBase[paste][/paste]electricFurnaceActive[paste][/paste]blockID); } else { par1World[paste][/paste]setBlockWithNotify(par2, par3, par4, MeModBase[paste][/paste]electricFurnaceIdle[paste][/paste]blockID); } keepFurnaceInventory = false; par1World[paste][/paste]setBlockMetadataWithNotify(par2, par3, par4, var5); if (var6 != null) { var6[paste][/paste]validate(); par1World[paste][/paste]setBlockTileEntity(par2, par3, par4, var6); }}/** * Returns a new instance of a block's tile entity class[paste][/paste] Called on placing the block[paste][/paste] */public TileEntity createNewTileEntity(World par1World){ return new TileEntityElectricFurnace();}/** * Called when the block is placed in the world[paste][/paste] */public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving){ int var6 = MathHelper[paste][/paste]floor_double((double)(par5EntityLiving[paste][/paste]rotationYaw * 4[paste][/paste]0F / 360[paste][/paste]0F) + 0[paste][/paste]5D) & 3; if (var6 == 0) { par1World[paste][/paste]setBlockMetadataWithNotify(par2, par3, par4, 2); } if (var6 == 1) { par1World[paste][/paste]setBlockMetadataWithNotify(par2, par3, par4, 5); } if (var6 == 2) { par1World[paste][/paste]setBlockMetadataWithNotify(par2, par3, par4, 3); } if (var6 == 3) { par1World[paste][/paste]setBlockMetadataWithNotify(par2, par3, par4, 4); }}/** * ejects contained items into the world, and notifies neighbours of an update, as appropriate */public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6){ if (!keepFurnaceInventory) { TileEntityFurnace var7 = (TileEntityFurnace)par1World[paste][/paste]getBlockTileEntity(par2, par3, par4); if (var7 != null) { for (int var8 = 0; var8 < var7[paste][/paste]getSizeInventory(); ++var8) { ItemStack var9 = var7[paste][/paste]getStackInSlot(var8); if (var9 != null) { float var10 = this[paste][/paste]furnaceRand[paste][/paste]nextFloat() * 0[paste][/paste]8F + 0[paste][/paste]1F; float var11 = this[paste][/paste]furnaceRand[paste][/paste]nextFloat() * 0[paste][/paste]8F + 0[paste][/paste]1F; float var12 = this[paste][/paste]furnaceRand[paste][/paste]nextFloat() * 0[paste][/paste]8F + 0[paste][/paste]1F; while (var9[paste][/paste]stackSize > 0) { int var13 = this[paste][/paste]furnaceRand[paste][/paste]nextInt(21) + 10; if (var13 > var9[paste][/paste]stackSize) { var13 = var9[paste][/paste]stackSize; } var9[paste][/paste]stackSize -= var13; EntityItem var14 = new EntityItem(par1World, (double)((float)par2 + var10), (double)((float)par3 + var11), (double)((float)par4 + var12), new ItemStack(var9[paste][/paste]itemID, var13, var9[paste][/paste]getItemDamage())); if (var9[paste][/paste]hasTagCompound()) { var14[paste][/paste]item[paste][/paste]setTagCompound((NBTTagCompound)var9[paste][/paste]getTagCompound()[paste][/paste]copy()); } float var15 = 0[paste][/paste]05F; var14[paste][/paste]motionX = (double)((float)this[paste][/paste]furnaceRand[paste][/paste]nextGaussian() * var15); var14[paste][/paste]motionY = (double)((float)this[paste][/paste]furnaceRand[paste][/paste]nextGaussian() * var15 + 0[paste][/paste]2F); var14[paste][/paste]motionZ = (double)((float)this[paste][/paste]furnaceRand[paste][/paste]nextGaussian() * var15); par1World[paste][/paste]spawnEntityInWorld(var14); } } } } } super[paste][/paste]breakBlock(par1World, par2, par3, par4, par5, par6);}public int getBlockTextureFromSideAndMetadata(int side, int metadata){ if(side == 0) return 12; else if(side == 1) return 12; else if((side == 2 && metadata == 2) || (side == 5 && metadata == 3) || (side == 3 && metadata == 0) || (side == 4 && metadata == 1)) return 3; else return 11; }public String getTextureFile(){ return "/net/textures/terrain_new[paste][/paste]png";}}