-
v3.0.0 (Minecraft 26.2.x)
StableAll checks were successfulBuild / build (push) Successful in 1m11sreleased this
2026-07-06 09:16:21 -04:00 | 13 commits to 26.2.x since this releaseThis is the v3.0.0 Release of Greenhouse Config, which is additionally the first release to be hosted on the Greenhouse
Forgejo instead of GitHub.
Greenhouse Config has been rewritten from the ground up for a better experience.Build Specific Changes
- There is now only one runtime JAR, with Xplat, Fabric and NeoForge JAR contents included in the universal Greenhouse
Config JAR. - Depending on Greenhouse Config has been rewritten, please read the README.md for more information.
- Added
setmethod toGreenhouseConfigHolder. Which sets the config value in-memory. This value can later be
manipulated, saved, and/or synced. - Simplified equality checks for configs to just be the name and side of the config.
- This should serve to prevent inequality crashes internally.
Changes
- Updated mod icon and description.
- All package structure has been reworked to use
lgbt.greenhouse.config.api.v3for API, and
lgbt.greenhouse.config.implfor impl. - Greenhouse Config now operates off a builder system.
- Methods to build configs may be found in
GreenhouseConfigHolderrelated interfaces.- These interfaces are found within the
lgbt.greenhouse.config.api.v3package.
- These interfaces are found within the
- Raw RecordCodecBuilder/StreamCodec/DataFixerUpperBuilder based operations are still supported via any Greenhouse
Config Holder Builder. These are generally less encouraged in comparison to the builder.
- Methods to build configs may be found in
- Added
GreenhouseInheritedConfigHolder. This can be used to inherit values from a Greenhouse Config Holder or
Greenhouse Config Holder Builder meant for a common client to a specifically sided environment such as the client and
the server, as well as allowing for adding new values on top of these values.- The
SPLITside definition of the old config has been removed from the V3 API to better compatibility with split
source-set based environments.
- The
- Added
GreenhouseConfigDataFixerBuilder, which can be used to create data fixers for your config to update between
different schema versions. GreenhouseConfigDataFixerBuildernow supports defining previous config formats, these will be detected based on the
config's schema version and will rewrite the file to the new format when applicable.LateHolderandLateHolderSethave been rewritten to better integrate intoGreenhouseConfigHolderBuilder. The
Lateinterface has been removed.- Included built-in data fixes for ease of use when fixing config values.
- These are
GreenhouseConfigRelocateFieldsFix,GreenhouseConfigRemoveFieldsFix, and
GreenhouseConfigSetFieldsFixand are found within thelgbt.greenhouse.config.v3.dfu.fixpackage.
- These are
- Schema versions are now stored within a hidden
.greenhouse_config_metafolder instead of the config's file
attributes.- Configs with no schema version will be treated as V0, but will only ever be fixed in this case if the config has
any errors. - A fallback for the file attribute is included to correctly load configs made with older Greenhouse Config
versions.
- Configs with no schema version will be treated as V0, but will only ever be fixed in this case if the config has
- Events within Greenhouse Config now use Yumi for
a better loader agnostic experience.- All config related events are within
lgbt.greenhouse.config.api.v3.event.GreenhouseConfigEvents. - Greenhouse Config specific phases are within
lgbt.greenhouse.config.api.v3.event.GreenhouseConfigEventPhases.
- All config related events are within
- Swapped config reading/writing to use included libraries within
the Polyamory Project.- You will no longer need to depend on a separate project for your specific language.
- Polyamory only supports JSONC within this current release.
- Removed Night Config support. Removing TOML, HOCON and YAML language support.
- TOML will be re-added before release whenever I'm more ready to write it.
- YAML might be re-added if there's enough demand. If so, it'll be a low priority change.
- HOCON will not be re-added due to being more of a liability and generally having low demand.
- The implementation has been entirely rewritten from the ground up. It has been tested in a lot more conditions and
should generally be a lot more stable and less messy.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- There is now only one runtime JAR, with Xplat, Fabric and NeoForge JAR contents included in the universal Greenhouse