package fox.spiteful.forbidden.items.baubles; import baubles.api.BaubleType; import baubles.api.IBauble; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import fox.spiteful.forbidden.Forbidden; import fox.spiteful.forbidden.compat.Compat; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import thaumcraft.api.IRunicArmor; import thaumcraft.api.aspects.Aspect; import vazkii.botania.api.item.ICosmeticAttachable; import java.util.Iterator; import java.util.List; @Optional.Interface(iface = "vazkii.botania.api.item.ICosmeticAttachable", modid = "Botania") public class ItemRingNutrition extends Item implements IRunicArmor, IBauble, ICosmeticAttachable { IIcon icon; public ItemRingNutrition(){ super(); maxStackSize = 1; setCreativeTab(Forbidden.tab); } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister ir) { icon = ir.registerIcon("forbidden:ring_nutrition"); } @Override @SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int par1) { return icon; } public BaubleType getBaubleType(ItemStack itemstack){ return BaubleType.RING; } public void onWornTick(ItemStack itemstack, EntityLivingBase player){} public void onEquipped(ItemStack itemstack, EntityLivingBase player){} public void onUnequipped(ItemStack itemstack, EntityLivingBase player){} public boolean canEquip(ItemStack itemstack, EntityLivingBase player){ return true; } public boolean canUnequip(ItemStack itemstack, EntityLivingBase player){ return true; } public int getRunicCharge(ItemStack itemstack){ return 0; } @Override public ItemStack getCosmeticItem(ItemStack stack) { if(stack == null || stack.getTagCompound() == null) return null; if(!stack.getTagCompound().hasKey("cosmeticItem")) return null; NBTTagCompound cosmetic = stack.getTagCompound().getCompoundTag("cosmeticItem"); return ItemStack.loadItemStackFromNBT(cosmetic); } @Override public void setCosmeticItem(ItemStack stack, ItemStack cosmetic) { if(stack == null) return; NBTTagCompound cmp = new NBTTagCompound(); if(cosmetic != null) cosmetic.writeToNBT(cmp); NBTTagCompound tag = stack.getTagCompound(); if(tag == null){ tag = new NBTTagCompound(); stack.setTagCompound(tag); } tag.setTag("cosmeticItem", cmp); } @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { if(Compat.botan && GuiScreen.isShiftKeyDown() && getCosmeticItem(stack) != null) list.add(String.format(StatCollector.translateToLocal("botaniamisc.hasCosmetic"), getCosmeticItem(stack).getDisplayName()).replaceAll("&", "\u00a7")); } }