* Fixes error on exact ingredient array construction * Adds exact ingredient support for cooking and stonecutting recipes * Adds support for removing non-vanilla recipes (commit: a0ce641)
Generally poor to use nval() in a conditional since it could build a string when just checking for a null. In other cases, nval() is unnecessary when args have already been asserted as non-null. (commit: e8dbc3d)
While Paper's new CONSUMABLE_EFFECT cause has a better name, this keeps the current CHORUS_FRUIT value to avoid breaking existing scripts for now. (commit: 3c56d0a)
Move impl init/deinit to implementation test base class
Move `Implementation.setServerType(Implementation.Type.TEST);` and `StaticTest.InstallFakeServerFrontend();` from many test classes to `AbstractImplementationTest` and use that as parent class of those classes.
Fixes individual tests failing in the IDE and occasional test failures in the automated Linux build. (commit: eb2ca09)
Fix `eval()` not returning the resulting script string if the script consists of a `__statements__()` node with one child, which could be an expression that leads to a value.
Example that is fixed by this change: `msg(eval(dyn('bind(\'shutdown\', null, null, @e, msg(123))')))` (commit: b945de5)
Affected getting this type of item meta (e.g. shulker boxes and banners) prior to 1.20, and setting this type of meta from 1.18.2 to 1.19.4. (commit: b6f6a7b)
* Fix exception when setting poses on Spigot * Fix being able to set poses for Mannequins on Spigot * Fix exception when Mannequins are set to now invalid poses * Add 'fixed' argument for function on Paper servers (commit: ea73543)
This adds support for basic matrix math. In general, doing this natively should be much faster, as the underlying data remains a native java array of doubles, so no wrapping and unwrapping needs to occur for the various math operations. This library may be expanded in the future to cover more linear algebra scenarios, but the basic functionality is in place now. (commit: 44a89e1)
Calling @matrix[@x] now returns a CReal2dMatrixRow, which supports the set operation, passing it through into the parent object. This also creates the ArrayAccessSet, and defines the set method on that, and refactors array_set to support that instead of special casing individual array types. (commit: be6ad5e)
Upon upgrading to 1.21.9+, Minecraft will fail to convert spawn data with a spawn angle not normalized from -180 to 180, and will instead set spawn data (including coordinates) to zeroes. This only affects worlds that were set with a yaw above 180 using the new location array format added to set_spawn() in August. (commit: 0f50371)
Fix MethodScript usage from a file path that includes a "+" placing its configuration files / extensions / etc in that file path excluding the "+".
This was tested on Windows using MethodScript path C:\Users\NAME\Desktop\Test `~!@#$%€^&()-_=+[{]};'.,²³¤€¼½¾‘’¥×¶´ç¿ test\MethodScript\MethodScript.jar. (commit: bdc26f7)
Always link scopes + Preserve scoping for invalid numargs
- Always link AST term scopes, ensuring that for example ivariable references have a scope assigned to them. - Preserve scoping behavior for while/for/... functions with an invalid number of arguments. In these cases all arguments within such function will get their own scope, preventing a chain of unexpected SA compile errors on invalid while/for/... usage. (commit: 9eb4800)