promotional bannermobile promotional banner

Sablewaves

Minecraft’s oceans were never meant to stay flat. With Sablewaves you can experience Minecraft the way it was meant to be.
Back to Files

sablewaves-2.23.2.jar

File namesablewaves-2.23.2.jar
Uploader
Arapatoc288Arapatoc288
Uploaded
Sep 13, 2026
Downloads
419
Size
177.4 KB
Mod Loaders
NeoForge
File ID
8869381
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:sablewaves-1634962:8869381"

Learn more about Curse Maven

What's new

2.23.2 — the wakes have never worked

ok this one is embarrassing so let's do it first.

wakes have never worked. not once. in any version i have ever released.

not "worked badly". not "worked on some setups". the code that draws them threw an error every single time it was called, from the very first version, for everybody.

here's the actual thing. the packet handler was registered as a lambda. java erases the type on a lambda like that down to the bound of the generic, not down to Object — and i'd written it so the compiler baked in Object instead of CustomPacketPayload. so the method the game looked for and the method that actually existed had different signatures. every time a wake packet arrived, AbstractMethodError.

1,747 of them per session. from the render thread. writing about 18MB into your log file every time you played.

so if your game has ever felt inexplicably chuggy near boats, or your logs folder was mysteriously enormous — that was me. for the entire life of the mod.

the fix was recompiling one file. the source never changed. it was wrong in the bytecode, not in the code, which is exactly why i never spotted it by reading.

i also built a checker that reads the lambda table now, so this specific class of bug can't get past me again.


you can finally see the ocean

here's the other thing. this mod has been simulating a lot that nobody could ever look at. proper semidiurnal tides, two highs and two lows a day, wider at full and new moon. wind fetch reaching 300 blocks upwind. an ekman spiral turning the surface drift 45° off the wind. gyres two and a half thousand blocks across.

all real. all affecting your ship. none of it anywhere you could see it.

so, four new things:

tide clock — which way the water's going, how long until it turns, and whether this is a spring tide or a neap one. the maths was already there, it just never told anyone.

barometer — reads the pressure and forecasts about 8000 ticks ahead. falling pressure means weather coming. this is how you decide whether to leave harbour.

sea almanac — hold it up and the sea tells you everything at once. sea state, wind force, current speed and heading in proper compass points, and how sheltered you are, which comes from the fetch the mod already computed.

anchor — holds you against the current with a rode length and holding power that depends on what's under you. sand holds well, rock barely holds at all. this one's the newest and the least tested of the four, so tell me if it's weird.

they're in the tools and utilities tab.


and about 2.23.0 and 2.23.1

those crashed on startup. if you tried one, sorry.

i'd put the new blocks in static final fields, which builds them the moment the class is touched — and that happens during mod construction, way before the registry is open. Registry is already frozen, dead before the title screen. it's the exact reason DeferredRegister exists and i went around it by hand for no good reason.

fixed, and there's now a checker that opens the jar and reads every static initialiser looking for this, so it can't happen again either.


if you're updating from 2.22.0 or earlier: you don't have to do anything, just swap the jar. and delete the old one, don't keep both.

This mod has no additional files