Fishing Rod

Fishing Rods are tools that are used for obtaining Fish. When first added, they did not function and were useless. In Alpha 1.2.0, the Halloween Update, fishing rods were updated to be able to catch fish from any body of water.

Crafting
A fishing rod can be crafted from three sticks and two pieces of string. This makes fishing rods a Renewable resource.

Usage
Players can cast the line using the right mouse button. Right-clicking again will reel the line in. The rod can be cast and reeled in 65 times before it will break. Casting it in water and reeling it up without a catch or reeling it up before it reaches its destination does not reduce its durability. The line will be reeled in automatically if the player wanders more than 34 blocks away from the place the bobber is stuck in. If the fishing rod bobber lands on a wall/ground and is then reeled in, it will count as a double durability use (although this damage can be avoided by switching to another item instead of reeling in the bobber), while successfully reeling a fish counts as one use. Reeling the bobber in while in water, but before a fish has been caught will not count as a use.

Catching Fish
When you look closer in the code it matters if you fish outside or inside, if the water can be striked by lightning (Has open Air above it, Code: worldObj.canLightningStrikeAt(...))The chance to catch a Raw_Fish is 1/300 every tick (1/20 of a second) else when you fish inside(no open Air above it) the chance to catch a Raw_Fish is 1/500.

So on average you would catch a Raw_Fish every 15 seconds(Outside),Inside it would be every 25 seconds.



If the line is cast in any sort of water, whether player made or naturally formed, after a while, the bobber on the end of the line will sink briefly before bobbing back up to the surface and will play the splash sound. The line must be reeled in at that precise moment otherwise the catch will escape. The line can be left there to wait for another catch opportunity as long as needed. If successful, a Raw Fish will fly out of the water and land somewhere around the fisher, although it can sometimes fly over the player's head and land far behind them. The line will disappear after 60 seconds if nothing gets hooked, although this timer is reset every time the hook is cast in the water.

If the bobber is cast and collides with a solid block, it will get stuck and not be able to catch fish. This means player-made fishing pools need to be built accordingly. At minimum, the body of water should be 1 block by about 10 for casting distance. The water can be 1×1, but this requires the player to cast upwards so that the bobber will land in the water. This ensures the bobber's initial velocity is wasted moving up, so that it does not hit any blocks falling back down.

Usage on Entities
Fishing Rods can hook any mob and drag it towards the player. (Although Mobs in Water or Lava will not move far due to the slowdown of the fluid.) Although the hurt animation plays and passive mobs will run away as if you attacked them, it deals no damage to the mob. Fishing Rods take triple durability damage when reeling a mob. Reeling it up will cause the mob to be pulled towards the caster at a very fast rate. Players can take advantage of this to impart vertical momentum onto the mob when reeled at great height, dealing enough fall damage for a guaranteed death (except for chicken, ghasts, blazes and snow golems as they do not take falling damage). The fishing rod can also be used on tamed wolves to act as a sort of leash, although it won't move the wolf anywhere for long. Bobbers can be hooked onto a wolf and if it teleports back to the player, the bobber will still be present.

A great way to use this is also to shoot a mob with it then go to lava and place it between the mob and yourself and then reel the line causing the mob to get pulled into the lava.

It can be assumed this functionality is for pulling future Fish Mobs out of water.

Unfortunately, fishing rods cannot be used to pull back/up players, making them useless in PVP.

The fishing rod can be used to grab onto boats and minecarts and pull them towards the player. However, boats will often break in the process. The hook can also be used to activate Pressure Plates or even knock down Paintings from a distance. This aspect can be commonly seen in public puzzle maps, where the player is required to aim and activate the input. Strangely enough, the Ghast's Fireballs can also be hooked with the fishing rod.

Reeling Problems
The player should try to fish with a large obstruction behind him or her, or from a platform above the water. Fish fly towards the player with considerable speed when reeled in and may launch over the player, which can cause them to get lost. Jumping to catch the fish just before it flies overhead is a solution, but does not always work. Fishing from 4 blocks (4 has been tested, but other heights may also work) above the water will make the fish fly directly to the player. It is also recommended to have the fishing platform at least 8 blocks long and 4 blocks deep, as the hook will snag on any block it hits. The closer the player is to the bobber, the less the fish will fly.

Bugs

 * If a Fishing Rod is cast and the player moves to third-person view and crouches, the string will not be attached to the rod.
 * If you cast the rod at a solid block and the bobber sticks into the block, it will remain in that position even if the said block is moved or destroyed.
 * If you spin or turn quickly, the end of the line will remain attached to a point while the sprite moves around it.
 * If you move the tip of the fishing rod next to the bobber, you can see that the line is angled oddly.
 * If you go into a boat with rod in hand, you will go in it, your line will be cast, and you'll be unable to move. After a short period, the player dies.
 * If the FOV is increased to higher than normal, the string will not be attached to the rod.

Trivia

 * Fishing Rods were a stackable tool when released. This was unintentional and changed in Beta 1.6. Stacking Rods would allow the players to change the damage values of any rods stacked to the first rod. This could be exploited to have Fishing Rods that lasted forever.
 * Skeletons can be pulled into their own arrows.
 * Casting the rod into lava will set the bobber on fire and cause it to clip through and fall forever.
 * Casting the rod into fire will set the bobber on fire and cause it to stick to the fire block.
 * Using a fishing rod while in a minecart aimed at the minecart's front wall will cause the minecart to stop immediately and the player to exit it. No damage to either player or cart.
 * When casting the rod into a portal, the bobber may stick to it like a normal block or go through and travel through or stop on the next block.
 * The Fishing Rod is currently the only item in the game that is displayed mirrored when in the player's hand.
 * Since Beta 1.6, there has been a sprite for the fishing rod without the line in items.png, though until 1.7, it was unused. This sprite is used when the bobber has been cast to show that it is no longer on the rod. Before 1.7, the stick texture was used for this purpose.
 * In multiplayer, if you cast the rod onto another player, the bobber will stick on them, and will hang on, even when they move around. This can be used in various ways.
 * If you cast the bobber into a waterfall, the bobber will float up the waterfall until it reaches the top where it will stay until the player pulls it back in.
 * Even if you are underwater, you can still catch fish.
 * The fishing rod bobber uses the billboard effect, meaning that the front of the bobber sprite faces the player from all angles.
 * On average, it takes less time to get a bite when fishing outdoors.
 * You can repair a fishing rod using another fishing rod above it in the crafting square.