Voxel world generation modding platform
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
dfsek 358e09d05b
Merge pull request #383 from PolyhedralDev/ver/6.2.1
1 year ago
.github Update BUG_REPORT.md 2 years ago
buildSrc Merge pull request #381 from PolyhedralDev/ver/6.2.1 2 years ago
common rename from "2" to "v2" 1 year ago
gradle/wrapper update gradle version 2 years ago
platforms fix beard 2 years ago
.editorconfig Style: update editor config 3 years ago
.gitattributes Added Gradle + removed IDEA files. 4 years ago
.gitignore Git ignore 2 years ago
CODE_OF_CONDUCT.md Clean up language in code of conduct's license & attribution section 2 years ago
CONTRIBUTING.md reformat all code 2 years ago
LICENSE finalize licensing changes 2 years ago
README.md reformat all code 2 years ago
build.gradle.kts configure bukkit resource config properly 1 year ago
gradle.properties disable parallel build 2 years ago
gradlew Added Gradle + removed IDEA files. 4 years ago
gradlew.bat Added Gradle + removed IDEA files. 4 years ago
settings.gradle.kts add quilt platform implementation 2 years ago

README.md

Terra Logo

Terra

Terra is a modern world generation modding platform, primarily for Minecraft. Terra allows complete customization of world generation with an advanced API, tightly integrated with a powerful configuration system.

Terra consists of several parts:

  • A voxel world generation API with emphasis on configuration and extensibility
  • Several platform implementations, the layer between the API and the platform it's running on.
  • An addon loader, which allows addons to interface with the Terra API in a platform-agnostic setting
  • Several "core addons," which implement the "default" configurations of Terra. These addons can be thought of as the config "standard library"

Terra currently officially supports the Fabric mod loader and the Bukkit API (Paper and friends). We welcome Pull Requests implementing additional platforms!

Downloads:

Building and Running Terra

To build, simply run ./gradlew build (gradlew.bat build on Windows). This will build all platforms, and produce JARs in platforms/<platform>/build/libs

Production JARs:

  • Bukkit: Terra-<version>-shaded.jar
  • Fabric: Terra-<version>-shaded-mapped.jar

Building a Specific Platform

To build a specific platform, run gradlew :platforms:<platform>:build.

JARs are produced in platforms/<platform>/build/libs.

Running Minecraft in the IDE

To run Minecraft with Terra in the IDE (for testing) use the following tasks:

  • Bukkit
    • installPaper - Install a Paper test server. (Only needs to be run once).
    • installPurpur - Install a Purpur test server. (Only needs to be run once).
    • runPaper - Run the Paper test server with Terra (installPaper must have been run previously).
    • runPurpur - Run the Purpur test server with Terra (installPurpur must have been run previously).
  • Fabric
    • runClient - Run a Minecraft Fabric client with Terra installed.
    • runServer - Run a Minecraft Fabric server with Terra installed.

Contributing

Contributions are welcome! If you want to see a feature in Terra, please, open an issue, or implement it yourself and submit a PR! Join the discord here if you would like to talk more about the project!

Licensing

Parts of Terra are licensed under either the MIT License or the GNU General Public License, version 3.0.

  • Our API is licensed under the MIT License, to ensure that everyone is able to freely use it however they want.
  • Our core addons are also licensed under the MIT License, to ensure that people can freely use code from them to learn and make their own addons, without worrying about GPL infection.
  • Our platform-agnostic implementations and platform implementations are licensed under the GNU General Public License, version 3.0, to ensure that they remain free software wherever they are used.

If you're not sure which license a particular file is under, check:

  • The file's header
  • The LICENSE file in the closest parent folder of the file in question

Beta

Terra is still in beta! While it is stable, it is not feature-complete. There is a lot to be added!

Special Thanks

YourKit-Logo

YourKit has granted Polyhedral Development an open-source license to their outstanding Java profiler, allowing us to make our software as performant as it can be!

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of the YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.