diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2014-04-14 12:03:51 +0300 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2014-04-14 12:03:51 +0300 |
| commit | 4ea6a1052438ef1d8d42057d2a71755383166227 (patch) | |
| tree | 94def1bf66c59583d8e8aa7e3d1117a6f5b56b62 /eclipse/Jewelrycraft/common/darkknight/jewelrycraft/tileentity/TileEntityMolder.java | |
| parent | 1a692ab45df3d88a6cc247cc9f4c0a41c7715264 (diff) | |
More updating
Diffstat (limited to 'eclipse/Jewelrycraft/common/darkknight/jewelrycraft/tileentity/TileEntityMolder.java')
| -rw-r--r-- | eclipse/Jewelrycraft/common/darkknight/jewelrycraft/tileentity/TileEntityMolder.java | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/eclipse/Jewelrycraft/common/darkknight/jewelrycraft/tileentity/TileEntityMolder.java b/eclipse/Jewelrycraft/common/darkknight/jewelrycraft/tileentity/TileEntityMolder.java new file mode 100644 index 0000000..e37c2e4 --- /dev/null +++ b/eclipse/Jewelrycraft/common/darkknight/jewelrycraft/tileentity/TileEntityMolder.java @@ -0,0 +1,105 @@ +package darkknight.jewelrycraft.tileentity; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.util.JewelryNBT; + +public class TileEntityMolder extends TileEntity +{ + public int cooling; + public boolean hasMoltenMetal, hasJewelBase, hasMold, isDirty; + public ItemStack mold, jewelBase, moltenMetal, ringMetal; + + public TileEntityMolder() + { + this.moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); + this.jewelBase = new ItemStack(Item.getItemById(0), 0, 0); + this.mold = new ItemStack(Item.getItemById(0), 0, 0); + this.ringMetal = new ItemStack(Item.getItemById(0), 0, 0); + this.cooling = 0; + this.hasJewelBase = false; + this.hasMoltenMetal = false; + this.hasMold = false; + this.isDirty = false; + } + + @Override + public void writeToNBT(NBTTagCompound nbt) + { + super.writeToNBT(nbt); + nbt.setInteger("cooling", cooling); + nbt.setBoolean("hasJewelBase", hasJewelBase); + nbt.setBoolean("hasMoltenMetal", hasMoltenMetal); + nbt.setBoolean("hasMold", hasMold); + NBTTagCompound tag = new NBTTagCompound(); + NBTTagCompound tag1 = new NBTTagCompound(); + NBTTagCompound tag2 = new NBTTagCompound(); + NBTTagCompound tag3 = new NBTTagCompound(); + this.mold.writeToNBT(tag); + nbt.setTag("mold", tag); + this.jewelBase.writeToNBT(tag1); + nbt.setTag("jewelBase", tag1); + this.moltenMetal.writeToNBT(tag2); + nbt.setTag("moltenMetal", tag2); + this.ringMetal.writeToNBT(tag3); + nbt.setTag("ringMetal", tag3); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) + { + super.readFromNBT(nbt); + this.cooling = nbt.getInteger("cooling"); + this.hasJewelBase = nbt.getBoolean("hasJewelBase"); + this.hasMoltenMetal = nbt.getBoolean("hasMoltenMetal"); + this.hasMold = nbt.getBoolean("hasMold"); + this.mold = new ItemStack(Item.getItemById(0), 0, 0); + this.mold.readFromNBT(nbt.getCompoundTag("mold")); + this.jewelBase = new ItemStack(Item.getItemById(0), 0, 0); + this.jewelBase.readFromNBT(nbt.getCompoundTag("jewelBase")); + this.moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); + this.moltenMetal.readFromNBT(nbt.getCompoundTag("moltenMetal")); + this.ringMetal = new ItemStack(Item.getItemById(0), 0, 0); + this.ringMetal.readFromNBT(nbt.getCompoundTag("ringMetal")); + } + + @Override + public void updateEntity() + { + super.updateEntity(); + if(isDirty){ + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + isDirty = true; + } + if (moltenMetal.getItem() != Item.getItemById(0)) + { + if(worldObj.rand.nextInt(20) == 0) this.worldObj.playSoundEffect(xCoord, yCoord + 0.5F, zCoord, "random.fizz", 0.5F, 1F); + for (int l = 0; l < 2; ++l) + this.worldObj.spawnParticle("reddust", xCoord + Math.random(), (double) yCoord + 0.2F, zCoord + Math.random(), 0.0D, 1.0D, 1.0D); + } + if (this.hasMoltenMetal && !this.hasJewelBase) + { + ringMetal = moltenMetal; + if (cooling > 0) + this.cooling--; + if (cooling == 0) + { + this.hasMoltenMetal = false; + if (mold.getItemDamage() == 0) + this.jewelBase = moltenMetal; + else if (mold.getItemDamage() == 1) + this.jewelBase = new ItemStack(ItemList.ring); + else + this.jewelBase = new ItemStack(ItemList.necklace); + if(mold.getItemDamage() != 0 && jewelBase != new ItemStack(Item.getItemById(0), 0, 0)) + JewelryNBT.addMetal(jewelBase, ringMetal); + this.moltenMetal = new ItemStack(Item.getItemById(0), 0, 0); + this.hasJewelBase = true; + cooling = -1; + } + } + } +} |
