summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/tileentity
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-04-19 03:30:08 +0100
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-04-19 03:30:08 +0100
commit2a7e0a624f482a28af1c770dbcf2a20f52f94f78 (patch)
tree39b7652b939dd20763e242fbd49eb6d2ad6924da /src/main/java/darkknight/jewelrycraft/tileentity
parent9dc6f69f701e42b30adf7d1b01488f425eaec265 (diff)
Added Midas Touch
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/tileentity')
-rw-r--r--src/main/java/darkknight/jewelrycraft/tileentity/TileEntityJewelrsCraftingTable.java2
-rw-r--r--src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMidasTouch.java83
-rw-r--r--src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java3
-rw-r--r--src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java4
-rw-r--r--src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMidasTouchRender.java27
5 files changed, 115 insertions, 4 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityJewelrsCraftingTable.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityJewelrsCraftingTable.java
index c148bd0..cb216a0 100644
--- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityJewelrsCraftingTable.java
+++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityJewelrsCraftingTable.java
@@ -98,7 +98,7 @@ public class TileEntityJewelrsCraftingTable extends TileEntity
else angle = 0F;
if (hasJewelry && hasGem && !hasEndItem && crafting){
if (carving > 0) carving--;
- if (crafting) for(int l = 0; l < ConfigHandler.jewelryCraftingTime / (carving + 2); ++l){
+ if (crafting) for(int l = 0; l < ConfigHandler.GEM_PLACEMENT_TIME / (carving + 2); ++l){
if (worldObj.rand.nextInt(10) == 0) worldObj.playSoundEffect(xCoord, yCoord + 0.5F, zCoord, "random.orb", 0.05F, 1F);
if (getBlockMetadata() == 0) worldObj.spawnParticle("instantSpell", xCoord + 0.5F, (double)yCoord + 0.8F, zCoord + 0.2F, 0.0D, 0.0D, 0.0D);
if (getBlockMetadata() == 1) worldObj.spawnParticle("instantSpell", xCoord + 0.8F, (double)yCoord + 0.8F, zCoord + 0.5F, 0.0D, 0.0D, 0.0D);
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMidasTouch.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMidasTouch.java
new file mode 100644
index 0000000..1cee6d0
--- /dev/null
+++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMidasTouch.java
@@ -0,0 +1,83 @@
+package darkknight.jewelrycraft.tileentity;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityList;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.network.NetworkManager;
+import net.minecraft.network.Packet;
+import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
+import net.minecraft.tileentity.TileEntity;
+
+public class TileEntityMidasTouch extends TileEntity
+{
+ public Entity target;
+
+ public TileEntityMidasTouch()
+ {}
+
+ public void setEntity(Entity ent)
+ {
+ target = ent;
+ }
+
+ @Override
+ public void writeToNBT(NBTTagCompound nbt)
+ {
+ super.writeToNBT(nbt);
+ if (target != null){
+ int id = EntityList.getEntityID(target);
+ NBTTagCompound tag = new NBTTagCompound();
+ target.writeToNBT(tag);
+ nbt.setInteger("entityID", id);
+ nbt.setTag("entity", tag);
+ }
+ }
+
+ /**
+ * @param nbt
+ */
+ @Override
+ public void readFromNBT(NBTTagCompound nbt)
+ {
+ super.readFromNBT(nbt);
+ NBTTagCompound en = (NBTTagCompound)nbt.getTag("entity");
+ int entityID = nbt.getInteger("entityID");
+ EntityLivingBase entity = (EntityLivingBase)EntityList.createEntityByID(entityID, worldObj);
+ if (entity != null){
+ entity.readFromNBT(en);
+ target = entity;
+ }
+ }
+
+ /**
+ *
+ */
+ @Override
+ public boolean canUpdate()
+ {
+ return false;
+ }
+
+ /**
+ * @return
+ */
+ @Override
+ public Packet getDescriptionPacket()
+ {
+ NBTTagCompound nbttagcompound = new NBTTagCompound();
+ writeToNBT(nbttagcompound);
+ return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound);
+ }
+
+ /**
+ * @param net
+ * @param packet
+ */
+ @Override
+ public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet)
+ {
+ readFromNBT(packet.func_148857_g());
+ worldObj.func_147479_m(xCoord, yCoord, zCoord);
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java
index c6e9da5..5174d44 100644
--- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java
+++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java
@@ -14,6 +14,7 @@ import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import darkknight.jewelrycraft.block.BlockHandPedestal;
import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.particles.EntityShadowsFX;
import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
@@ -93,7 +94,7 @@ public class TileEntityShadowEye extends TileEntity
opening++;
timer = 20;
}
- if (valid && opening == 4) timer = 1000;
+ if (valid && opening == 4) timer = ConfigHandler.RITUAL_TIME;
else if (!valid){
active = false;
timer = -1;
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java
index 83f2cb2..b9a276b 100644
--- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java
+++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java
@@ -149,14 +149,14 @@ public class TileEntitySmelter extends TileEntity
if (pouredQuantity <= 0f){
pouring = false;
pouredQuantity = 0.1f;
- me.cooling = ConfigHandler.ingotCoolingTime;
+ me.cooling = ConfigHandler.INGOT_COOLING_TIME;
}
if (quantity <= 0f){
quantity = 0f;
hasMoltenMetal = false;
moltenMetal = new ItemStack(Item.getItemById(0), 0, 0);
// pouring = false;
- me.cooling = ConfigHandler.ingotCoolingTime;
+ me.cooling = ConfigHandler.INGOT_COOLING_TIME;
}
me.isDirty = true;
}
diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMidasTouchRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMidasTouchRender.java
new file mode 100644
index 0000000..bac8e8e
--- /dev/null
+++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMidasTouchRender.java
@@ -0,0 +1,27 @@
+package darkknight.jewelrycraft.tileentity.renders;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.tileentity.TileEntity;
+import org.lwjgl.opengl.GL11;
+import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch;
+
+public class TileEntityMidasTouchRender extends TileEntitySpecialRenderer
+{
+ @Override
+ public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale)
+ {
+ GL11.glPushMatrix();
+ TileEntityMidasTouch midas = (TileEntityMidasTouch)te;
+ if (midas.target != null){
+ EntityLiving target = ((EntityLiving)midas.target);
+ target.hurtTime = 0;
+ GL11.glTranslatef(0.5F, 0.0F, 0.5F);
+ GL11.glColor3f(1.0F, 1.0F, 0.0F);
+ RenderManager.instance.renderEntityWithPosYaw(target, midas.xCoord - RenderManager.instance.renderPosX, midas.yCoord - RenderManager.instance.renderPosY, midas.zCoord - RenderManager.instance.renderPosZ, 0F, 1F);
+ }
+ GL11.glPopMatrix();
+ }
+}