Thank you for your interest in contributing! This is an internal ToolkitMC developer tool, but contributions from trusted collaborators are welcome.
- Prerequisites: Java 21, Git
- Clone:
git clone https://github.com/ToolkitMC/macroEngine-fabric.git - Bootstrap Gradle (first time only, if wrapper jar is missing):
./bootstrap.sh
- Build:
./gradlew build
- Test: Copy the resulting JAR from
build/libs/into your Fabric server'smods/folder.
- Java 21, idiomatic style
- No external dependencies beyond Fabric API
- All commands must require
permissionLevel(2)(operator) - Function template strings use Java text blocks (
"""...""") - Generated
.mcfunctionfiles follow macroEngine conventions:- Comments explain purpose and call signature
- Macro arguments documented as
# Args: {key: value} - Storage namespacing:
<ns>:engine,<ns>:input,<ns>:output
- Add a private static method
templateMyModule(Path, String, String, String)inModuleRegistry.java - Register it in the
static {}block:register("my_module", ModuleRegistry::templateMyModule); - Update the
README.mdmodule table
- Keep PRs focused — one feature or fix per PR
- Describe the change and why it's needed
- Test with a live Fabric server before submitting
- Fill in the PR template
Follow conventional commits:
feat: add <module> module template
fix: correct namespace detection in executeAdd
chore: update Fabric API to 0.111.x
docs: update README module table