package fox.spiteful.forbidden.items; import java.util.List; import fox.spiteful.forbidden.Forbidden; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntitySheep; 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.MathHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemResource extends Item { @SideOnly(Side.CLIENT) public IIcon[] icons; public ItemResource() { this.setMaxStackSize(64); this.setHasSubtypes(true); this.setMaxDamage(0); this.setCreativeTab(Forbidden.tab); } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister ir) { icons = new IIcon[5]; icons[0] = ir.registerIcon("forbidden:emerald_nugget"); icons[1] = ir.registerIcon("forbidden:dye_powder_black"); icons[2] = ir.registerIcon("forbidden:nuggetmanasteel"); icons[3] = ir.registerIcon("forbidden:tainted_blood_shard"); icons[4] = ir.registerIcon("forbidden:nuggetelementium"); } @SideOnly(Side.CLIENT) @Override public IIcon getIconFromDamage(int dam) { return this.icons[dam % icons.length]; } @Override public String getUnlocalizedName(ItemStack stack) { //int i = MathHelper.clamp_int(stack.getItemDamage(), 0, 3); int i = stack.getItemDamage(); return super.getUnlocalizedName() + "." + i; } @SideOnly(Side.CLIENT) @Override public void getSubItems(Item par1, CreativeTabs xCreativeTabs, List list) { for (int j = 0; j < 5; ++j) { list.add(new ItemStack(par1, 1, j)); } } @Override public boolean itemInteractionForEntity(ItemStack stack, EntityPlayer player, EntityLivingBase yEntityLivingBase) { if (yEntityLivingBase instanceof EntitySheep && stack.getItemDamage() == 1) { EntitySheep entitysheep = (EntitySheep) yEntityLivingBase; if (!entitysheep.getSheared() && entitysheep.getFleeceColor() != 15) { entitysheep.setFleeceColor(15); --stack.stackSize; } return true; } else { return false; } } }