package net.minecraft.item; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityFishHook; import net.minecraft.util.IIcon; import net.minecraft.world.World; public class ItemFishingRod extends Item { @SideOnly(Side.CLIENT) private IIcon theIcon; private static final String __OBFID = "CL_00000034"; public ItemFishingRod() { this.setMaxDurability(64); this.setMaxStackSize(1); this.setCreativeTab(CreativeTabs.tabTools); } /** * Returns True is the item is renderer in full 3D when hold. */ @SideOnly(Side.CLIENT) public boolean isFull3D() { return true; } /** * Returns true if this item should be rotated by 180 degrees around the Y axis when being held in an entities * hands. */ @SideOnly(Side.CLIENT) public boolean shouldRotateAroundWhenRendering() { return true; } /** * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer */ public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer player) { if (player.fishEntity != null) { int i = player.fishEntity.handleHookRetraction(); itemStackIn.damageItem(i, player); player.swingItem(); } else { worldIn.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); if (!worldIn.isRemote) { worldIn.spawnEntityInWorld(new EntityFishHook(worldIn, player)); } player.swingItem(); } return itemStackIn; } @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister register) { this.itemIcon = register.registerIcon(this.getIconString() + "_uncast"); this.theIcon = register.registerIcon(this.getIconString() + "_cast"); } @SideOnly(Side.CLIENT) public IIcon func_94597_g() { return this.theIcon; } /** * Checks isDamagable and if it cannot be stacked */ public boolean isItemTool(ItemStack p_77616_1_) { return super.isItemTool(p_77616_1_); } /** * Return the enchantability factor of the item, most of the time is based on material. */ public int getItemEnchantability() { return 1; } }