package shedar.mods.ic2.nuclearcontrol.items; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import ic2.api.reactor.IReactor; import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import shedar.mods.ic2.nuclearcontrol.utils.NuclearNetworkHelper; import shedar.mods.ic2.nuclearcontrol.utils.TextureResolver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemToolDigitalThermometer extends ItemToolThermometer implements IElectricItem { public int tier; public int ratio; public int transfer; public ItemToolDigitalThermometer(int k, int l, int i1) { super(); setMaxDamage(101); setTextureName(TextureResolver.getItemTexture("thermometerDigital")); tier = k; ratio = l; transfer = i1; } @Override protected boolean canTakeDamage(ItemStack itemstack, int i) { i *= 50; return ElectricItem.manager.discharge(itemstack, i, Integer.MAX_VALUE, true, false, true) == i; } @Override protected void messagePlayer(EntityPlayer entityplayer, IReactor reactor) { int heat = reactor.getHeat(); int maxHeat = reactor.getMaxHeat(); NuclearNetworkHelper.chatMessage(entityplayer, "ThermoDigital:" + heat + ":" + ((maxHeat * 50) / 100) + ":" + ((maxHeat * 85) / 100)); } @Override protected void damage(ItemStack itemstack, int i, EntityPlayer entityplayer) { ElectricItem.manager.use(itemstack, 50 * i, entityplayer); } @Override public boolean canProvideEnergy(ItemStack itemStack) { return false; } @Override public Item getChargedItem(ItemStack itemStack) { return this; } @Override public Item getEmptyItem(ItemStack itemStack) { return this; } @Override public double getMaxCharge(ItemStack itemStack) { return 12000; } @Override public int getTier(ItemStack itemStack) { return tier; } @Override public double getTransferLimit(ItemStack itemStack) { return 250; } /** * returns a list of items with the same ID, but different meta (eg: dye * returns 16 items) */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List itemList) { ItemStack itemstack = new ItemStack(this, 1); ElectricItem.manager.charge(itemstack, 0x7fffffff, 0x7fffffff, true, false); itemList.add(itemstack); itemList.add(new ItemStack(this, 1, getMaxDamage())); } }