A Hytale server mod built with Java.
This project is proprietary and released under the custom
KweebecJS All Rights Reserved.
Source code inspection is allowed, but distribution of the software, source code, forks, patches, or modified versions is prohibited unless the recipient is explicitly listed in EXEMPTIONS.md under a written License Exemption from the copyright holder.
Server script API documentation is available in:
- docs/README.md (category index)
- DOCS.md (legacy entry point)
- JavaScript event system for runtime mod content:
lang:register,items:register,blocks:register,recipes:register. - Runtime asset pipeline based on
runtime_assets/and in-game loading through asset pack registration (no zipfs dependency). - Typed asset loading from JS via
Asset.load(path, AssetTarget.X)with extension/type validation and idempotent caching. - Item registration and partial/full overrides with builders:
ItemEntry,ItemProperties,ItemPropertiesOverrideItemSpecialProperties,ItemSpecialPropertiesOverride
- Block registration and partial/full overrides with builders:
BlockProperties,BlockPropertiesOverrideBlockSpecialProperties,BlockSpecialPropertiesOverrideBlockObject/BlockArrayhelpers for complex structured properties
- Automatic
KweebecJS_namespacing in Java for generated custom block/item IDs. - Optional auto-generated block item support (with configurable icon and ability to disable generation).
- Runtime language entry generation through
lang:register. - Runtime recipe add/override/delete patching through
recipes:registerwith workbench/category helpers. - Reload command (
kweebecjsreload/kjsreload) that fully undoes and rebuilds runtime-generated content.
./gradlew shadowJarThe output JAR will be in build/libs/.
./gradlew deployModBuilds the fat JAR and copies it to the Hytale server mods/ folder.
Use the included run configurations in your IDE:
- Run Hytale Server - Builds, deploys, and starts the server
- Debug Hytale Server - Same as Run, with remote debugger on port 5005
- Build Mod - Compiles without deploying or starting the server