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 | |
| 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')
4 files changed, 180 insertions, 0 deletions
diff --git a/common/darkknight/jewelrycraft/block/BlockBase.java b/common/darkknight/jewelrycraft/block/BlockBase.java new file mode 100644 index 0000000..0378fb5 --- /dev/null +++ b/common/darkknight/jewelrycraft/block/BlockBase.java @@ -0,0 +1,19 @@ +package darkknight.jewelrycraft.block; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BlockBase extends Block +{ + public BlockBase(int par1, Material mat) + { + super(par1, mat); + } + + @Override + public Block setUnlocalizedName(String name) + { + Block r = super.setUnlocalizedName(name); + return r.setTextureName(name.replaceAll("\\.", ":")); + } +} diff --git a/common/darkknight/jewelrycraft/block/BlockList.java b/common/darkknight/jewelrycraft/block/BlockList.java new file mode 100644 index 0000000..e29287d --- /dev/null +++ b/common/darkknight/jewelrycraft/block/BlockList.java @@ -0,0 +1,40 @@ +package darkknight.jewelrycraft.block; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import cpw.mods.fml.client.registry.ClientRegistry; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.registry.GameRegistry; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.renders.TileEntitySmelterRender; +import darkknight.jewelrycraft.tileentity.TileEntitySmelter; + +public class BlockList +{ + public static Block shadowOre; + public static Block smelter; + public static Block molder; + public static Block jewelCraftingTable; + + private static boolean isInitialized = false; + + public static void preInit(FMLPreInitializationEvent e) + { + if (!isInitialized) + { + shadowOre = new BlockBase(ConfigHandler.idShadowOre, Material.rock).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("jewelrycraft.oreShadow").setCreativeTab(JewelrycraftMod.jewelrycraft); + smelter = new BlockSmelter(ConfigHandler.idSmelter, Material.iron).setHardness(5.0F).setResistance(6.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("jewelrycraft.smelter").setCreativeTab(JewelrycraftMod.jewelrycraft); + molder = new BlockMolder(ConfigHandler.idMolder, Material.iron).setHardness(5.0F).setResistance(6.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("jewelrycraft.molder").setCreativeTab(JewelrycraftMod.jewelrycraft); + jewelCraftingTable = new BlockBase(ConfigHandler.idJewelCraftingTable, Material.rock).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("jewelrycraft.jewelCraftingTable").setCreativeTab(JewelrycraftMod.jewelrycraft); + + GameRegistry.registerBlock(shadowOre, "shadowOre"); + GameRegistry.registerBlock(smelter, "Smelter"); + GameRegistry.registerBlock(molder, "Molder"); + GameRegistry.registerBlock(jewelCraftingTable, "jewelCraftingTable"); + + GameRegistry.registerTileEntity(TileEntitySmelter.class, "30"); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySmelter.class, new TileEntitySmelterRender()); + } + } +} diff --git a/common/darkknight/jewelrycraft/block/BlockMolder.java b/common/darkknight/jewelrycraft/block/BlockMolder.java new file mode 100644 index 0000000..05b7b0a --- /dev/null +++ b/common/darkknight/jewelrycraft/block/BlockMolder.java @@ -0,0 +1,27 @@ +package darkknight.jewelrycraft.block; + +import darkknight.jewelrycraft.tileentity.TileEntityMolder; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class BlockMolder extends BlockContainer +{ + protected BlockMolder(int par1, Material par2Material) + { + super(par1, par2Material); + } + + @Override + public TileEntity createNewTileEntity(World world) + { + return new TileEntityMolder(); + } + + @Override + public boolean renderAsNormalBlock() + { + return false; + } +} 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"); + } + +} |
