package com.harry9137.ct.item; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import java.util.List; public class ChargeableItem extends ItemCT { public int chargeLevel; public int maxChargeLevel; public ChargeableItem(int charge, int maxCharge){ super(); this.chargeLevel = charge; this.maxChargeLevel = maxCharge; } public int getChargeLevel(ItemStack itemStack){ return itemStack.getTagCompound().getInteger("charge"); } public int getMaxChargeLevel(ItemStack itemStack){ return itemStack.getTagCompound().getInteger("maxcharge"); } public void setChargeLevel(int setterCharge, ItemStack itemStack){ if(!(setterCharge >= maxChargeLevel)) { itemStack.getTagCompound().setInteger("charge", setterCharge); } else{ itemStack.getTagCompound().setInteger("charge", 1000); } } public void setMaxChargeLevel(int setterMaxCharge, ItemStack itemStack){ itemStack.getTagCompound().setInteger("maxcharge", setterMaxCharge); } @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { try { String chargeString = Integer.toString(stack.getTagCompound().getInteger("charge")) + "/" + Integer.toString(stack.getTagCompound().getInteger("maxcharge")); list.add(chargeString); } catch(NullPointerException e){ this.onCreated(stack, player.getEntityWorld(), player); String chargeString = Integer.toString(stack.getTagCompound().getInteger("charge")) + "/" + Integer.toString(stack.getTagCompound().getInteger("maxcharge")); list.add(chargeString); } } @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { this.setChargeLevel(getChargeLevel(itemStack)+100, itemStack); return itemStack; } public void onCreated(ItemStack itemStack, World world, EntityPlayer player) { itemStack.setTagCompound(new NBTTagCompound()); itemStack.getTagCompound().setInteger("charge", chargeLevel); itemStack.getTagCompound().setInteger("maxcharge", maxChargeLevel); } }