package shedar.mods.ic2.nuclearcontrol.items;
import ic2.api.reactor.IReactor;
import ic2.api.reactor.IReactorChamber;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import shedar.mods.ic2.nuclearcontrol.IC2NuclearControl;
import shedar.mods.ic2.nuclearcontrol.utils.NuclearHelper;
import shedar.mods.ic2.nuclearcontrol.utils.NuclearNetworkHelper;
import shedar.mods.ic2.nuclearcontrol.utils.TextureResolver;
public class ItemToolThermometer extends Item {
public ItemToolThermometer() {
super();
setMaxDamage(102);
setMaxStackSize(1);
setCreativeTab(IC2NuclearControl.tabIC2NC);
setTextureName(TextureResolver.getItemTexture("thermometer"));
}
protected boolean canTakeDamage(ItemStack itemstack, int i) {
return true;
}
@Override
public boolean onItemUseFirst(ItemStack itemstack, EntityPlayer player,
World world, int x, int y, int z, int side, float hitX, float hitY,
float hitZ) {
boolean isServer = player instanceof EntityPlayerMP;
if (!isServer)
return false;
if (!canTakeDamage(itemstack, 2)) {
return false;
}
try {
IReactor reactor = NuclearHelper.getReactorAt(world, x, y, z);
if (reactor == null) {
IReactorChamber chamber = NuclearHelper.getReactorChamberAt(world, x, y, z);
if (chamber != null) {
reactor = chamber.getReactor();
}
if (reactor == null && chamber == null) {
reactor = ItemCard55Reactor.getReactor(world, x, y, z);
}
}
if (reactor != null) {
messagePlayer(player, reactor);
damage(itemstack, 1, player);
return true;
}
}catch(NullPointerException e){}
return false;
}
protected void messagePlayer(EntityPlayer entityplayer, IReactor reactor) {
int heat = reactor.getHeat();
NuclearNetworkHelper.chatMessage(entityplayer, "Thermo:" + heat);
}
protected void damage(ItemStack itemstack, int i, EntityPlayer entityplayer) {
itemstack.damageItem(10, entityplayer);
}
}