promotional bannermobile promotional banner

TerraMath

Create custom terrain using mathematical functions and formulas for unique procedural world generation.
Back to Files

terramath-1.4.0-1.21.11+forge

File nameterramath-1.4.0-1.21.11+forge.jar
Uploader
addavrianceaddavriance
Uploaded
Oct 19, 2026
Downloads
11
Size
1.3 MB
Mod Loaders
Forge
File ID
9259573
Type
R
Release
Supported game versions
  • 1.21.11

Curse Maven Snippet

Forge

implementation "curse.maven:terra-math-1149108:9259573"

Learn more about Curse Maven

What's new

Added

  • Equation mode. A formula with a single = (for example y = 64 + 8 * sin(x / 10)) is treated as an implicit surface: the world is solid where the left side is not greater than the right side. Formulas may now use y, which makes caves, floating islands and arbitrary 3D shapes possible
  • Live 3D preview inside the settings screen. A rotatable voxel preview is rebuilt in the background while you type, and a notice is shown when there is not enough screen space for it
  • Terrain settings are now available for all noise-based world types
  • NeoForge support for 1.20.4, 1.20.6, 1.21.1, 1.21.4, 1.21.11, 26.1.2 and 26.2
  • Builds for 1.21.4, 1.21.11, 26.1.2 and 26.2 on Fabric and Forge. One codebase now produces 23 jars: 1.20, 1.20.4, 1.20.6, 1.21.1, 1.21.4, 1.21.11, 26.1.2 and 26.2 for Fabric and Forge, plus every version from 1.20.4 on for NeoForge

Performance

  • Compiled formulas are called through a typed interface
  • Formula values are cached per column for formulas that do not use y, which speeds up chunk generation
  • Noise lookups that do not depend on y (simplex(x, z), perlin(x, 0, z)) are memoized per thread, so formulas that mix terrain noise with y no longer recompute it for every block
  • The formula cache is thread-safe
  • The preview evaluates in parallel and builds its mesh off the render thread

Changed

  • Random formula generator rewritten: it builds formulas from terrain archetypes, can crossbreed them, fits the scales to a sample and filters out dull results
  • Dropped Architectury in favour of per-target Loom projects. Sources are split into core, mc, loader and versions
  • Smoothing now applies only in Advanced mode, as in 1.3.0, and can be set to 0 to turn it off. Before, it was always on at 0.55 with no way to change it outside Advanced, which also made plain formulas five times more expensive
  • Building now needs JDK 25 for the 26.x targets (Gradle downloads it automatically)

Fixed

  • The formula was applied only around spawn on some 1.20.1 worlds. It now covers every newly generated chunk and survives re-entering the world (#22)
  • floor and round now return real numbers, so 1/floor(...) gives infinity instead of failing with an integer division by zero, and floor(5)/2 is 2.5. Errors without a message no longer show up as Syntax error: null (#21)
  • Points where a formula is not finite (Infinity, NaN) are treated as empty space instead of filling the world up to the build limit (#21)
  • A formula that fails to compile no longer hangs a dedicated server: it is logged and the world generates empty instead of crashing on a client-only class

Known issues

  • Heavy formulas that use y together with several noise calls can slow chunk generation