Is this still a concern in the current Minecraft version? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
Confirmed for 1.14.2 pre-3. In first person, the fishing rod's line doesn't fully connect with the rod itself. This is not just an issue with my client, other colleagues have reported the same bug. This happens regardless of resource packs being installed or not. The rod's line does fully connect in third person. See the attached screenshots.
I would love it this were to be assigned and looked at. It's such an immersion breaking bug for something that pretty much everyone on the Java edition does - changes FOV.
Attached some screenshots. Line becomes detached at any FOV higher than default, gets worse the higher the FOV. Happens regardless of aspect ratio. At high resolutions I've also noticed that the line completely disappears. Please, Mojang... please look at this very annoying bug! #MakeFishingGreatAgain
Those screenshots are not made in Vanilla Minecraft. I suspect it's OptiFine or similar. Please only test bugs and attach screenshots from Vanilla Minecraft.
Also just checked some additional numbers. The fishing line model is disconnected at FOV's 46 and higher (although the ones from 46-50 are barely noticeable but still there).
Code analysis (based on 1.16.4, but the same idea should apply to more recent snapshots):
The logic for determining where the hook should be looks like this:
if ((this.renderManager.options == null || this.renderManager.options.thirdPersonView <= 0) && playerentity == Minecraft.getInstance().player) {
double fov = this.renderManager.options.fov;
// ... compute hand position for first person ...
} else {
// ... compute hand position for third person ...
}
However, it should look something like this:
if (this.renderManager.options != null && this.renderManager.options.thirdPersonView <= 0 && playerentity == Minecraft.getInstance().player) {
double fov = this.renderManager.options.fov * playerentity.getFovModifier();
// ... render first person ...
} else {
// ... render third person ...
}
Note that this also fixes a null check; if this.renderManager.options is null, then accessing this.renderManager.options.fov won't work. (I don't know if renderManager.options will ever be null though). It also isn't entirely accurate to use playerentity.getFovModifier either, as that doesn't handle the gradual transitions that are applied to the hand FOV in GameRenderer; there is a function there that computes the appropriate FOV that would be better to use.
Speed and Slowness effects Also, surely there's a way to actually fix this properly once and for all, right? Out of all of these cases, only the aspect ratio changes where the fishing rod item is displayed, but the client already knows that. Otherwise, only connecting a line from that position to whatever position the bobber is in should be needed. And for other players, it already works correctly.
See this comment for more info; it ignores things that change the FOV modifier, but does look at the FOV option value. Judging only from the duplicates, there was also once an issue where it ignored the FOV option value, but I don't know when/if that changed (and I don't want to separate out that behavior into a new issue because I'm not 100% sure it did change).
The sneaking animation is its own issue (MC-148088). I think the aspect ratio problem should also be created as a separate issue (that should be linked to this one).
Confirmed and a very annoying bug.