[Forge 1.20.4] v2.3.0-prerelease.1
Curse Maven Snippet
What's new
JCM v2.3.0-prerelease.1 for MTR 4.0.5 has been released!
This release contains breaking changes to JCM's internal codebase. Common addons have been tested against, however some addon depending on JCM may break.
This is a prerelease, some QOL changes for scripting has been introduced.
General
- Fix Forge crashing on launch
Technical
Scripting
- Compiled scripts are now re-used during parsing stage, which may improve loading time during parsing time for large packs.
- When passing in JS objects in
print()orconsolefunctions, they will now output the corresponding JSON string instead of[object Object]. - When encountering a runtime error, only the JS stacktrace will be logged in the console to reduce clutter.
- For convenience, all non-deprecated methods with an
Identifierargument now also has a correspondingStringvariant. Thus you can pass in a string like"mtr:font"instead of wrapping it withResources.id().- For
Resources.idr(), simply prepend your string with./. - Note: Relative path can still only be used during parsing stage.
- For
StateTracker.setState()now returns a boolean on whether the state is changed or not, instead of needing a separate check.- Added the
Javautil class- Allows creation of native java array via
Java.newArray, or converting from a listJava.toArray - A global
asJavaArrayfunction is added for interoperability with ANTE. However scripts targeting JCM should useJava.toArrayinstead.
- Allows creation of native java array via
- Slightly improved ANTE backward compatibility support, including read-only custom config.
Translations
Translations for JCM is now hosted on ZiYue's Weblate
Download:
You can download this release on Modrinth, CurseForge or GitHub
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include

