From ce816d8e07030b3e009d89a392bc57df6cd00c73 Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Sun, 15 Dec 2013 00:49:32 +0200 Subject: the smelter --- .../briefcasespeakers/block/BlockSmelter.java | 11 +++++++--- .../tileentity/TileEntitySmelter.java | 25 ++++++++++++++++++---- 2 files changed, 29 insertions(+), 7 deletions(-) (limited to 'common') diff --git a/common/bspkrs/briefcasespeakers/block/BlockSmelter.java b/common/bspkrs/briefcasespeakers/block/BlockSmelter.java index 3d81914..6ad80d5 100644 --- a/common/bspkrs/briefcasespeakers/block/BlockSmelter.java +++ b/common/bspkrs/briefcasespeakers/block/BlockSmelter.java @@ -32,17 +32,22 @@ public class BlockSmelter extends BlockContainer { TileEntitySmelter te = (TileEntitySmelter)world.getBlockTileEntity(i, j, k); ItemStack item = entityPlayer.inventory.getCurrentItem(); - if(te != null) + if(te != null && !world.isRemote) { - if(!te.hasMetal && item != null && item.getDisplayName().contains("Ingot")) + if(!te.hasMetal && !te.hasMoltenMetal && item != null && item.getDisplayName().contains("Ingot")) { te.metalID = item.getItem().itemID; 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 && item != null && item.getDisplayName().contains("Ingot")) 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.dropItem(te.metalID, 1); + entityPlayer.dropPlayerItem(new ItemStack(te.metalID, 1, 0)); te.hasMetal = false; } world.setBlockTileEntity(i, j, k, te); diff --git a/common/bspkrs/briefcasespeakers/tileentity/TileEntitySmelter.java b/common/bspkrs/briefcasespeakers/tileentity/TileEntitySmelter.java index c0ea071..e93f67e 100644 --- a/common/bspkrs/briefcasespeakers/tileentity/TileEntitySmelter.java +++ b/common/bspkrs/briefcasespeakers/tileentity/TileEntitySmelter.java @@ -5,13 +5,14 @@ import net.minecraft.tileentity.TileEntity; public class TileEntitySmelter extends TileEntity { - public int moltenMetalQ, metalID; + public int moltenMetalID, metalID, melting; public boolean hasMetal, hasMoltenMetal; public TileEntitySmelter() { - this.moltenMetalQ = 0; + this.moltenMetalID = 0; this.metalID = 0; + this.melting = 0; this.hasMetal = false; this.hasMoltenMetal= false; } @@ -20,8 +21,9 @@ public class TileEntitySmelter extends TileEntity public void writeToNBT(NBTTagCompound par1) { super.writeToNBT(par1); - par1.setInteger("moltenMetalQ", moltenMetalQ); + par1.setInteger("moltenMetalID", moltenMetalID); par1.setInteger("metalID", metalID); + par1.setInteger("melting", melting); par1.setBoolean("hasMetal", hasMetal); par1.setBoolean("hasMoltenMetal", hasMoltenMetal); } @@ -30,8 +32,9 @@ public class TileEntitySmelter extends TileEntity public void readFromNBT(NBTTagCompound par1) { super.readFromNBT(par1); - this.moltenMetalQ = par1.getInteger("moltenMetalQ"); + this.moltenMetalID = par1.getInteger("moltenMetalID"); this.metalID = par1.getInteger("metalID"); + this.melting = par1.getInteger("melting"); this.hasMetal = par1.getBoolean("hasMetal"); this.hasMoltenMetal = par1.getBoolean("hasMoltenMetal"); } @@ -39,5 +42,19 @@ public class TileEntitySmelter extends TileEntity public void updateEntity() { super.updateEntity(); + if(this.hasMetal) + { + while(melting > 0){ + this.melting--; + System.out.println(melting); + } + if(melting == 0) + { + this.hasMetal = false; + this.moltenMetalID = metalID; + this.metalID = 0; + this.hasMoltenMetal = true; + } + } } } -- cgit v1.2.3