/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.items;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import mods.railcraft.common.gui.tooltips.ToolTip;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import mods.railcraft.common.plugins.forge.CreativePlugin;
import mods.railcraft.common.plugins.forge.ItemRegistry;
import mods.railcraft.common.util.misc.MiscTools;
import net.minecraft.entity.player.EntityPlayer;
public class ItemRailcraft extends Item {
private float smeltingExperiance = -1;
private int rarity = 0;
public ItemRailcraft() {
setCreativeTab(CreativePlugin.RAILCRAFT_TAB);
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconRegister) {
itemIcon = iconRegister.registerIcon("railcraft:" + MiscTools.cleanTag(getUnlocalizedName()));
}
public ItemRailcraft setRarity(int rarity) {
this.rarity = rarity;
return this;
}
@Override
@SideOnly(Side.CLIENT)
public EnumRarity getRarity(ItemStack par1ItemStack) {
return EnumRarity.values()[rarity];
}
public int getHeatValue(ItemStack stack) {
return 0;
}
public ItemRailcraft setSmeltingExperiance(float smeltingExperiance) {
this.smeltingExperiance = smeltingExperiance;
return this;
}
@Override
public float getSmeltingExperience(ItemStack item) {
return smeltingExperiance;
}
@Override
public boolean isBookEnchantable(ItemStack stack, ItemStack book) {
return false;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List info, boolean adv) {
super.addInformation(stack, player, info, adv);
ToolTip tip = ToolTip.buildToolTip(stack.getUnlocalizedName() + ".tip");
if (tip != null)
info.addAll(tip.convertToStrings());
}
public Object getRecipeObject(IItemMetaEnum meta) {
if (meta != null && meta.getItemClass() != getClass())
throw new RuntimeException("Incorrect Item Meta object used.");
if (meta != null && getHasSubtypes())
return new ItemStack(this, 1, meta.ordinal());
return this;
}
public void defineRecipes() {
}
public void initItem() {
ItemRegistry.registerItemStack(getUnlocalizedName(), new ItemStack(this));
}
}