diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2013-12-15 16:52:41 +0200 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2013-12-15 16:52:41 +0200 |
| commit | 06415dc21d71e8ac363dae5c56c5317971f7aede (patch) | |
| tree | 7ddbe2cc709a5a39c3fe8b8a80d7ac77f336a220 /common/darkknight/jewelrycraft/block/BlockSmelter.java | |
| parent | 9342967bd8a6a9451591325c7c5deb5416819adc (diff) | |
| parent | 943f1a493b27c630e95730b385e6524643d98564 (diff) | |
Merge branch 'master' of https://github.com/sor1n/Modjam-Mod
As well as added the smelter and working on the molder
Diffstat (limited to 'common/darkknight/jewelrycraft/block/BlockSmelter.java')
| -rw-r--r-- | common/darkknight/jewelrycraft/block/BlockSmelter.java | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/common/darkknight/jewelrycraft/block/BlockSmelter.java b/common/darkknight/jewelrycraft/block/BlockSmelter.java new file mode 100644 index 0000000..eb22b63 --- /dev/null +++ b/common/darkknight/jewelrycraft/block/BlockSmelter.java @@ -0,0 +1,94 @@ +package darkknight.jewelrycraft.block; + +import darkknight.jewelrycraft.tileentity.TileEntitySmelter; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockSmelter extends BlockContainer +{ + protected BlockSmelter(int par1, Material par2Material) + { + super(par1, par2Material); + } + + @Override + public TileEntity createNewTileEntity(World world) + { + return new TileEntitySmelter(); + } + + @Override + public boolean renderAsNormalBlock() + { + return false; + } + + @Override + public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) + { + TileEntitySmelter te = (TileEntitySmelter) world.getBlockTileEntity(i, j, k); + ItemStack item = entityPlayer.inventory.getCurrentItem(); + if (te != null && !world.isRemote) + { + if (!te.hasMetal && !te.hasMoltenMetal && item != null && item.getDisplayName().contains("Ingot")) + { + te.metalID = item.getItem().itemID; + te.metal = item; + te.hasMetal = true; + te.melting = 200000; + --item.stackSize; + } + else if (te.hasMetal && !te.hasMoltenMetal && item != null && item.getDisplayName().contains("Ingot")) + entityPlayer.addChatMessage("The Smelter already contains a " + new ItemStack(te.metalID, 1, 0).getDisplayName()); + else if (te.hasMoltenMetal) + entityPlayer.addChatMessage("The Smelter contains molten " + new ItemStack(te.moltenMetalID, 1, 0).getDisplayName().toLowerCase().replace("ingot", "")); + else if (item != null && !item.getDisplayName().contains("Ingot")) + entityPlayer.addChatMessage("The item needs to be an ingot!"); + + if (te.hasMetal && entityPlayer.isSneaking()) + { + entityPlayer.dropPlayerItem(new ItemStack(te.metalID, 1, 0)); + te.hasMetal = false; + } + world.setBlockTileEntity(i, j, k, te); + } + return true; + } + + public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) + { + int rotation = MathHelper.floor_double((double)(entityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + world.setBlockMetadataWithNotify(i, j, k, rotation, 2); + System.out.println(world.getBlockMetadata(i, j, k)); + } + + public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) + { + return false; + } + + public boolean isOpaqueCube() + { + return false; + } + + @Override + public int getRenderType() + { + return -1; + } + + public void registerIcons(IconRegister icon) + { + this.blockIcon = icon.registerIcon("jewelrycraft:smelter"); + } + +} |
