A Minecraft Mod for turning the game into a graphing calculator.
mod
  • Java 90.7%
  • Rust 9.3%
Find a file
Pixaurora fb47d6ae89
Use setup-gradle task
Signed-off-by: Rina <rina@pixaurora.net>
2025-08-31 09:32:11 -04:00
.forgejo/workflows Use setup-gradle task 2025-08-31 09:32:11 -04:00
gradle downgrade gradle so that gensources works 2025-08-02 19:55:29 -04:00
module/natives Upgrade libjane to commit 0290524956 2025-08-13 20:16:45 -04:00
src/main Fix coordinates in chunk sections from only being 0-15 2025-08-03 11:18:06 -04:00
.editorconfig Disallow placing trees on spiral terrain, fix editorconfig 2023-02-11 23:03:11 +01:00
.gitattributes Initial commit 2022-10-31 16:21:25 -04:00
.gitignore Lay the groundwork for JNI support 2025-07-26 14:46:16 -04:00
build.gradle.kts Java 21 in root project 2025-08-02 19:58:41 -04:00
gradle.properties change packages to new website location 2023-07-14 23:59:26 -04:00
gradlew downgrade gradle so that gensources works 2025-08-02 19:55:29 -04:00
gradlew.bat downgrade gradle so that gensources works 2025-08-02 19:55:29 -04:00
LICENSE.md Fix license 2022-11-01 11:32:41 -04:00
README.md edit README to be about the mod 2023-07-08 12:48:25 -04:00
settings.gradle.kts Lay the groundwork for JNI support 2025-07-26 14:46:16 -04:00

Janerator

A mod for using multiple types of generators in a single Minecraft world to have more varied terrain, such as flat and normal.

This is done by graphing an inequality on the horizontal plane (x and z coordinates) of the world and then using an alternate generator for where that inequality returns true. By creating a more complex inequality, you can make a world take almost any shape, just like how the base game allows for endless creativity!

A blue-green spiral generated using the mod

Graphing Inequalities

Using an example inequality x > z will create its respective graph in-game:

A world with a line dividing flat and normal terrain

You can also define variables, which can then be used in a final inequality which is what decides where each type of generator is used.

For example, the first screenshot can be created using the following variables and inequality:

variables: [
    "phi = (1 + sqrt(5)) / 2",
    "log_phi = ln(phi)",
    "dist_squared = x^2 + z^2",
    "angle = ln(dist_squared) / log_phi"
],
inequality: "(z - x * tan(angle)) * sgn(tan(angle) * csc(angle)) > 0"

All math is parsed and evaluated using mXparser, so you can use its own docs where relevant to help you write equations.

Built-in Functions and variables