Tags
Creators
Details
0.7.1-26.2+NeoForge
Compatibility
Required content
Changes
River Fishing 0.7.1 β the rod gets its own keys
Minecraft 1.20.1 (Fabric & Forge) Β· 1.21.1 (Fabric & NeoForge) Β· 26.1.2 (Fabric & NeoForge) Β· 26.2 (Fabric & NeoForge).
Everything here came from players in the first days after 0.7.0. Two of the fixes below were destroying things you caught, so update before you fish again.
The fight moved off the movement keys
The course is now answered with the arrow keys, and they are rebindable in the ordinary Minecraft Controls screen, next to Attack and Use. Four new bindings: pull left, pull right, lift the rod, rod down. No settings tab of ours β the game already has one, with conflict detection.
WASD now means your feet and nothing else. That is the whole point. The course never needed you to move β it only ever read which key was held, and the walking was a side effect. On a pier that side effect put you in the water.
The vertical is inverted from 0.7.x, deliberately. W used to mean "rod down" and S "rod up", which is backwards from anything you would guess β which is why the boss bar had to print the letter for you. Now the arrow points where the rod tip goes, and all four courses collapse into one sentence: press the arrow opposite the glyph on the bar. It goes β, you press β. It has gone βΌ, you press β.
And the bar stops naming keys it cannot know. The [W] on the end of those lines was written by the
server, which has no idea what you have bound β so it was already wrong for anyone who had rebound
movement, and it would have been wrong for everyone now. The key moved to the cue under the boss bar,
which reads your actual binding.
This also fixes a fight that was arguing with itself
Sharing one keyboard between two systems had consequences nobody asked for:
- Answering a DOWN course paid you twice. S countered the run and backed you away from the hook, which the mod reads as pumping with your legs.
- Answering an UP course punished you. W walks you at the fish, which is slack, and slack is how a hook falls out. There is a guard in the code whose own comment says the game "killed you for obeying its own boss bar" β it exists because of the shared keys, not because of the design.
Both go away on their own now that the rod and the feet are separate. Backing away to win line is untouched and still works exactly as it did.
You cannot walk off a pier with a fish on
Separate keys fix the input; they do not fix the ledge, because backing away from the water is still part of the fight and the mod will keep asking you to do it. So while a fish is on, you get the same edge protection the game already gives you when you sneak: walk to the brink and you stop at it.
Nothing was invented for this β it is vanilla's own behaviour, turned on for the duration of a fight.
Rivers finally know what country they are in
Found by Π±Π΅Π»Π΅Π±ΠΎΠ±ΠΈΠΊ, who asked whether taiga counts as a cold biome. It does β but his river did not, and that turned out to be the interesting half.
A river in Minecraft is its own biome, minecraft:river, base temperature 0.5. The mod reads the
biome at the water block, so the land a river runs through never reached the fish: a river across a taiga
scored as ordinary temperate water. And because a species whose biome list matches nothing at all is
treated as absent, not merely unlikely, this was not a small penalty.
Twenty of the sixty river species could not be caught in a river. At all. The whole northern group β taimen, trout, grayling, lenok, char, whitefish, plus pink salmon and smelt β asks for cold, taiga or mountain water, and a river offered none of them. The taimen has the highest river affinity of any fish in the mod and was catchable only in a frozen river. The warm Florida group β peacock bass, oscar, Mayan cichlid, snakehead, tarpon, snook, jack crevalle β could not be caught in any river, frozen or not. The five koi want a cherry grove, which a river never is.
A river now reads its banks. Eight directions, out to 32 blocks, taking the first real land in each and skipping any water on the way. A taiga river is cold and temperate, so the taimen moves in without evicting the roach; a jungle river holds the Florida fish; a river through a cherry grove holds koi. Lakes, ponds and the sea are untouched β they always sat inside the biome they belong to.
If your home river suddenly holds fish it never did, that is this. It was a bug, and a big one.
A bleak cannot be humpbacked
Reported by Π±Π΅Π»Π΅Π±ΠΎΠ±ΠΈΠΊ, whose friend landed five yellow bleak in a row, each named hunchback.
Two of the three morphs β the stunted fish of a fished-out water and the deep-bodied one of an overcrowded one β applied to every species in the game. They are real conditions and the mod is right to model them, but they are things that happen to still-water fish in a pond, and a bleak is a slender surface fish of 150 g with nowhere to put a hump. The same table was handing them to eels, pike, salmon and blue marlin.
Humpbacked is now the fish that actually go deep-bodied in a crowded pond β the carps, the breams, tench, roach, rudd, ide, nase, bluegill, and the perch, because Β«ΠΎΠΊΡΠ½Ρ-Π³ΠΎΡΠ±Π°ΡΒ» is the name Russian anglers already use for exactly that fish. Seventeen species instead of seventy-nine.
Stunted stays broader, because any freshwater population fished past its recovery does stunt, and a runt is a shape most small fish can take β but nothing that lives at sea. Twenty-nine species.
Nothing about the rates or the triggers changed. A crowded water still produces humpbacked fish at the same rate; it just no longer produces humpbacked bleak.
For players who learned 0.7.0
The arrows are bound out of the box; you do not have to set anything up. If you want the old WASD feel, bind the four River Fishing entries to W/A/S/D in Controls β the game will flag the conflict with your movement keys, and that conflict is exactly the bug this release is about.
And the six things 0.7.0 got wrong
Your catch is no longer eaten by a full inventory
Reported by the mod's own author. Land a fish with no room in your bag and the mod threw it β along your line of sight, which is the water you were just fishing. A fish item that sits in water is released: the mod credits it back to the pond and deletes it. So the chat line said you caught it, the journal recorded it, the personal best updated, and there was nothing in your inventory.
The distinction the mod needed was already there and simply not consulted. Minecraft records a thrower on an item only when the drop was deliberate β the Q key. A drop the game performs because it had nowhere else to put something records none. The release now asks that question, so a fish you chose to let go still swims away and a fish you had no room for lies on the ground where you can pick it up.
Same fix, same cause: dying near water no longer deletes every fish you were carrying while the rest of your inventory floats.
A live bait no longer catches something smaller than itself
Reported by the mod's author, and worth stating plainly: a 150 g baitfish could land a 100 g perch. The rule that a predator is at least six times its meal has been in since 0.4.0 and was skipped on every spinning rod.
A predator rig has no bait slot β it is a leader and a lure, and the lure slot deliberately accepts a live baitfish. But the query that weighs the baitfish only ever looked in bait slots, so on the one rig class you actually livebait with, the bait weighed nothing and the size floor turned itself off. The two neighbouring queries in that same file already looked in both slots; this one did not.
The bait is gone when the fish takes it
Reported by the mod's author. Bait was charged only when you set the hook. Miss the strike, or let the bite window run out, and the worm was still on the hook β so the cheapest way to fish was to keep missing. The rod pod's own code comment said "bait gone" about a path that had never taken any.
"Did the fish eat the bait" now has one owner and one answer, and a bite you fluffed costs you the bait like a bite you landed. Artificial lures are still never consumed, and the Frugal perk still saves you bait at the same rate.
The mod no longer tells you to reel and not to reel at once
Reported by Makaronn. A big-game fish breaches, a red line appears β "It jumps β give slack, do not reel!" β and directly underneath it, in green, the fight prompt said reel. Both were on screen together. He waited for the red text to go, reeled, and lost the fish to the jump.
The fight prompt only knew whether the fish was running, and a breach can only happen when it is not. It never learned about jumps at all. It does now, for exactly the length of the window β and because the signal ends the instant the window closes, the moment it turns back to reel is a real all-clear rather than a message quietly timing out four seconds late.
The old boot advancement was backwards
Reported by Π±Π΅Π»Π΅Π±ΠΎΠ±ΠΈΠΊ, who fished up leather boots and got nothing. The check asked whether the loot was a boot after handing it to you β and handing an item over empties the stack it came in, so the answer was always no. It fired only when your inventory was full and the pickup failed. You now get it for the boot, which is the joke.
One answer for how many fillets
Reported by the mod's author. The knife pays by weight; the Farmer's Delight cutting board paid a fixed number per species. They disagreed by 2Γ on small fish and by up to 300Γ on big ones.
It turned out the second number was never obtainable: those recipes asked for a cutting tool that does not exist β Farmer's Delight has no action by that name, and Forge invents one silently for any name it is given, so the recipe loaded and then nothing in the game could ever satisfy it. The cutting board could not cut a fish on any version, ever. The number players compared against came off a JEI page for a recipe that could not run.
Those recipes are gone. Seven of the eight jars also stop logging 74 parse errors every time a world loads, because the condition that was supposed to hide them was written for one loader and shipped to four. The knife keeps the weight rule and gains a ceiling it never had: one fish is at most one stack of fillets, where a legendary catfish used to pay 500 and a blue marlin 1333.
The Filleting Knife is still registered as a knife for Farmer's Delight and anything else that looks for one.
Not a bug, but the wiki now says so
Asked by Π±Π΅Π»Π΅Π±ΠΎΠ±ΠΈΠΊ: a No.4 hook with a worm caught a 52 g goby, then a 21 g one.
That is working as designed, and the mod never explained it. Hook size decides which species can take; the individual fish's weight is then rolled inside that species' own range. Only a live baitfish or a heavy lure raises the floor on that roll. Roughly one round goby in five is under 21 g on any hook β and on a No.4 the small stuff genuinely was culled: of the river fish under 250 g, only the rotan and the goby can take that hook at all.
Also asked, and already true
oneshot asked for a config option to stop the visible fish spawning as entities. There is nothing to switch off: they are not entities. They are drawn on your client from a single packet β nothing spawns, nothing ticks, nothing pathfinds, and your mob cap is untouched.
Community
discord.gg/Kk2nKvsuRh β every line in this release came from there in under 48 hours. A report with a screenshot and your mod list gets fixed far faster than one without.
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:5acJO3EU:SSmos0Ot"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:5acJO3EU:SSmos0Ot"
}

