package minefantasy.item; import java.awt.Color; import java.util.List; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import minefantasy.MineFantasyBase; import minefantasy.api.forge.HeatableItem; import minefantasy.api.forge.IHotItem; import minefantasy.system.cfg; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumMovingObjectType; import net.minecraft.util.Icon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; public class ItemBloom extends Item implements IHotItem{ public ItemBloom(int id) { super(id); this.setHasSubtypes(true); this.setMaxStackSize(1); } public static ItemStack getItem(ItemStack item) { NBTTagCompound tag = getNBT(item); if(tag.hasKey("ingotID") && tag.hasKey("ingotMeta")) { return new ItemStack(tag.getInteger("ingotID"), 1, tag.getInteger("ingotMeta")); } return null; } @SideOnly(Side.CLIENT) @Override public void registerIcons(IconRegister reg) { this.itemIcon = reg.registerIcon("MineFantasy:Misc/bloom"); } public static ItemStack createBloom(ItemStack item) { ItemStack out = new ItemStack(ItemListMF.bloom); NBTTagCompound nbt = getNBT(out); nbt.setInteger("ingotID", item.itemID); nbt.setInteger("ingotMeta", item.getItemDamage()); return out; } @Override public String getItemDisplayName(ItemStack stack) { return StatCollector.translateToLocal("item.bloom.name"); } @Override public EnumRarity getRarity(ItemStack stack) { ItemStack item = getItem(stack); if(item != null) return item.getItem().getRarity(item); return EnumRarity.common; } private static NBTTagCompound getNBT(ItemStack item) { if(!item.hasTagCompound())item.setTagCompound(new NBTTagCompound()); return item.getTagCompound(); } @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean b) { ItemStack item = getItem(stack); if(item != null) { list.add(item.getItem().getItemDisplayName(item)); item.getItem().addInformation(item, player, list, b); } else super.addInformation(stack, player, list, b); } @Override public boolean isHot(ItemStack item) { return true; } @Override public boolean isCoolable(ItemStack item) { return false; } }