Blockpackage net[paste][/paste]minecraft[paste][/paste]src;import java[paste][/paste]util[paste][/paste]Random;// Referenced classes of package net[paste][/paste]minecraft[paste][/paste]src:// BlockContainer, Material, mod_Pe4ks, Block, // BlockGrass, World, IBlockAccess, TileEntityPe4ka, // GuiPe4ka, EntityPlayer, ModLoader, TileEntity, // EntityLiving, MathHelper, ItemStack, EntityItempublic class BlockPe4ka extends BlockContainer{ private Random pe4kaRand; private final boolean isActive; private static boolean keepPe4kaInventory = false; protected BlockPe4ka(int i, boolean flag) { super(i, Material[paste][/paste]rock); setTickOnLoad(true); pe4kaRand = new Random(); isActive = flag; blockIndexInTexture = mod_Pe4ka[paste][/paste]pe4kaside; } public int idDropped(int i, Random random) { return mod_Pe4ka[paste][/paste]Pe4kaIdle[paste][/paste]blockID; } public boolean canBlockStay(World world, int i, int j, int k) { return canThisPlantGrowOnThisBlockID(world[paste][/paste]getBlockId(i, j - 1, k)); } protected boolean canThisPlantGrowOnThisBlockID(int i) { return Block[paste][/paste]opaqueCubeLookup[i]; }/* public void updateTick(World world, int i, int j, int k, Random random) { if(random[paste][/paste]nextInt(1) == 0 && blockID == mod_Uranium[paste][/paste]reactorActive[paste][/paste]blockID) { int l = (i + random[paste][/paste]nextInt(3)) - 1; int i1 = (j + random[paste][/paste]nextInt(2)) - random[paste][/paste]nextInt(2); int j1 = (k + random[paste][/paste]nextInt(3)) - 1; if(world[paste][/paste]isAirBlock(l, i1, j1) && canBlockStay(world, l, i1, j1)) { i += random[paste][/paste]nextInt(3) - 1; k += random[paste][/paste]nextInt(3) - 1; if(world[paste][/paste]isAirBlock(l, i1, j1) && canBlockStay(world, l, i1, j1)) { world[paste][/paste]setBlockWithNotify(l, i1, j1, mod_Uranium[paste][/paste]nuclearWaste[paste][/paste]blockID); } } } } */ public void onBlockAdded(World world, int i, int j, int k) { super[paste][/paste]onBlockAdded(world, i, j, k); setDefaultDirection(world, i, j, k); } private void setDefaultDirection(World world, int i, int j, int k) { if(world[paste][/paste]multiplayerWorld) { return; } int l = world[paste][/paste]getBlockId(i, j, k - 1); int i1 = world[paste][/paste]getBlockId(i, j, k + 1); int j1 = world[paste][/paste]getBlockId(i - 1, j, k); int k1 = world[paste][/paste]getBlockId(i + 1, j, k); byte byte0 = 3; if(Block[paste][/paste]opaqueCubeLookup[l] && !Block[paste][/paste]opaqueCubeLookup[i1]) { byte0 = 3; } if(Block[paste][/paste]opaqueCubeLookup[i1] && !Block[paste][/paste]opaqueCubeLookup[l]) { byte0 = 2; } if(Block[paste][/paste]opaqueCubeLookup[j1] && !Block[paste][/paste]opaqueCubeLookup[k1]) { byte0 = 5; } if(Block[paste][/paste]opaqueCubeLookup[k1] && !Block[paste][/paste]opaqueCubeLookup[j1]) { byte0 = 4; } world[paste][/paste]setBlockMetadataWithNotify(i, j, k, byte0); } public int getBlockTexture(IBlockAccess iblockaccess, int i, int j, int k, int l) { if(l == 1) { return mod_Pe4ka[paste][/paste]pe4katop; } if(l == 0) { return mod_Pe4ka[paste][/paste]pe4katop; } int i1 = iblockaccess[paste][/paste]getBlockMetadata(i, j, k); if(l != i1) { return blockIndexInTexture; } if(isActive) { return mod_Pe4ka[paste][/paste]pe4kaactive; } else { return mod_Pe4ka[paste][/paste]pe4kaidle; } } public void randomDisplayTick(World world, int i, int j, int k, Random random) { if(!isActive) { return; } int l = world[paste][/paste]getBlockMetadata(i, j, k); float f = (float)i + 0[paste][/paste]5F; float f1 = (float)j + 0[paste][/paste]0F + (random[paste][/paste]nextFloat() * 6F) / 16F; float f2 = (float)k + 0[paste][/paste]5F; float f3 = 0[paste][/paste]52F; float f4 = random[paste][/paste]nextFloat() * 0[paste][/paste]6F - 0[paste][/paste]3F; if(l == 4) { world[paste][/paste]spawnParticle("smoke", f - f3, f1, f2 + f4, 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); world[paste][/paste]spawnParticle("reddust", f - f3, f1, f2 + f4, 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); } else if(l == 5) { world[paste][/paste]spawnParticle("smoke", f + f3, f1, f2 + f4, 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); world[paste][/paste]spawnParticle("reddust", f + f3, f1, f2 + f4, 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); } else if(l == 2) { world[paste][/paste]spawnParticle("smoke", f + f4, f1, f2 - f3, 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); world[paste][/paste]spawnParticle("reddust", f + f4, f1, f2 - f3, 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); } else if(l == 3) { world[paste][/paste]spawnParticle("smoke", f + f4, f1, f2 + f3, 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); world[paste][/paste]spawnParticle("reddust", f + f4, f1, f2 + f3, 0[paste][/paste]0D, 0[paste][/paste]0D, 0[paste][/paste]0D); } } public int getBlockTextureFromSide(int i) { if(i == 1) { return mod_Pe4ka[paste][/paste]pe4katop; } if(i == 0) { return mod_Pe4ka[paste][/paste]pe4katop; } if(i == 3) { return mod_Pe4ka[paste][/paste]pe4kaidle; } else { return blockIndexInTexture; } } public boolean blockActivated(World world, int i, int j, int k, EntityPlayer entityplayer) { if(world[paste][/paste]multiplayerWorld) { return true; } else { TileEntityPe4ka tileentitype4ka = (TileEntityPe4ka)world[paste][/paste]getBlockTileEntity(i, j, k); ModLoader[paste][/paste]OpenGUI(entityplayer, new GuiPe4ka(entityplayer[paste][/paste]inventory, tileentitype4ka)); return true; } } public static void updatePe4kaBlockState(boolean flag, World world, int i, int j, int k) { int l = world[paste][/paste]getBlockMetadata(i, j, k); TileEntity tileentity = world[paste][/paste]getBlockTileEntity(i, j, k); keepPe4kaInventory = true; if(flag) { world[paste][/paste]setBlockWithNotify(i, j, k, mod_Pe4ka[paste][/paste]Pe4kaActive[paste][/paste]blockID); } else { world[paste][/paste]setBlockWithNotify(i, j, k, mod_Pe4ka[paste][/paste]Pe4kaIdle[paste][/paste]blockID); } keepPe4kaInventory = false; world[paste][/paste]setBlockMetadataWithNotify(i, j, k, l); if(tileentity != null) { tileentity[paste][/paste]validate(); world[paste][/paste]setBlockTileEntity(i, j, k, tileentity); } } public TileEntity getBlockEntity() { return new TileEntityPe4ka(); } public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving) { int l = MathHelper[paste][/paste]floor_double((double)((entityliving[paste][/paste]rotationYaw * 4F) / 360F) + 0[paste][/paste]5D) & 3; if(l == 0) { world[paste][/paste]setBlockMetadataWithNotify(i, j, k, 2); } if(l == 1) { world[paste][/paste]setBlockMetadataWithNotify(i, j, k, 5); } if(l == 2) { world[paste][/paste]setBlockMetadataWithNotify(i, j, k, 3); } if(l == 3) { world[paste][/paste]setBlockMetadataWithNotify(i, j, k, 4); } } public void onBlockRemoval(World world, int i, int j, int k) { if(!keepPe4kaInventory) { TileEntityPe4ka tileentitype4ka = (TileEntityPe4ka)world[paste][/paste]getBlockTileEntity(i, j, k);label0: for(int l = 0; l < tileentitype4ka[paste][/paste]getSizeInventory(); l++) { ItemStack itemstack = tileentitype4ka[paste][/paste]getStackInSlot(l); if(itemstack == null) { continue; } float f = pe4kaRand[paste][/paste]nextFloat() * 0[paste][/paste]8F + 0[paste][/paste]1F; float f1 = pe4kaRand[paste][/paste]nextFloat() * 0[paste][/paste]8F + 0[paste][/paste]1F; float f2 = pe4kaRand[paste][/paste]nextFloat() * 0[paste][/paste]8F + 0[paste][/paste]1F; do { if(itemstack[paste][/paste]stackSize <= 0) { continue label0; } int i1 = pe4kaRand[paste][/paste]nextInt(21) + 10; if(i1 > itemstack[paste][/paste]stackSize) { i1 = itemstack[paste][/paste]stackSize; } itemstack[paste][/paste]stackSize -= i1; EntityItem entityitem = new EntityItem(world, (float)i + f, (float)j + f1, (float)k + f2, new ItemStack(itemstack[paste][/paste]itemID, i1, itemstack[paste][/paste]getItemDamage())); float f3 = 0[paste][/paste]05F; entityitem[paste][/paste]motionX = (float)pe4kaRand[paste][/paste]nextGaussian() * f3; entityitem[paste][/paste]motionY = (float)pe4kaRand[paste][/paste]nextGaussian() * f3 + 0[paste][/paste]2F; entityitem[paste][/paste]motionZ = (float)pe4kaRand[paste][/paste]nextGaussian() * f3; world[paste][/paste]entityJoinedWorld(entityitem); } while(true); } } super[paste][/paste]onBlockRemoval(world, i, j, k); }}Containerpackage net[paste][/paste]minecraft[paste][/paste]src;import java[paste][/paste]util[paste][/paste]List;// Referenced classes of package net[paste][/paste]minecraft[paste][/paste]src:// Container, Slot, SlotPe4ka, InventoryPlayer, // ICrafting, TileEntityPe4ka, ItemStack, EntityPlayerpublic class ContainerPe4ka extends Container{ private TileEntityPe4ka pe4ka; private int lastCookTime; private int lastBurnTime; private int lastItemBurnTime; public ContainerPe4ka(InventoryPlayer inventoryplayer, TileEntityPe4ka tileentitype4ka) { lastCookTime = 0; lastBurnTime = 0; lastItemBurnTime = 0; pe4ka = tileentitype4ka; addSlot(new Slot(tileentitype4ka, 0, 56, 17)); addSlot(new Slot(tileentitype4ka, 1, 56, 53)); addSlot(new SlotFurnace(inventoryplayer[paste][/paste]player, tileentitype4ka, 2, 116, 35)); for(int i = 0; i < 3; i++) { for(int k = 0; k < 9; k++) { addSlot(new Slot(inventoryplayer, k + i * 9 + 9, 8 + k * 18, 84 + i * 18)); } } for(int j = 0; j < 9; j++) { addSlot(new Slot(inventoryplayer, j, 8 + j * 18, 142)); } } public void updateCraftingResults() { super[paste][/paste]updateCraftingResults(); for(int i = 0; i < crafters[paste][/paste]size(); i++) { ICrafting icrafting = (ICrafting)crafters[paste][/paste]get(i); if(lastCookTime != pe4ka[paste][/paste]pe4kaCookTime) { icrafting[paste][/paste]updateCraftingInventoryInfo(this, 0, pe4ka[paste][/paste]pe4kaCookTime); } if(lastBurnTime != pe4ka[paste][/paste]pe4kaBurnTime) { icrafting[paste][/paste]updateCraftingInventoryInfo(this, 1, pe4ka[paste][/paste]pe4kaBurnTime); } if(lastItemBurnTime != pe4ka[paste][/paste]currentItemBurnTime) { icrafting[paste][/paste]updateCraftingInventoryInfo(this, 2, pe4ka[paste][/paste]currentItemBurnTime); } } lastCookTime = pe4ka[paste][/paste]pe4kaCookTime; lastBurnTime = pe4ka[paste][/paste]pe4kaBurnTime; lastItemBurnTime = pe4ka[paste][/paste]currentItemBurnTime; } public void updateProgressBar(int i, int j) { if(i == 0) { pe4ka[paste][/paste]pe4kaCookTime = j; } if(i == 1) { pe4ka[paste][/paste]pe4kaBurnTime = j; } if(i == 2) { pe4ka[paste][/paste]currentItemBurnTime = j; } } public boolean canInteractWith(EntityPlayer entityplayer) { return pe4ka[paste][/paste]isUseableByPlayer(entityplayer); } public ItemStack transferStackInSlot(int i) { ItemStack itemstack = null; Slot slot = (Slot)inventorySlots[paste][/paste]get(i); if(slot != null && slot[paste][/paste]getHasStack()) { ItemStack itemstack1 = slot[paste][/paste]getStack(); itemstack = itemstack1[paste][/paste]copy(); if(i == 2) { if(!mergeItemStack(itemstack1, 3, 39, true)) { return null; } } else if(i >= 3 && i < 30) { if(!mergeItemStack(itemstack1, 30, 39, false)) { return null; } } else if(i >= 30 && i < 39) { if(!mergeItemStack(itemstack1, 3, 30, false)) { return null; } } else if(!mergeItemStack(itemstack1, 3, 39, false)) { return null; } if(itemstack1[paste][/paste]stackSize == 0) { slot[paste][/paste]putStack(null); } else { slot[paste][/paste]onSlotChanged(); } if(itemstack1[paste][/paste]stackSize != itemstack[paste][/paste]stackSize) { slot[paste][/paste]onPickupFromSlot(itemstack1); } else { return null; } } return itemstack; }}Guipackage net[paste][/paste]minecraft[paste][/paste]src;import net[paste][/paste]minecraft[paste][/paste]client[paste][/paste]Minecraft;import org[paste][/paste]lwjgl[paste][/paste]opengl[paste][/paste]GL11;// Referenced classes of package net[paste][/paste]minecraft[paste][/paste]src:// GuiContainer, ContainerFurnace, FontRenderer, RenderEngine, // TileEntityFurnace, InventoryPlayerpublic class GuiPe4ka extends GuiContainer{ private TileEntityPe4ka pe4kaInventory; public GuiPe4ka(InventoryPlayer inventoryplayer, TileEntityPe4ka tileentitype4ka) { super(new ContainerPe4ka(inventoryplayer, tileentitype4ka)); pe4kaInventory = tileentitype4ka; } protected void drawGuiContainerForegroundLayer() { fontRenderer[paste][/paste]drawString("Печка", 60, 6, 0x404040); fontRenderer[paste][/paste]drawString("Инвентарь", 8, (ySize - 96) + 2, 0x404040); } protected void drawGuiContainerBackgroundLayer(float f, int i, int j) { int k = mc[paste][/paste]renderEngine[paste][/paste]getTexture("/texturki/Pe4kaGui[paste][/paste]png"); GL11[paste][/paste]glColor4f(1[paste][/paste]0F, 1[paste][/paste]0F, 1[paste][/paste]0F, 1[paste][/paste]0F); mc[paste][/paste]renderEngine[paste][/paste]bindTexture(k); int l = (width - xSize) / 2; int i1 = (height - ySize) / 2; drawTexturedModalRect(l, i1, 0, 0, xSize, ySize); if(pe4kaInventory[paste][/paste]isBurning()) { int j1 = pe4kaInventory[paste][/paste]getBurnTimeRemainingScaled(12); drawTexturedModalRect(l + 56, (i1 + 36 + 12) - j1, 176, 12 - j1, 14, j1 + 2); } int k1 = pe4kaInventory[paste][/paste]getCookProgressScaled(24); drawTexturedModalRect(l + 79, i1 + 34, 176, 14, k1 + 1, 16); }}TileEntitypackage net[paste][/paste]minecraft[paste][/paste]src;// Referenced classes of package net[paste][/paste]minecraft[paste][/paste]src:// TileEntity, IInventory, ItemStack, NBTTagCompound, // NBTTagList, World, Item, BlockFurnace, // FurnaceRecipes, Block, Material, ModLoader, // EntityPlayerpublic class TileEntityPe4ka extends TileEntity implements IInventory{ private ItemStack pe4kaItemStacks[]; public int pe4kaBurnTime; public int currentItemBurnTime; public int pe4kaCookTime; public TileEntityPe4ka() { pe4kaItemStacks = new ItemStack[3]; pe4kaBurnTime = 0; currentItemBurnTime = 0; pe4kaCookTime = 0; } public int getSizeInventory() { return pe4kaItemStacks[paste][/paste]length; } public ItemStack getStackInSlot(int i) { return pe4kaItemStacks[i]; } public ItemStack decrStackSize(int i, int j) { if(pe4kaItemStacks[i] != null) { if(pe4kaItemStacks[i][paste][/paste]stackSize <= j) { ItemStack itemstack = pe4kaItemStacks[i]; pe4kaItemStacks[i] = null; return itemstack; } ItemStack itemstack1 = pe4kaItemStacks[i][paste][/paste]splitStack(j); if(pe4kaItemStacks[i][paste][/paste]stackSize == 0) { pe4kaItemStacks[i] = null; } return itemstack1; } else { return null; } } public void setInventorySlotContents(int i, ItemStack itemstack) { pe4kaItemStacks[i] = itemstack; if(itemstack != null && itemstack[paste][/paste]stackSize > getInventoryStackLimit()) { itemstack[paste][/paste]stackSize = getInventoryStackLimit(); } } public String getInvName() { return "Водородная Печка"; } public void readFromNBT(NBTTagCompound nbttagcompound) { super[paste][/paste]readFromNBT(nbttagcompound); NBTTagList nbttaglist = nbttagcompound[paste][/paste]getTagList("Items"); pe4kaItemStacks = new ItemStack[getSizeInventory()]; for(int i = 0; i < nbttaglist[paste][/paste]tagCount(); i++) { NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist[paste][/paste]tagAt(i); byte byte0 = nbttagcompound1[paste][/paste]getByte("Slot"); if(byte0 >= 0 && byte0 < pe4kaItemStacks[paste][/paste]length) { pe4kaItemStacks[byte0] = ItemStack[paste][/paste]loadItemStackFromNBT(nbttagcompound1); } } pe4kaBurnTime = nbttagcompound[paste][/paste]getShort("BurnTime"); pe4kaCookTime = nbttagcompound[paste][/paste]getShort("CookTime"); currentItemBurnTime = getItemBurnTime(pe4kaItemStacks[1]); } public void writeToNBT(NBTTagCompound nbttagcompound) { super[paste][/paste]writeToNBT(nbttagcompound); nbttagcompound[paste][/paste]setShort("BurnTime", (short)pe4kaBurnTime); nbttagcompound[paste][/paste]setShort("CookTime", (short)pe4kaCookTime); NBTTagList nbttaglist = new NBTTagList(); for(int i = 0; i < pe4kaItemStacks[paste][/paste]length; i++) { if(pe4kaItemStacks[i] != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound1[paste][/paste]setByte("Slot", (byte)i); pe4kaItemStacks[i][paste][/paste]writeToNBT(nbttagcompound1); nbttaglist[paste][/paste]setTag(nbttagcompound1); } } nbttagcompound[paste][/paste]setTag("Items", nbttaglist); } public int getInventoryStackLimit() { return 64; } public int getCookProgressScaled(int i) { return (pe4kaCookTime * i) / 30; } public int getBurnTimeRemainingScaled(int i) { if(currentItemBurnTime == 0) { currentItemBurnTime = 30; } return (pe4kaBurnTime * i) / currentItemBurnTime; } public boolean isBurning() { return pe4kaBurnTime > 0; } public void updateEntity() { boolean flag = pe4kaBurnTime > 0; boolean flag1 = false; if(pe4kaBurnTime > 0) { pe4kaBurnTime--; } if(!worldObj[paste][/paste]multiplayerWorld) { if(pe4kaBurnTime == 0 && canSmelt()) { currentItemBurnTime = pe4kaBurnTime = getItemBurnTime(pe4kaItemStacks[1]); if(pe4kaBurnTime > 0) { flag1 = true; if(pe4kaItemStacks[1] != null) { if(pe4kaItemStacks[1][paste][/paste]getItem()[paste][/paste]hasContainerItem()) { pe4kaItemStacks[1] = new ItemStack(pe4kaItemStacks[1][paste][/paste]getItem()[paste][/paste]getContainerItem()); } else { pe4kaItemStacks[1][paste][/paste]stackSize--; } if(pe4kaItemStacks[1][paste][/paste]stackSize == 0) { pe4kaItemStacks[1] = null; } } } } if(isBurning() && canSmelt()) { pe4kaCookTime++; if(pe4kaCookTime == 30) { pe4kaCookTime = 0; smeltItem(); flag1 = true; } } else { pe4kaCookTime = 0; } if(flag != (pe4kaBurnTime > 0)) { flag1 = true; BlockPe4ka[paste][/paste]updatePe4kaBlockState(pe4kaBurnTime > 0, worldObj, xCoord, yCoord, zCoord); } } if(flag1) { onInventoryChanged(); } } private boolean canSmelt() { if(pe4kaItemStacks[0] == null) { return false; } ItemStack itemstack = Pe4kaRecipes[paste][/paste]smelting()[paste][/paste]getSmeltingResult(pe4kaItemStacks[0][paste][/paste]getItem()[paste][/paste]shiftedIndex); if(itemstack == null) { return false; } if(pe4kaItemStacks[2] == null) { return true; } if(!pe4kaItemStacks[2][paste][/paste]isItemEqual(itemstack)) { return false; } if(pe4kaItemStacks[2][paste][/paste]stackSize < getInventoryStackLimit() && pe4kaItemStacks[2][paste][/paste]stackSize < pe4kaItemStacks[2][paste][/paste]getMaxStackSize()) { return true; } return pe4kaItemStacks[2][paste][/paste]stackSize < itemstack[paste][/paste]getMaxStackSize(); } public void smeltItem() { if(!canSmelt()) { return; } ItemStack itemstack = Pe4kaRecipes[paste][/paste]smelting()[paste][/paste]getSmeltingResult(pe4kaItemStacks[0][paste][/paste]getItem()[paste][/paste]shiftedIndex); if(pe4kaItemStacks[2] == null) { pe4kaItemStacks[2] = itemstack[paste][/paste]copy(); } else if(pe4kaItemStacks[2][paste][/paste]itemID == itemstack[paste][/paste]itemID) { pe4kaItemStacks[2][paste][/paste]stackSize++; } if(pe4kaItemStacks[0][paste][/paste]getItem()[paste][/paste]hasContainerItem()) { pe4kaItemStacks[0] = new ItemStack(pe4kaItemStacks[0][paste][/paste]getItem()[paste][/paste]getContainerItem()); } else { pe4kaItemStacks[0][paste][/paste]stackSize--; } if(pe4kaItemStacks[0][paste][/paste]stackSize <= 0) { pe4kaItemStacks[0] = null; } } private int getItemBurnTime(ItemStack itemstack) { if(itemstack == null) { return 0; } int i = itemstack[paste][/paste]getItem()[paste][/paste]shiftedIndex; if(i == mod_Vodorod[paste][/paste]BalonVodorodaItem[paste][/paste]shiftedIndex) { return 3200; } else { return 0; } } public boolean isUseableByPlayer(EntityPlayer entityplayer) { if(worldObj[paste][/paste]getBlockTileEntity(xCoord, yCoord, zCoord) != this) { return false; } return entityplayer[paste][/paste]getDistanceSq((double)xCoord + 0[paste][/paste]5D, (double)yCoord + 0[paste][/paste]5D, (double)zCoord + 0[paste][/paste]5D) <= 64D; } public void openChest() { } public void closeChest() { }}Recipespackage net[paste][/paste]minecraft[paste][/paste]src;import java[paste][/paste]util[paste][/paste]HashMap;import java[paste][/paste]util[paste][/paste]Map;// Referenced classes of package net[paste][/paste]minecraft[paste][/paste]src:// Block, ItemStack, Item, mod_Pe4kapublic class Pe4kaRecipes{ public static final Pe4kaRecipes smelting() { return smeltingBase; } private Pe4kaRecipes() { smeltingList = new HashMap(); addSmelting(mod_Vodorod[paste][/paste]Alumin[paste][/paste]blockID, new ItemStack(mod_Vodorod[paste][/paste]AluminijItem)); addSmelting(Block[paste][/paste]oreIron[paste][/paste]blockID, new ItemStack(Item[paste][/paste]ingotIron)); addSmelting(Block[paste][/paste]oreGold[paste][/paste]blockID, new ItemStack(Item[paste][/paste]ingotGold)); addSmelting(Block[paste][/paste]oreDiamond[paste][/paste]blockID, new ItemStack(Item[paste][/paste]diamond)); addSmelting(Block[paste][/paste]sand[paste][/paste]blockID, new ItemStack(Block[paste][/paste]glass)); addSmelting(Item[paste][/paste]porkRaw[paste][/paste]shiftedIndex, new ItemStack(Item[paste][/paste]porkCooked)); addSmelting(Item[paste][/paste]beefRaw[paste][/paste]shiftedIndex, new ItemStack(Item[paste][/paste]beefCooked)); addSmelting(Item[paste][/paste]chickenRaw[paste][/paste]shiftedIndex, new ItemStack(Item[paste][/paste]chickenCooked)); addSmelting(Item[paste][/paste]fishRaw[paste][/paste]shiftedIndex, new ItemStack(Item[paste][/paste]fishCooked)); addSmelting(Block[paste][/paste]cobblestone[paste][/paste]blockID, new ItemStack(Block[paste][/paste]stone)); addSmelting(Item[paste][/paste]clay[paste][/paste]shiftedIndex, new ItemStack(Item[paste][/paste]brick)); addSmelting(Block[paste][/paste]cactus[paste][/paste]blockID, new ItemStack(Item[paste][/paste]dyePowder, 1, 2)); addSmelting(Block[paste][/paste]wood[paste][/paste]blockID, new ItemStack(Item[paste][/paste]coal, 1, 1)); addSmelting(Block[paste][/paste]oreCoal[paste][/paste]blockID, new ItemStack(Item[paste][/paste]coal)); addSmelting(Block[paste][/paste]oreRedstone[paste][/paste]blockID, new ItemStack(Item[paste][/paste]redstone)); addSmelting(Block[paste][/paste]oreLapis[paste][/paste]blockID, new ItemStack(Item[paste][/paste]dyePowder, 1, 4)); } public void addSmelting(int i, ItemStack itemstack) { smeltingList[paste][/paste]put(Integer[paste][/paste]valueOf(i), itemstack); } public ItemStack getSmeltingResult(int i) { return (ItemStack)smeltingList[paste][/paste]get(Integer[paste][/paste]valueOf(i)); } public Map getSmeltingList() { return smeltingList; } private static final Pe4kaRecipes smeltingBase = new Pe4kaRecipes(); private Map smeltingList;}mod_namepackage net[paste][/paste]minecraft[paste][/paste]src;import java[paste][/paste]io[paste][/paste]*;import java[paste][/paste]net[paste][/paste]*;import java[paste][/paste]util[paste][/paste]*;import net[paste][/paste]minecraft[paste][/paste]client[paste][/paste]Minecraft;public class mod_Pe4ka extends BaseMod{public mod_Pe4ka(){Pe4kaIdle = (new BlockPe4ka(253, false))[paste][/paste]setHardness(3F)[paste][/paste]setResistance(2000F)[paste][/paste]setLightValue(0[paste][/paste]0F)[paste][/paste]setBlockName("Pe4kaIdle");Pe4kaActive = (new BlockPe4ka(252, true))[paste][/paste]setHardness(3F)[paste][/paste]setResistance(2000F)[paste][/paste]setLightValue(1[paste][/paste]0F)[paste][/paste]setBlockName("Pe4kaActive");//Registering blocksModLoader[paste][/paste]RegisterBlock(Pe4kaIdle);ModLoader[paste][/paste]RegisterBlock(Pe4kaActive);//Registering enetiesModLoader[paste][/paste]RegisterTileEntity(net[paste][/paste]minecraft[paste][/paste]src[paste][/paste]TileEntityPe4ka[paste][/paste]class, "Pe4ka");//Adding namesModLoader[paste][/paste]AddName(Pe4kaIdle, "Водородная Печка");ModLoader[paste][/paste]AddName(Pe4kaActive, "Активированая Водородная Печка");//Adding RecipesModLoader[paste][/paste]AddRecipe(new ItemStack(Pe4kaIdle, 1), new Object[]{ "XZX", "Z Z", "XZX", Character[paste][/paste]valueOf('Z'), Block[paste][/paste]obsidian, Character[paste][/paste]valueOf('X'), Block[paste][/paste]blockSteel});}//Blockspublic static Block Pe4kaIdle;public static Block Pe4kaActive;//Declare intpublic static int pe4kaidle = ModLoader[paste][/paste]addOverride("/terrain[paste][/paste]png", "/texturki/Pe4ka_Idle[paste][/paste]png");public static int pe4kaactive = ModLoader[paste][/paste]addOverride("/terrain[paste][/paste]png", "/texturki/Pe4ka_Aktive[paste][/paste]png");public static int pe4kaside = ModLoader[paste][/paste]addOverride("/terrain[paste][/paste]png", "/texturki/Pe4ka_Side[paste][/paste]png");public static int pe4katop = ModLoader[paste][/paste]addOverride("/terrain[paste][/paste]png", "/texturki/Pe4ka_Top[paste][/paste]png");//Other stuffpublic String getVersion() { return "1[paste][/paste]0[paste][/paste]0"; }public void load() { }}