Fishing Rod

Fishing Rods are tools that are used for obtaining Fish.

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

History
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. 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.

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.

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.

Fish can even be caught while the player is under water, either by entering the water after the rod is cast, or by casting while underwater (though there seems to be no benefit to doing so). If the rod is cast while under water, the bobber will float to the surface. Catching fish while under water operates the same way, and fish still fly towards the player when reeled in.

Catching Fish
When you look closer in the code it matters if you fish outside or inside, if the water can be struck 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 caught fish 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, iron golems, snow golems and ocelots as they do not take falling damage). It can also be used to drag enemies in to lava or an enderman into water. The fishing rod has a mostly aesthetic use 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.

It can be assumed this functionality is for pulling future Fish Mobs(such as the current mob, the Squid) 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.

Bug solutions
If the player looks below or sometimes directly at the hook when he/she is catching the fish, the fish will fly over their head. But if the player looks above the hook (even if they look left or right of the hook) then they fish will fly directly at the player, but sometimes the fish still can go slightly over the head, but it is less than if you looked down. It is assumed that this is part of some "realistic" coding. Where in real life if you pull from a lower angle, the power of the pull is greatly increased, where as if you pulled it from a higher angle (aka looking above hook in minecraft) then there would be less force, therefor the less power you put into it then the more chance of getting it.

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

 * 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.
 * 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. Just like older 3D games like DooM and Rise of the Triad.
 * 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.
 * Enderman will teleport away before the fishing rod reaches it.