package micdoodle8.mods.galacticraft.core.tile;
import io.netty.buffer.ByteBuf;
import micdoodle8.mods.miccore.Annotations.NetworkedField;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.relauncher.Side;
import java.util.List;
public class TileEntityFallenMeteor extends TileEntityAdvanced
{
public static final int MAX_HEAT_LEVEL = 5000;
@NetworkedField(targetSide = Side.CLIENT)
public int heatLevel = TileEntityFallenMeteor.MAX_HEAT_LEVEL;
private boolean sentOnePacket = false;
@Override
public void update()
{
super.update();
if (!this.worldObj.isRemote && this.heatLevel > 0)
{
this.heatLevel--;
}
}
public int getHeatLevel()
{
return this.heatLevel;
}
public void setHeatLevel(int heatLevel)
{
this.heatLevel = heatLevel;
}
public float getScaledHeatLevel()
{
return (float) this.heatLevel / TileEntityFallenMeteor.MAX_HEAT_LEVEL;
}
@Override
public void readExtraNetworkedData(ByteBuf dataStream)
{
if (this.worldObj.isRemote)
{
this.worldObj.notifyLightSet(this.getPos());
}
}
@Override
public void addExtraNetworkedData(List<Object> networkedList)
{
this.sentOnePacket = true;
}
@Override
public void readFromNBT(NBTTagCompound nbt)
{
super.readFromNBT(nbt);
this.heatLevel = nbt.getInteger("MeteorHeatLevel");
}
@Override
public void writeToNBT(NBTTagCompound nbt)
{
super.writeToNBT(nbt);
nbt.setInteger("MeteorHeatLevel", this.heatLevel);
}
@Override
public double getPacketRange()
{
return 50;
}
@Override
public int getPacketCooldown()
{
return this.sentOnePacket ? 100 : 1;
}
@Override
public boolean isNetworkedTile()
{
return true;
}
}