/
This update is a complete overhaul from the prior version. Much of the fundamental behaviors remains the same, but the engine behind those behaviors has been changed. Furthermore most all of the APIs have been overhauled in one way or another. For specific documentation please see the Allium Docs.
Major items have been given a title in bold.
self keyword.java library using the primitive name (ex. java.boolean)java.callWith(). Forces a method invocation with the provided parameter type list, instead of inferring them from the parameters.java.coerce(). Coerces an object that inherits from either Collection or Map into a table.java.wrap(). Forcibly wraps a primitive value in one of the Java wrapper classes.java.throw(). Throws a provided exception.mixin manifest entrypoint. Used to declare mixins before the game launches.script:registerReloadable(), expects a require-like path to a file that will be executed whenever the script's reload method is called.__len metamethod is now provided on all objects where a Java .size() method or .length field is present. This means that any object with either can now have their size inspected with the # prefix.allium and java APIs have been moved from Bouquet to here.package.environment is now accessed with the allium.environment() function.static manifest entrypoint has been renamed to main"mapping" key in script's manifest.json is no longer supported.dynamic entrypoint has been removed in favor of using script:registerReloadable().package.environment to compensate for the removal mentioned above. Use package.environment == "client" in a conditional to isolate logic that's only meant to be run on the client.mappings field to manifest.json. Currently the only available option is "yarn", but expect that to change soon!Initial Public Release of Allium
