A modification of the Multiloader Template moreso geared towards the Greenhouse Team's mods.
| .forgejo/workflows | ||
| buildSrc | ||
| fabric | ||
| gradle | ||
| neoforge | ||
| xplat | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| build.gradle.kts | ||
| CHANGELOG.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| settings.gradle.kts | ||
Greenhouse Multiloader Template
This is a version of the Multiloader Template that is tailored towards Greenhouse's mods.
Swapping Versions
Versions and properties are not within gradle.properties. This is because Kotlin DSL does not play nicely with
gradle.properties.
Versions are contained within buildSrc/src/main/kotlin/dev/greenhouseteam/examplemod/gradle/Versions.kt.
Properties are contained within buildSrc/src/main/kotlin/dev/greenhouseteam/examplemod/gradle/Properties.kt.
It is ideal to change any mention of examplemod within the codebase when creating from this template.
Changes from MLT
The main changes from the Multiloader Template, which we have forked are:
- Uses Kotlin DSL instead of Groovy DSL.
- Renamed 'common' to 'xplat' to avoid sidedness confusion.
- Cut down on a few classes.
- Removed MinecraftForge support.
- This will not be added, I'd rather not support a dying loader that does not want to improve.
- Rewrites to expanded properties to fit loader conventions and create less overhead.
- Removal of access transformer file from Fabric's build and refmap line in xplat mixins.json for NeoForge.
- Added sided platform helpers for usage with client and server.
- Moved the access point for platform helpers to xplat's main class (house.greenhouse.examplemod.ExampleMod) with an additional casted reference inside the individual platform helper class.
- Set up client mixins from the example in the
mixin.clientpackage, following convention for Greenhouse mixins. - Modmuss' mod publish plugin is set up for both loaders. For CurseForge, Modrinth and Forgejo.
- Feel free to remove any of these, you may desire Forgejo only if the mod is supposed to be an internal library.
- You can run this with
publishMods. Just make sure tokens are set up.