Back to mods
TerraMath project artwork

CurseForge · Minecraft mod

TerraMath

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

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which TerraMath release should I use?

Updated 1 year ago
Latest stable file terramath-1.3.0-1.20.6+forge.jar
Game version 1.21, 1.21.4, 1.20.6
Loader Forge

terramath-1.3.0-1.20.6+forge.jar targets 1.21, 1.21.4, 1.20.6 with Forge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

Is TerraMath required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Forge
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does terramath-1.3.0-1.20.6+forge.jar need?

terramath-1.3.0-1.20.6+forge.jar. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

2 listed on this file 2 pulled in by those mods
Catalogue Optional for terramath-1.3.0-1.20.6+forge.jar
optional
Matching file found Matched file: Catalogue 1.11.2
Mod Menu Optional for terramath-1.3.0-1.20.6+forge.jar
optional
No matching file
Configured Needed by Catalogue
pulled in
Matching file found Matched file: Configured 2.6.3
Framework Needed by Configured
pulled in
Matching file found Matched file: Framework 0.13.11

2 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add TerraMath without breaking your instance.

Built for terramath-1.3.0-1.20.6+forge.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use terramath-1.3.0-1.20.6+forge.jar. It targets 1.21, 1.21.4, 1.20.6 with Forge; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside terramath-1.3.0-1.20.6+forge.jar. It opens that exact file at the source.

About this project

What does TerraMath add?

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

  • Custom world generation through mathematical formulas
  • Adjustable basic generation parameters (scale, height, variation, smoothing)
  • Configurable noise overlay on top of your base formula
  • Support for mathematical constants in formulas

How to Use on Client

image

  • World generation settings interface

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:

  • For the config to apply to a new world, make sure the useDefaultFormula parameter in the config is set to true
  • After changing config settings, you'll need to delete the existing world and restart the server for the new terrain formula to take effect
  • Alternatively, you can transfer your entire world folder from a client to the server - the world will continue to generate according to the same formula without requiring config changes

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

  • Extreme formulas that produce XXL landscapes may impact performance (probably not a completely solvable problem)
  • Random number generation functions can significantly impact world generation performance when used extensively. Consider using these functions sparingly, especially in complex terrain formulas, as they may cause frame rate drops or increased chunk loading time

Contributing

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

Project description from CurseForge.

Pick your setup

TerraMath by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

24 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

TerraMath versions and loaders

10 of 10 releases match

Looking for an older file? The official CurseForge project page is in Resources.