package net.tropicraft.item;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import net.tropicraft.info.TCInfo;
import net.tropicraft.info.TCNames;
import net.tropicraft.registry.TCCreativeTabRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemDart extends ItemTropicraft {
public static final String[] dartNames = new String[]{"paralyze", "poison", "moveSlowdown", "harm", "confusion", "hunger", "weakness"};
private static final int[] colors = new int[]{0xFFB5FF, 0x258EA3, 0xCFD7D9, 0xDFE23A, 0x5137FB, 0xE12424, 0x6CC7FF};
private static final String[] tooltipText = new String[]{"\u00a7d", "\u00a73", "\u00a77", "\u00a76", "\u00a71",
"\u00a74", "\u00a79"};
@SideOnly(Side.CLIENT)
private IIcon overlay;
@SideOnly(Side.CLIENT)
private IIcon backImage;
public ItemDart() {
this.setHasSubtypes(true);
this.setMaxDamage(0);
setCreativeTab(TCCreativeTabRegistry.tabCombat);
setMaxStackSize(64);
}
/**
* returns a list of items with the same ID, but different meta (eg: dye returns 16 items)
*/
@Override
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List par3List) {
for (int i = 0; i < dartNames.length; ++i) {
par3List.add(new ItemStack(item, 1, i));
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int par1, int par2) {
return par2 > 0 ? this.overlay : getIconFromDamage(par1);
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {
return true;
}
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack par1ItemStack, int par2) {
return colors[par1ItemStack.getItemDamage()];
}
@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack itemstack, EntityPlayer ent, List list, boolean wat) {
list.clear();
list.add(tooltipText[itemstack.getItemDamage()] + StatCollector.translateToLocal("dart.tropicraft:prefix.name") + " " +
StatCollector.translateToLocal("dart.tropicraft:" + dartNames[itemstack.getItemDamage()] + ".name"));
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister par1IconRegister) {
super.registerIcons(par1IconRegister);
this.overlay = par1IconRegister.registerIcon(TCInfo.ICON_LOCATION + TCNames.dartOverlay);
this.backImage = par1IconRegister.registerIcon(TCInfo.ICON_LOCATION + TCNames.dart);
}
}