package shedar.mods.ic2.nuclearcontrol.tileentities;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import shedar.mods.ic2.nuclearcontrol.IC2NuclearControl;
import shedar.mods.ic2.nuclearcontrol.ITextureHelper;
import shedar.mods.ic2.nuclearcontrol.blocks.subblocks.IndustrialAlarm;
import shedar.mods.ic2.nuclearcontrol.utils.BlockDamages;
public class TileEntityIndustrialAlarm extends TileEntityHowlerAlarm implements ITextureHelper {
private static final byte[] lightSteps = { 0, 7, 15, 7, 0 };
protected byte internalFire;
public byte lightLevel;
public TileEntityIndustrialAlarm() {
super();
internalFire = 0;
lightLevel = 0;
}
@Override
protected void checkStatus() {
super.checkStatus();
int light = lightLevel;
if (!powered) {
lightLevel = 0;
internalFire = 0;
} else {
internalFire = (byte) ((internalFire + 1) % lightSteps.length * 2);
lightLevel = lightSteps[internalFire / 2];
}
if (lightLevel != light)
worldObj.func_147451_t(xCoord, yCoord, zCoord);
}
@Override
public int modifyTextureIndex(int texture) {
if (texture == IndustrialAlarm.I_BACK)
return texture;
switch (lightLevel) {
case 7:
texture += 1;
break;
case 15:
texture += 2;
break;
}
return texture;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(IC2NuclearControl.blockNuclearControlMain, 1, BlockDamages.DAMAGE_INDUSTRIAL_ALARM);
}
}