diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-04-19 03:30:08 +0100 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-04-19 03:30:08 +0100 |
| commit | 2a7e0a624f482a28af1c770dbcf2a20f52f94f78 (patch) | |
| tree | 39b7652b939dd20763e242fbd49eb6d2ad6924da /src/main/java/darkknight/jewelrycraft/tileentity | |
| parent | 9dc6f69f701e42b30adf7d1b01488f425eaec265 (diff) | |
Added Midas Touch
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/tileentity')
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(); + } +} |
