package com.insane.illuminatedbows.addons.thaumcraft.tile;
import com.insane.illuminatedbows.IlluminatedBows;
import thaumcraft.common.Thaumcraft;
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 TileColouredNitor extends TileEntity {
private int colour;
public TileColouredNitor()
{
}
@Override
public void writeToNBT(NBTTagCompound tag)
{
tag.setInteger(IlluminatedBows.MODID+"colour", this.colour);
super.writeToNBT(tag);
}
@Override
public void readFromNBT(NBTTagCompound tag)
{
this.colour=tag.getInteger(IlluminatedBows.MODID+"colour");
if (this.worldObj!=null)
{
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
}
super.readFromNBT(tag);
}
public void setColour(int param)
{
this.colour=param;
}
public boolean canUpdate()
{
return true;
}
public void updateEntity() {
super.updateEntity();
if (this.worldObj.isRemote) {
if (this.worldObj.rand.nextInt(9 - Thaumcraft.proxy.particleCount(2)) == 0) {
IlluminatedBows.proxy.colourNitorEffects(this.worldObj, this.xCoord + 0.5F, this.yCoord + 0.5F, this.zCoord + 0.5F, this.xCoord + 0.3F + this.worldObj.rand.nextFloat() * 0.4F, this.yCoord + 0.5F, this.zCoord + 0.3F + this.worldObj.rand.nextFloat() * 0.4F, 0.5F, this.colour, true, -0.025F, this.colour);
}
if (this.worldObj.rand.nextInt(15 - Thaumcraft.proxy.particleCount(4)) == 0) {
IlluminatedBows.proxy.colourNitorEffects(this.worldObj, this.xCoord + 0.5F, this.yCoord + 0.5F, this.zCoord + 0.5F, this.xCoord + 0.4F + this.worldObj.rand.nextFloat() * 0.2F, this.yCoord + 0.5F, this.zCoord + 0.4F + this.worldObj.rand.nextFloat() * 0.2F, 0.25F, this.colour, true, -0.02F, this.colour);
}
}
}
@Override
public Packet getDescriptionPacket()
{
NBTTagCompound tag = new NBTTagCompound();
this.writeToNBT(tag);
return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 1, tag);
}
@Override
public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
{
this.readFromNBT(pkt.func_148857_g());
}
}