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.12.3.jar

File namesablewaves-2.12.3.jar
Uploaded
Aug 15, 2026
Downloads
448
Size
131.9 KB
Mod Loaders
NeoForge
File ID
8656672
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

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

Learn more about Curse Maven

What's new

2.12.3

Performance fix, and it's a big one if you play near a coast.

Somebody reported the mod costing them about half their framerate near the ocean, and their friend dropping to zero and the game locking up entirely. Same bug, different computers.

To draw the sea the mod has to measure every column of water you can see — where the surface is, how deep it goes, and in shallow water a search outwards to find where the shore is. That last part is the expensive one and it only runs near land, which is why this hit when you approached the ocean rather than out in the middle of it.

Each measurement was kept for two seconds. Sounds sensible. Isn't, because every column in view gets measured on the same frame when you arrive, so two seconds later they all go stale on the same frame too. One frame in every forty was re-measuring the entire visible ocean at once — up to a million block lookups in a single frame. On a quick machine that's a stutter you'd read as "this mod costs me 50 fps". On a slower one that frame takes long enough to look like a freeze, and since it comes round every two seconds it never gets clear.

Two fixes. Columns now go stale on their own staggered schedules instead of all together, and there's a limit on how many can be re-measured in one frame — anything over the limit just keeps last frame's answer. Terrain doesn't move, so you can't see the difference.

Auto quality was also set to allow 9ms a frame before stepping in, which is over half a frame at 60fps. A mod halving your framerate was technically inside its budget. It's 5ms now, and since the old number is sitting in everybody's config file already, this version resets that one setting on first launch. Everything else you've changed stays exactly as you set it.

There's one other thing I fixed on suspicion rather than proof. Everything Minecraft draws goes through a single shared geometry buffer, and if the mod ever threw an exception halfway through filling it, it walked off still holding it — and then the next thing to draw anything would fail too. That would explain a rendering error appearing several frames away from whatever actually caused it. It always hands the buffer back now, even when something's gone wrong.

If it's still rough, there's a Surface Cost Logging toggle under Visuals. One line a second with the real millisecond cost, how many columns are being re-measured and what quality step it's dropped to.

This mod has no additional files