Skip to content

Changes

Started 3 mo 5 days ago
Took 14 min
Allow set_entity_rotation() on players when possible

Currently only supported on Paper 1.19 or above
(commit: ada3b56)
PseudoKnight at
Fix functions missing on API page (Fixes #1397)
(commit: 9051332)
PseudoKnight at
Fix poor uses of Construct.nval()

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)
PseudoKnight at
Convert consumable effect tp cause

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)
PseudoKnight at
Remove unused static environment in C test util class
(commit: d799f3f)
Pieter12345 at
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)
src/test/java/com/laytonsmith/core/VarargTest.java src/test/java/com/laytonsmith/core/events/GeneralTest.java src/test/java/com/laytonsmith/core/objects/ObjectDefinitionTableTest.java src/test/java/com/laytonsmith/core/functions/RegexTest.java src/test/java/com/laytonsmith/testing/StaticTest.java src/test/java/com/laytonsmith/core/functions/MetaTest.java src/test/java/com/laytonsmith/core/functions/DataHandlingTest.java src/test/java/com/laytonsmith/core/constructs/InstanceofUtilTest.java src/test/java/com/laytonsmith/core/functions/DataTransformationsTest.java src/test/java/com/laytonsmith/core/compiler/signatures/FunctionSignaturesTest.java src/test/java/com/laytonsmith/core/functions/ControlFlowTest.java src/test/java/com/laytonsmith/core/functions/ThreadingTest.java src/test/java/com/laytonsmith/core/functions/MathTest.java src/test/java/com/laytonsmith/testing/ProcedureTest.java src/test/java/com/laytonsmith/tools/SyntaxHighlightersTest.java src/test/java/com/laytonsmith/core/MethodScriptCompilerTest.java src/test/java/com/laytonsmith/core/functions/BasicLogicTest.java src/test/java/com/laytonsmith/core/functions/ObjectManagementTest.java src/test/java/com/laytonsmith/testing/AbstractIntegrationTest.java src/test/java/com/laytonsmith/core/asm/IRMetadataTest.java src/test/java/com/laytonsmith/core/functions/SchedulingTest.java src/test/java/com/laytonsmith/core/TestStatic.java src/test/java/com/laytonsmith/core/functions/EchoesTest.java src/test/java/com/laytonsmith/core/constructs/ClassInfoTest.java src/test/java/com/laytonsmith/core/functions/ArrayHandlingTest.java src/test/java/com/laytonsmith/core/CodeTargetTest.java src/test/java/com/laytonsmith/testing/RandomTests.java src/test/java/com/laytonsmith/core/constructs/EnumTest.java src/test/java/com/laytonsmith/core/functions/PlayerManangementTest.java src/test/java/com/laytonsmith/core/events/PrefiltersTest.java src/test/java/com/laytonsmith/persistence/TestPersistence.java src/test/java/com/laytonsmith/PureUtilities/ReflectionUtilsTest.java src/test/java/com/laytonsmith/core/NewExceptionHandlingTest.java src/test/java/com/laytonsmith/core/functions/MinecraftTest.java src/test/java/com/laytonsmith/core/StaticAnalysisTest.java src/test/java/com/laytonsmith/core/OptimizationTest.java src/test/java/com/laytonsmith/core/constructs/TestCClassType.java src/test/java/com/laytonsmith/core/functions/StringHandlingTest.java
Pieter12345 at
Fix ArrayTest dependency on test order
(commit: 16c775b)
Pieter12345 at
Fix eval() not returning some script results

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)
Pieter12345 at
Fix getting BlockStateMeta prior to 1.20

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)
PseudoKnight at
Add support for Minecraft 1.21.9

* Material "CHAIN" changed to "IRON_CHAIN"
(commit: 261a1e8)
PseudoKnight at
Remove missing artifacts from shading

These were not being included and were unused.
(commit: 0c1dcff)
PseudoKnight at
Fix uncaught Error in ifelse()

Fix Java Error being thrown for `ifelse()` without arguments.
(commit: f696e06)
Pieter12345 at
Optimize constant condition cases in ifelse()
(commit: 50c7036)
Pieter12345 at
Fix ifelse() optimization

Fixup for the previous commit.
(commit: d8fe6d8)
Pieter12345 at
Fix some issues in set_entity_pose()

* 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)
PseudoKnight at
Update azure-pipelines.yml for Azure Pipelines
(commit: 3767063)
LadyCailin at
Update azure-pipelines.yml for Azure Pipelines
(commit: eb8bd92)
LadyCailin at
Add missing Execute operator type in docs
(commit: dbc15ea)
Pieter12345 at
Include cause on getAbstractCREException() failure
(commit: 0bed6bd)
Pieter12345 at
Add matrix functions.

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)
LadyCailin at
Fix array_get typecheck

Issue introduced in 520a2bb1b.
Fixes compile error when using `array_get()` on `Exception` type objects.
(commit: e61eaa6)
Pieter12345 at
Fix resource location formatting in docs
(commit: 677c65c)
PseudoKnight at
Add entity effects from Paper up to 1.21.6

Now continues executing a script if the entity effect does not exist, similar to play_sound(), for future removals.
(commit: e600ddc)
PseudoKnight at
Normalize yaw for set_spawn() location argument

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)
PseudoKnight at
Fix error in core on CompositeFunction execution
(commit: 4e87b72)
Pieter12345 at
Fix MethodScript usage from path including a "+"

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)
Pieter12345 at
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)
Pieter12345 at
Fix saving player respawn locations with non-normalized yaw

Affected Minecraft 1.21.9+
(commit: cdd8ec0)
PseudoKnight at