Skip to content

River Fishing 0.8.0

Choose a tag to compare

@qwazar14 qwazar14 released this 23 Aug 17:55

River Fishing 0.8.0 — a rod you can feel, groundbait you mix yourself, and a journal worth reading


Minecraft 1.20.1 (Fabric & Forge) · 1.21.1 (Fabric & NeoForge) · 26.1.2 (Fabric & NeoForge)
· 26.2 (Fabric & NeoForge).

Three headlines. The rod became a real object — thirteen hand-modelled blanks that bend, whip and
fight in your hands. Groundbait stops being four jars and becomes one base you mix your own into. And
the journal stops being a list of fish you have caught and becomes the book that explains the mod —
with the tables you would otherwise have had to open the wiki for. Twelve new species come with them,
from a two-gram sunbleak to a half-tonne beluga.

The rod is a rod now

Every rod in the game was a picture: a 16-pixel sprite held at an angle, with a pre-drawn bent copy for
when a fish pulled. All thirteen are now modelled, hand-built blank by blank — grips, reel seats,
guides, the lot — and the one that ends up in your hands is drawn at its true length. A feeder rod is
three blocks of carbon, because a feeder rod is 3.9 metres of carbon.

They bend as a chain. A blank is cut into sections — up to eight on the sea spinner — and each joint
turns a little more than the one behind it, so the tip travels furthest and the butt barely moves. That
is forward kinematics, which a model file cannot express (its rotations are baked at load and only three
angles are legal), so the chain lives in the renderer and is recomputed every frame at any angle.

And they bend toward the fish. Not down — toward. A fish running left lays the blank over to the
left; swing the camera to counter it and the bend follows the pull, which is what tells you where the
fish went. Look down past your own line and the rod rolls over and bows up toward it, because that is
where the pull is.

The blank has mass. Each rod carries its own spring — a whippy ultralight and a broomstick trolling
rod are not the same object — so turning your view leaves the tip trailing, and it overshoots on the way
back. A fish hitting the line kicks that same spring, and the rod visibly yanks.

The line is threaded. It leaves the spool, runs through every guide ring and out of the tip, and its
colour, thickness and transparency come from the line you actually spooled: braid draws dark and solid,
fluorocarbon nearly vanishes, 0.8 mm carp mono is visibly heavier than 0.1 mm braid. Off the tip it runs
to the water — welded to the drawn tip, through bend, whip and jerk alike.

The reel turns. All eleven sizes are modelled and seated on the rod's own seat, the handle sweeps
while you crank, and the knob orbits with the lever while staying level, the way a real one spins on its
bearing.

The fight is played with the camera. Holding your view against a run is the primary input now, like
steering a rod in a simulator — the four key bindings still work as a quiet override, but nothing tells
you to press them. And nothing tells you which way the fish went any more: the boss bar no longer
spells out "going LEFT — pull RIGHT", and the arrow glyph under the crosshair is gone. The rod says it.
That was the whole point of building it.

The bend reads the blank, not the line. These two are different things and conflating them was a
real bug: tension is measured against your line's breaking point, and heavy tackle deliberately keeps
that number low — so a trolling rod stayed arrow-straight over a hooked 2 kg bass. The bend now reads the
fish's pull against the rod's own power class, derived from its casting rating. The same fish bows an
ultralight flat and makes a trolling rod nod.

The line reads the fight. It pulls string-straight under load with a fine tremble near breaking, and
bellies well below the chord when the fish runs at you — with the whole readable middle in between,
chased asymmetrically, because a line snaps tight instantly and relaxes at cable speed.

Rods on a rod pod are real blanks too, lying through both saddles with the line leaving the actual tip.
And the bank surge at the end of a fight is a roll now — 35% normally, more for a trophy or a hard
fighter, never for a boot — instead of a scripted certainty every single time.

Everything above is on by default. /rfrod blank off puts the sprites back and /rfrod phys off stops
the springs, if you want the old look or your machine prefers it.

The second headline is groundbait. It used to be four jars you bought or crafted and threw at the water, and
the water either liked them or did not. It is now one base and whatever you put in it — and what you
put in it is the difference between catching bleak all evening and catching the bream you came for.

This replaces the old groundbait entirely. The four jars are gone from the game: from crafting, from
the fisherman's trades, from every fish profile. Nothing carries over. Read the first section before you
go fishing, because "throw more at it" is no longer an answer to anything.

One jar, and it is a base

Craft Wheat Seeds + Bread → 2 × Base Groundbait. The fisherman sells it too.

You can feed a spot with plain base and it works — just not very well. It sits exactly in the middle,
neutral grind and neutral richness, with nothing it is sharpened for. Everything else is what you
add.

Put the base in a crafting grid together with anything, up to 8 more items. One SLOT is one item: a
stack of 64 in a slot still counts once, because crafting takes one item from a slot. The base is
required — corn and boilies are not groundbait on their own, they are what you put in groundbait.

You cannot overfeed a spot. Throw as much as you like: more feed means more fish, and feeding never
makes a swim worse. The one thing groundbait cannot do is out-argue its own recipe. How strong a swim
gets is decided by what went into the mix, not by how much of it you tipped in. The question is not "how
much" — it is "made of what".

Four numbers, and your fish has an opinion about all of them

Every mix has a grind and a richness, averaged over everything in it by count. Every one of the
All 91 species now have their own preferred pair, in place of the old "this fish likes this category":

menu       how much of the mix is food this fish actually eats  (its own bait list)
grind      1 - |mix grind - species grind|            -> 0.45 .. 1.00
richness   1 - |mix richness - species richness|      -> 0.60 .. 1.00
variety    0.90 .. 1.00, by number of distinct components

total = menu x grind x richness x variety, capped at 1.0
an unfed spot = 0.40

★ A big grind calls big fish. Dust clouds the water and brings up bleak and roach. Whole grain and
boilies lie on the bottom, and that is what a bream or a carp is looking for. A 20 g bleak wants 0.14; a
4 kg carp wants 0.73. This is also the honest answer to "why do I only catch tiddlers" — it is a choice,
not a bug. Feed coarser. A coarse table does one more thing: it flattens the size curve, so what
turns up is more often a decent fish.

Richness is how much food, and how much of it is wanted. A carp wants a laid table (0.85); a bleak
wants a cloud (0.46), and a table laid for the carp is not what the bleak came for. This is why "just
throw boilies" does not work — boilies are the richest and coarsest thing in the pantry, which is exactly
why they are perfect for carp and useless for roach.

Ballast is the most important thing in the pantry. Groundbait Soil and Clay give you bulk, cloud and
colour and zero calories, so they are how you make a mix leaner and bigger without making it worse.

The vanilla shelf is real, not a courtesy. Wheat, bread, potato and beetroot are an hour's work, and
over the base they mix into something that genuinely fishes. You do not have to wait for a corn farm to
start feeding.

There is a full article on the wiki with the pantry table, the formula, a
worked example, a ten-recipe cookbook found by brute force rather than guessed, and the grind/richness
pair for all 91 species. Four pages of it are in the in-game journal too.

The last mix in wins, and the feed works where you fish

Throw a different mix on a fed spot and the new one takes over — no blending, no averaging. Throwing
the same mix again tops it up.

And a fix that mattered more than it looks: a loaded feeder cage was scored as if you had fed the
swim, at the cast surface
. It handed the spot a flat middling freshness at the finest possible grind,
which usually beat the mix actually sitting on the bottom — so a carp angler feeding whole grain was
being scored as if fishing over dust. The swim is now the only thing that answers "is there feed here",
and it answers about the place the rig is lying.

One fillet

There were two items: a "fish strip" if you crouched with the filleting knife, and a "raw fillet" if you
did not. Same knife, same fish, and the only real difference was the yield — a hidden shift key on a
number rather than a choice about anything.

Now there is Raw Fish Fillet, one product, 200 g per piece. It is the universal saltwater bait,
a groundbait component, and it smokes, smelts and campfires into Cooked Fish Fillet.

Also gone: the shapeless recipe that turned any tagged fish into a flat 4 strips with no knife
involved, which meant a 20 g bleak and a 400 kg marlin paid the same and the knife's weight scaling could
be skipped entirely.

The electrofisher puts fish in

The creative-only operator tool could only take a species out of a water. It now puts one in as well,
and the same click does both — restoring a fish you culled and introducing one that was never there
turned out to be literally one operation.

That also fixes an undo that never worked. The old list was built from what could be caught in that
water, and a culled species cannot be — so the fish you removed fell out of the very list that was
supposed to offer it back. The list is now every species, so the row is always there.

Any fish, any water. No habitat gate: it is an admin tool, and a stocked species has always stayed
catchable at a quarter of full activity however badly the water suits it. Put a marlin in a pond if you
want a marlin in a pond.

The fish are in families now

Ninety-one names in one flat list is a list nobody reads, so every species is filed under one of
seven families — Carp family (25), Predators (18), Sea fish (16), Big game (13), Salmon & trout (10),
Koi (5), Sturgeons (3)
— and the electrofisher's picker has a family column with "how many live here /
how many exist" beside each. The families are on the species page too.

The family is written in each profile, not derived from the fish's numbers. Deriving it files a koi under
carp because it weighs what a carp weighs, and an asp under predator because it hunts — when an asp is a
cyprinid and takes cyprinid groundbait.

Twelve new species, at both ends of the ladder

Six that outgrow every rod in the shop, and five you can catch with a stick and a maggot.

The giants. The beluga sturgeon is the Tsar-Fish the sturgeon's own description hinted at: half a
tonne, sea and big rivers, and a level gate of 12 — the ladder used to stop at 9, so there is now
something above the top of it. The arapaima is three metres of armoured Amazon that has to surface
for air and jumps like a tarpon at four times the weight. The piraiba hunts the deep channel after
dark. The goliath grouper is a third of a tonne of reef whose entire fight is the first ten seconds,
before it reaches the hole it lives in. The bull shark is the one shark that swims up the river, so
it turns up in fresh water where no shark should be. And the frilled shark is a living fossil from
water that never sees the sun — deep drops at night, and the rarest thing in the mod.

The tackle they need. All six take a leader, the heaviest line you own, and a boat or bottom rod;
five of them sit in the master trade tier beside the taimen and the sturgeon.

The small fry. The golden crucian finally splits the crucian in two — the silver one keeps the
crucian_carp id, so nothing in your journal, keepnet or aquarium turns into air. The bitterling
lays its eggs inside living mussels and is too bitter to eat. The sunbleak lives in the top foot of
any pond, puddle or ditch. The sculpin sits under stones in cold clean streams, and the tubenose
goby
is at home from a river mouth to brackish shallows. All four weigh under 100 g, which means they
all fit the mini-aquarium — the tank had four candidate species and now has eight.

And one in the middle: the golden dorado, the river tiger of South America — gold scales, a
bulldog jaw, and three jumps a fight. Wire trace, or it bites straight through.

Pick your hook at the bench

The Tackle Station used to tie whatever hook it felt like. There is now a button either side of the
hook size
, it ties the one you chose, and it bills you the iron for it.

The journal is the book now

The journal held your catch records, a quest list and a shelf of how-to pages. Everything else about the
mod — which water a fish wants, what it eats, what tackle it breaks, what a lure is for — lived on the
wiki, which is a browser tab away from a game you are playing. That is the wrong place for it.

It starts with a bug, and the bug is the reason the rest was worth doing. The species page read the
fish profiles straight off the client. Profiles are server-side data, so on a dedicated server a client
has none of them
— and water, bait, tackle, season, depth, trophy weight and the level gate were all
behind one check that was simply false. Half of every species page rendered as nothing, said nothing
about it, and nobody had reported it because the mod is mostly played alone. The journal no longer asks
the profile manager anything: the server builds a card per species and sends it with the journal. 91
species, 46 KB, four and a half per cent of the packet limit.

Fish. A family rail down the left — the same seven families the electrofisher uses — a search box,
and the list sorted by the level that unlocks each fish instead of the alphabet, so it reads as the
ladder it is. The species page is two columns now: the illustration and records on one side, and on the
other the water, the season, the hour, the depth and width, the baits ranked best-first, the rods and
rigs, the reel size, the line, the fight and the trophy weight.

Records is a new tab: your biggest fish, your totals, your trophies, your ice catches, and every
species you have landed ordered by weight.

Bait & feed — the old Bait tab — is one sortable table, and it finally states the thing players kept
asking: a bait works on the hook AND in the mix, and lures are a different job for a different rod.
Every groundbait component is a row with its richness, grind and predator pull as numbers, so the
pantry article you needed the wiki for is in the book.

Lures got their own tab, because they were never bait. Each lure is on its own three axes — depth,
action and speed — with the retrieve that works it, and a live colour reading: the page looks at
the hour, the sky and the biome you are standing in and tells you whether natural, bright or dark is what
this water wants right now.

Gear is four tables, because rods, reels, lines and rigs are four different things and one table
shape had been making all four unreadable. Every heading sorts — click for a column, again for the
other direction, again for the shelf's own order.

Guides are ordered by the quest stages, so the shelf reads in the order you actually play: first
casts, then float and feeder where groundbait is learned, then predators, the bench, reading the water,
the ice, the sea, and last the operator tools. 23 pages, eight of which now carry a table computed
from the code's own constants
rather than typed by hand — drag, line stress, the hook bill at the
bench, trolling speeds. Ice fishing finally has a page; it was the one whole mode of the mod with no
guide at all.

Fixes

  • A rod on a rod pod stopped blunting its hook. Anything fishing through a pod was wearing no tackle
    down at all.
  • The journal's Seen column judged every line by its material alone. 0.10 mm mono and 0.80 mm mono
    both read 1.00, while the bite engine had always weighed material and diameter and treated the thick
    one as eight times as conspicuous. The page now prints the engine's own number — 0.50 for 0.10 mm mono,
    1.00 for the 0.20 mm reference, 4.00 for 0.80. Nothing about fishing changed: the engine was never
    the half that was wrong, and no line got better or worse. Only the number you were shown.
  • "Леска моно 0.50" in a column of nine "Монолеска". Each line ladder was built in two goes and the
    second half drifted — in English too, Mono line against Mono Line and Braid line against Braided Line. One name per ladder now.
  • Guide, bait and gear pages drew a scrollbar and then refused the wheel. Anything past the bottom of
    the parchment was unreachable, on every page that was not the fish list.
  • Clicking a reel in the gear table opened a rod. Rows you were not looking at kept last frame's
    coordinates.
  • Russian headings collided with each other and left 66 px for the item name, so every line read
    "Монолеска …". Columns are measured from their own headings now, in whatever language.
  • The mix recipe was a 32× item printer. One slot is one item; it had been counting the stack.
  • A lean mix was strictly the best groundbait in the game, at any price — richness now has to be
    earned rather than avoided.
  • The mix recipe turned dirt into groundbait and then washed it clean — ballast buys leanness, not
    volume, so it no longer pays out jars of its own.
  • Two items had tooltips written in all three languages and nothing to draw them.
  • The jar was shipping a source archive. A 1.3 MB zip of the artist's sprite export sat in the
    resource folder and rode into every build — downloaded by every player, read by nothing. The build now
    refuses archives and working files outright, so the next one cannot sneak in.
  • The art is smaller for the same picture. Every journal illustration and item sprite was re-packed
    losslessly, and the newest ones brought down to the same palette the other seventy were already on:
    9 MB down to 7.5 MB of art, with the jar under 11 MB on every loader despite twelve new species.
  • The store page claimed fourteen things the code does not do.

Community

Groundbait as a mix-it-yourself system was asked for repeatedly, and the model here follows the logic
players already know from Russian Fishing 4 without adding a single new item to chase. The electrofisher
putting fish in came from wanting the tool to be symmetrical: it could break a water and not mend one.

The journal rework came out of a simpler complaint: a mod this deep should not need a second screen open
to be played. Anything you had to leave the game to look up is a thing the book should have said.

Every one of the twelve new species was somebody's request. The Amazon three — arapaima, piraiba, golden
dorado — plus the bull shark and the goliath grouper came from idkwho0457_07869, the same player who
supplied the Florida nine in 0.7.0. The frilled shark and the beluga came from Colin_Brittan, a
commercial fisherman in real life, who also asked for the fish that ended up defining the top of the
level ladder. The two little gobies are белебобик's "two annoying fish for feeder anglers". More
freshwater cyprinids was Dmitriy_Smile [RF4]'s ask, and splitting the crucian into silver and golden
was promised publicly to vptareo-aao — it is done, and the silver one kept its id, so nothing in your
journal changed.

Thank you for the reports — the feeder-cage bug and the rod-pod hook wear were both found by people
fishing, not by me reading code.

Discord: https://discord.gg/Kk2nKvsuRh