Home›Java›Mods›TerraMath
TerraMath
ModsJava

TerraMath

Java mod listed for Minecraft 1.20–1.21. Downloads from the MC Java Mods app on Android.

by addavriance · on CurseForge

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 1.20.6–1.21.4 · Fabric⬇ Download for 1.20.2–1.20.4 · Fabric⬇ Download for 1.20–1.20.1 · Fabric⬇ Download for 1.20.6–1.21.4 · Forge⬇ Download for 1.20.2–1.20.4 · Forge⬇ Download for 1.20–1.20.1 · Forge
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.
TerraMath — screenshot 1TerraMath — screenshot 2TerraMath — screenshot 3TerraMath — screenshot 4TerraMath — screenshot 5TerraMath — screenshot 6

Discord Modrinth Curseforge GitHub

Fabric API Minecraft

Description

TerraMath is a Minecraft 1.20 - 1.21.x mod that allows you to customize world generation using mathematical functions. Create unique landscapes by defining terrain height through mathematical formulas!

You can also join my Discord to find more formulas or share yours.

Features

How to Use on Client

image

Parameter Configuration

  1. Go to "World" tab in world creation screen
  2. Open the terrain settings screen
  3. Enter your desired formula in the field
  4. Adjust additional parameters (optional):
    • Scale
    • Base Height (determines average surface level)
    • Height Variation (amplitude of changes)
    • Smoothing (terrain transition smoothness)
  5. Choose noise type and settings (optional):
    • Noise type: Perlin, Simplex, Blended, Normal
    • X, Y, Z coordinate multipliers
    • General noise height multiplier

How to Use on Server

  1. Start the server with TerraMath mod installed
  2. Check the config folder, there will be a terramath.json file
  3. Set the necessary parameters manually in the file, or…
  4. …configure the mod on your client
  5. Set the parameters and save the config
  6. Transfer the config file to the server's config folder

Important Server Notes:

Formula Examples

Basic wavy landscape: sin(x)image

Spiky volcanic-like terrain with steep slopes: abs(sin(x/10))*exp(cos(z/15))*8 + tanh(sqrt(x^2 + z^2)/20)*15image

Rolling mountains: sin(x/8)*cos(z/8)*10 + abs(sin(x/20))*15 + sqrt(abs(x/10))*5image

Some crazy and heavy thing: round(sin(x/15))*10 + round(cos(z/15))*10 + sqrt(abs(sin((x+z)/20)))*15image

Terraced landscape with plateaus: floor(sin(x/20) * cos(z/20) * 5) * 4 + sqrt(x^2 + z^2)/10image

Crater-filled terrain: 10 * (1 - exp(-((x/30)^2 + (z/30)^2) / 2)) + 5 * perlin(x/50, 0, z/50)image

Available Functions and Operators

Mathematical Functions:

Trigonometric:
- sin(x) - sine
- cos(x) - cosine
- tan(x) - tangent
- csc(x) - cosecant
- sec(x) - secant
- cot(x) - cotangent
- asin(x) - inverse sine
- acos(x) - inverse cosine
- atan(x) - inverse tangent
- atan2(x,y) - two-argument inverse tangent
- acsc(x) - inverse cosecant
- asec(x) - inverse secant
- acot(x) - inverse cotangent

Hyperbolic:
- sinh(x) - hyperbolic sine
- cosh(x) - hyperbolic cosine
- tanh(x) - hyperbolic tangent
- asinh(x) - inverse hyperbolic sine
- acosh(x) - inverse hyperbolic cosine
- atanh(x) - inverse hyperbolic tangent
- csch(x) - hyperbolic cosecant
- sech(x) - hyperbolic secant
- coth(x) - hyperbolic cotangent
- acsch(x) - inverse hyperbolic cosecant
- asech(x) - inverse hyperbolic secant
- acoth(x) - inverse hyperbolic cotangent

Root and Power:
- sqrt(x) - square root
- cbrt(x) - cube root
- root(x,n) - nth root of x
- pow(x,y) - x raised to power y
- exp(x) - exponential (e^x)

Logarithmic:
- ln(x) - natural logarithm
- lg(x) - base-10 logarithm

Rounding and Numbers:
- abs(x) - absolute value
- floor(x) - largest integer less than x
- ceil(x) - smallest integer greater than x
- round(x) - rounds to nearest integer
- sign(x) - returns sign of x (-1, 0, or 1)
- mod(x,y) - remainder of x divided by y
- gcd(x,y) - greatest common divisor
- lcm(x,y) - least common multiple
- modi(x,y) - modular inverse

Special Functions:
- gamma(x) - gamma function
- erf(x) - error function
- beta(x,y) - beta function

Random Number Generation:
- rand() - random number between 0 and 1
- randnormal(mean,stdev) - random number from normal distribution
- randrange(min,max) - random number between min and max

Noise Functions:
- perlin(x,y,z) - perlin noise
- simplex(x,y,z) - simplex noise
- normal(x,y,z) - normal noise
- blended(x,y,z) - blended noise
- octaved(x,z,octaves,persistence) - octaved noise

Utility Functions:
- max(x,y) - maximum of x and y
- min(x,y) - minimum of x and y
- sigmoid(x) - sigmoid function (1/(1+e^-x))
- clamp(x,min,max) - constrains x between min and max

Constants:
- pi, π - 3.14159... (π constant)
- e - 2.71828... (Euler's number)
- phi, φ - 1.61803... (Golden ratio)
- zeta3, ζ3 - 1.20205... (Apéry's constant)
- catalan, K - 0.91596... (Catalan's constant)
- alpha, α, feigenbaum - 2.50290... (Feigenbaum constant)
- delta, δ, feigenbaumdelta - 4.66920... (Feigenbaum delta)
- omega, Ω - 0.6889 (Cosmological constant)

Variables:
x, y, z - block coordinates in world

Operators:
+, -, *, /, ^, (), !

Known Issues

Contributing

Feel free to report bugs or suggest features through the issue tracker!

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more