    001    package net.minecraft.src;
    002
    003    import cpw.mods.fml.common.Side;
    004    import cpw.mods.fml.common.asm.SideOnly;
    005
    006    public class ItemFishingRod extends Item
    007    {
    008        public ItemFishingRod(int par1)
    009        {
    010            super(par1);
    011            this.setMaxDamage(64);
    012            this.setMaxStackSize(1);
    013            this.setCreativeTab(CreativeTabs.tabTools);
    014        }
    015
    016        @SideOnly(Side.CLIENT)
    017
    018        /**
    019         * Returns True is the item is renderer in full 3D when hold.
    020         */
    021        public boolean isFull3D()
    022        {
    023            return true;
    024        }
    025
    026        @SideOnly(Side.CLIENT)
    027
    028        /**
    029         * Returns true if this item should be rotated by 180 degrees around the Y axis when being held in an entities
    030         * hands.
    031         */
    032        public boolean shouldRotateAroundWhenRendering()
    033        {
    034            return true;
    035        }
    036
    037        /**
    038         * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
    039         */
    040        public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
    041        {
    042            if (par3EntityPlayer.fishEntity != null)
    043            {
    044                int var4 = par3EntityPlayer.fishEntity.catchFish();
    045                par1ItemStack.damageItem(var4, par3EntityPlayer);
    046                par3EntityPlayer.swingItem();
    047            }
    048            else
    049            {
    050                par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
    051
    052                if (!par2World.isRemote)
    053                {
    054                    par2World.spawnEntityInWorld(new EntityFishHook(par2World, par3EntityPlayer));
    055                }
    056
    057                par3EntityPlayer.swingItem();
    058            }
    059
    060            return par1ItemStack;
    061        }
    062    }