From 82f70a31ea3845242f464e53d7844c8260d1ff1f Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Sat, 14 Dec 2013 23:00:39 +0200 Subject: Added the smelter, molder and jewelCraftingTable as well as added some textures :) --- .../briefcasespeakers/BriefcaseSpeakersMod.java | 4 ++ .../bspkrs/briefcasespeakers/block/BlockList.java | 18 ++++++++- .../briefcasespeakers/block/BlockMolder.java | 27 +++++++++++++ .../briefcasespeakers/block/BlockSmelter.java | 46 ++++++++++++++++++++++ .../briefcasespeakers/config/ConfigHandler.java | 6 +++ common/bspkrs/briefcasespeakers/item/ItemList.java | 10 ++--- .../briefcasespeakers/item/ItemThiefGloves.java | 8 +++- .../tileentity/TileEntityMolder.java | 8 ++++ .../tileentity/TileEntitySmelter.java | 43 ++++++++++++++++++++ 9 files changed, 162 insertions(+), 8 deletions(-) create mode 100644 common/bspkrs/briefcasespeakers/block/BlockMolder.java create mode 100644 common/bspkrs/briefcasespeakers/block/BlockSmelter.java create mode 100644 common/bspkrs/briefcasespeakers/tileentity/TileEntityMolder.java create mode 100644 common/bspkrs/briefcasespeakers/tileentity/TileEntitySmelter.java (limited to 'common') diff --git a/common/bspkrs/briefcasespeakers/BriefcaseSpeakersMod.java b/common/bspkrs/briefcasespeakers/BriefcaseSpeakersMod.java index 758e371..b7e2bbc 100644 --- a/common/bspkrs/briefcasespeakers/BriefcaseSpeakersMod.java +++ b/common/bspkrs/briefcasespeakers/BriefcaseSpeakersMod.java @@ -1,5 +1,7 @@ package bspkrs.briefcasespeakers; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.ItemStack; import net.minecraft.network.INetworkManager; import net.minecraft.network.NetLoginHandler; import net.minecraft.network.packet.NetHandler; @@ -42,6 +44,8 @@ public class BriefcaseSpeakersMod implements IConnectionHandler @SidedProxy(clientSide = "bspkrs.briefcasespeakers.client.ClientProxy", serverSide = "bspkrs.briefcasespeakers.CommonProxy") public static CommonProxy proxy; + public static CreativeTabs shadowspkrs = new CreativeTabs("shadowspkrs") {public ItemStack getIconItemStack() {return new ItemStack(ItemList.shadowIngot, 1, 0);}}; + @EventHandler public void preInit(FMLPreInitializationEvent e) { diff --git a/common/bspkrs/briefcasespeakers/block/BlockList.java b/common/bspkrs/briefcasespeakers/block/BlockList.java index c340da6..207a789 100644 --- a/common/bspkrs/briefcasespeakers/block/BlockList.java +++ b/common/bspkrs/briefcasespeakers/block/BlockList.java @@ -1,13 +1,19 @@ package bspkrs.briefcasespeakers.block; +import bspkrs.briefcasespeakers.BriefcaseSpeakersMod; import bspkrs.briefcasespeakers.config.ConfigHandler; +import bspkrs.briefcasespeakers.tileentity.TileEntitySmelter; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.registry.GameRegistry; public class BlockList { public static Block shadowOre; + public static Block smelter; + public static Block molder; + public static Block jewelCraftingTable; private static boolean isInitialized = false; @@ -15,7 +21,17 @@ public class BlockList { if (!isInitialized) { - shadowOre = new Block(ConfigHandler.idShadowOre, Material.rock).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("briefcasespeakers.oreShadow").setTextureName("briefcasespeakers:shadowOre"); + shadowOre = new Block(ConfigHandler.idShadowOre, Material.rock).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("briefcasespeakers.oreShadow").setTextureName("shadowOre").setCreativeTab(BriefcaseSpeakersMod.shadowspkrs); + smelter = new Block(ConfigHandler.idSmelter, Material.iron).setHardness(5.0F).setResistance(6.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("briefcasespeakers.smelter").setTextureName("smelter").setCreativeTab(BriefcaseSpeakersMod.shadowspkrs); + molder = new Block(ConfigHandler.idMolder, Material.iron).setHardness(5.0F).setResistance(6.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("briefcasespeakers.molder").setTextureName("moldder").setCreativeTab(BriefcaseSpeakersMod.shadowspkrs); + jewelCraftingTable = new Block(ConfigHandler.idJewelCraftingTable, Material.rock).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("briefcasespeakers.jewelCraftingTable").setTextureName("jewelCraftingTable").setCreativeTab(BriefcaseSpeakersMod.shadowspkrs); + + GameRegistry.registerBlock(shadowOre, "shadowOre"); + GameRegistry.registerBlock(smelter, "Smelter"); + GameRegistry.registerBlock(molder, "Molder"); + GameRegistry.registerBlock(jewelCraftingTable, "jewelCraftingTable"); + + GameRegistry.registerTileEntity(TileEntitySmelter.class, "30"); } } } diff --git a/common/bspkrs/briefcasespeakers/block/BlockMolder.java b/common/bspkrs/briefcasespeakers/block/BlockMolder.java new file mode 100644 index 0000000..a4e4337 --- /dev/null +++ b/common/bspkrs/briefcasespeakers/block/BlockMolder.java @@ -0,0 +1,27 @@ +package bspkrs.briefcasespeakers.block; + +import bspkrs.briefcasespeakers.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/bspkrs/briefcasespeakers/block/BlockSmelter.java b/common/bspkrs/briefcasespeakers/block/BlockSmelter.java new file mode 100644 index 0000000..c1df82c --- /dev/null +++ b/common/bspkrs/briefcasespeakers/block/BlockSmelter.java @@ -0,0 +1,46 @@ +package bspkrs.briefcasespeakers.block; + +import bspkrs.briefcasespeakers.tileentity.TileEntitySmelter; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +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; + } + + 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) + { + if(!te.hasMetal) + { + te.metalID = item.getItem().itemID; + te.hasMetal = true; + } + if(te.hasMetal && entityPlayer.isSneaking()){ entityPlayer.dropItem(te.metalID, 1); te.hasMetal = false;} + world.setBlockTileEntity(i, j, k, te); + } + return true; + } +} diff --git a/common/bspkrs/briefcasespeakers/config/ConfigHandler.java b/common/bspkrs/briefcasespeakers/config/ConfigHandler.java index 6fc14db..41e2bf6 100644 --- a/common/bspkrs/briefcasespeakers/config/ConfigHandler.java +++ b/common/bspkrs/briefcasespeakers/config/ConfigHandler.java @@ -15,6 +15,9 @@ public class ConfigHandler public static int idBriefcaseSpeakers = 1749; public static int idShadowOre = 200; + public static int idSmelter = 201; + public static int idMolder = 202; + public static int idJewelCraftingTable= 203; private static boolean isInitialized = false; @@ -35,6 +38,9 @@ public class ConfigHandler idRemote = config.getItem("id.Remote", idRemote).getInt(); idShadowIngot = config.getItem("id.ShadowIngot", idShadowIngot).getInt(); idShadowOre = config.getBlock("id.ShadowOre", idShadowOre).getInt(); + idSmelter = config.getBlock("id.Smelter", idSmelter).getInt(); + idMolder = config.getBlock("id.Molder", idMolder).getInt(); + idJewelCraftingTable = config.getBlock("id.JewelCraftingTable", idJewelCraftingTable).getInt(); config.save(); diff --git a/common/bspkrs/briefcasespeakers/item/ItemList.java b/common/bspkrs/briefcasespeakers/item/ItemList.java index 66bd276..eb39976 100644 --- a/common/bspkrs/briefcasespeakers/item/ItemList.java +++ b/common/bspkrs/briefcasespeakers/item/ItemList.java @@ -1,7 +1,7 @@ package bspkrs.briefcasespeakers.item; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import bspkrs.briefcasespeakers.BriefcaseSpeakersMod; import bspkrs.briefcasespeakers.config.ConfigHandler; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @@ -19,10 +19,10 @@ public class ItemList { if (!isInitialized) { - thiefGloves = new ItemThiefGloves(ConfigHandler.idThiefGloves).setUnlocalizedName("briefcasespeakers.thiefGloves").setCreativeTab(CreativeTabs.tabCombat); - speaker = new ItemBase(ConfigHandler.idSpeaker).setUnlocalizedName("briefcasespeakers.speakers").setCreativeTab(CreativeTabs.tabMisc); - remote = new ItemRemote(ConfigHandler.idRemote).setUnlocalizedName("briefcasespeakers.remote").setCreativeTab(CreativeTabs.tabMisc); - shadowIngot = new ItemBase(ConfigHandler.idShadowIngot).setUnlocalizedName("briefcasespeakers.ingotShadow").setCreativeTab(CreativeTabs.tabMaterials); + thiefGloves = new ItemThiefGloves(ConfigHandler.idThiefGloves).setUnlocalizedName("briefcasespeakers.thiefGloves").setCreativeTab(BriefcaseSpeakersMod.shadowspkrs); + speaker = new ItemBase(ConfigHandler.idSpeaker).setUnlocalizedName("briefcasespeakers.speakers").setCreativeTab(BriefcaseSpeakersMod.shadowspkrs); + remote = new ItemRemote(ConfigHandler.idRemote).setUnlocalizedName("briefcasespeakers.remote").setCreativeTab(BriefcaseSpeakersMod.shadowspkrs); + shadowIngot = new ItemBase(ConfigHandler.idShadowIngot).setUnlocalizedName("briefcasespeakers.ingotShadow").setCreativeTab(BriefcaseSpeakersMod.shadowspkrs); } } diff --git a/common/bspkrs/briefcasespeakers/item/ItemThiefGloves.java b/common/bspkrs/briefcasespeakers/item/ItemThiefGloves.java index fbdb8ea..1ce4ad3 100644 --- a/common/bspkrs/briefcasespeakers/item/ItemThiefGloves.java +++ b/common/bspkrs/briefcasespeakers/item/ItemThiefGloves.java @@ -37,11 +37,15 @@ public class ItemThiefGloves extends ItemBase while(iterator.hasNext()) { MerchantRecipe recipe = (MerchantRecipe)iterator.next(); - ItemStack s = new ItemStack(recipe.getItemToSell().itemID, recipe.getItemToSell().stackSize * 7, recipe.getItemToSell().getItemDamage()); + int quantity; + String multiple; + if(recipe.getItemToSell().isStackable()){ quantity = recipe.getItemToSell().stackSize * 7; multiple = "s.";} + else {quantity = 1; multiple = ".";} + ItemStack s = new ItemStack(recipe.getItemToSell().itemID, quantity, recipe.getItemToSell().getItemDamage()); s.setTagCompound(recipe.getItemToSell().getTagCompound()); if(par2EntityPlayer.inventory.addItemStackToInventory(s)); else villager.entityDropItem(s, 0); - par2EntityPlayer.addChatMessage("Villager #" + villager.getProfession() + ": Hmmm... I seem to have lost my " + s.getDisplayName() + "s."); + par2EntityPlayer.addChatMessage("Villager #" + villager.getProfession() + ": Hmmm... I seem to have lost my " + s.getDisplayName() + multiple); } buyingList.clear(); ReflectionHelper.setPrivateValue(EntityVillager.class, villager, 300, "timeUntilReset", "field_70961_j"); diff --git a/common/bspkrs/briefcasespeakers/tileentity/TileEntityMolder.java b/common/bspkrs/briefcasespeakers/tileentity/TileEntityMolder.java new file mode 100644 index 0000000..73d89e5 --- /dev/null +++ b/common/bspkrs/briefcasespeakers/tileentity/TileEntityMolder.java @@ -0,0 +1,8 @@ +package bspkrs.briefcasespeakers.tileentity; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityMolder extends TileEntity +{ + +} diff --git a/common/bspkrs/briefcasespeakers/tileentity/TileEntitySmelter.java b/common/bspkrs/briefcasespeakers/tileentity/TileEntitySmelter.java new file mode 100644 index 0000000..c0ea071 --- /dev/null +++ b/common/bspkrs/briefcasespeakers/tileentity/TileEntitySmelter.java @@ -0,0 +1,43 @@ +package bspkrs.briefcasespeakers.tileentity; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; + +public class TileEntitySmelter extends TileEntity +{ + public int moltenMetalQ, metalID; + public boolean hasMetal, hasMoltenMetal; + + public TileEntitySmelter() + { + this.moltenMetalQ = 0; + this.metalID = 0; + this.hasMetal = false; + this.hasMoltenMetal= false; + } + + @Override + public void writeToNBT(NBTTagCompound par1) + { + super.writeToNBT(par1); + par1.setInteger("moltenMetalQ", moltenMetalQ); + par1.setInteger("metalID", metalID); + par1.setBoolean("hasMetal", hasMetal); + par1.setBoolean("hasMoltenMetal", hasMoltenMetal); + } + + @Override + public void readFromNBT(NBTTagCompound par1) + { + super.readFromNBT(par1); + this.moltenMetalQ = par1.getInteger("moltenMetalQ"); + this.metalID = par1.getInteger("metalID"); + this.hasMetal = par1.getBoolean("hasMetal"); + this.hasMoltenMetal = par1.getBoolean("hasMoltenMetal"); + } + + public void updateEntity() + { + super.updateEntity(); + } +} -- cgit v1.2.3