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/TileEntityMidasTouch.java | |
| parent | 9dc6f69f701e42b30adf7d1b01488f425eaec265 (diff) | |
Added Midas Touch
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMidasTouch.java')
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/tileentity/TileEntityMidasTouch.java | 83 |
1 files changed, 83 insertions, 0 deletions
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); + } +} |
