Current Features:
- System for easy condition-based datapack logic (such as only enabling a certain worldgen feature with a specified config, or disabling recipes for a certain item when a specified mod is installed)
- System for automation of creating synchronized block tints based on the biome, by using data maps
- Extendable system for creating all blocks for things such as wood types or stone types at a time, plus hooks that can be used for data generation
- System for recipes that use item stacking mechanics, similar to how bundles work (for a specific example, see Ambrosium Shard infusion recipes in the Aether: Redux)
- A variety of datagen helper methods
- Helper methods for animation easing (I will very likely add a way to use these with vanilla's keyframe system in the future)
- Helper methods for creating serializable configuration files
- A couple of minor improvements, such as an improved version of the
SharedSuggestionProvider
, inspired by the Suggestion Provider Fix mod (which, as of writing this, has not yet been updated past 1.20.1) - A variety of useful
BiomeModifier
s and a few usefulStructureModifier
s - A few useful world generation classes
To use this library in your workspace, you will have a few steps to do.
First of all, enable the GitHub Packages plugin by adding this to your settings.gradle
file (or insert it in the existing code block if one exists):
Plugin Settings
pluginManagement {
repositories {
gradlePluginPortal()
}
}
and this to your build.gradle
(or again, add it to the existing code block if one exists):
Plugin Buildscript
plugins {
id 'io.github.0ffz.github-packages' version '[1,2)'
}
Next, add this to the repositories
code block of your build.gradle
file to use the repository's package:
Repositories
maven githubPackage.invoke("Zepalesque/Zenith")
and then finally this to the dependencies
code block (note that you will have to define the ${project.zenith_version} variable in your gradle.properties
file, which should be formatted as [MC VERSION]-[ZENITH VERSION]-[MODLOADER]
, for instance 1.20.4-1.0.48-neoforge
):
Dependencies
implementation "net.zepalesque.zenith:zenith:${project.zenith_version}"
jarJar fg.deobf("net.zepalesque.zenith:zenith:${project.zenith_version}") {
jarJar.ranged(it, "[${project.zenith_version},)")
jarJar.pin(it, "${project.zenith_version}")
}