Changelog v1.2.17
✨Added:
- Allow space between $ and vanilla macro
- Allow function declaration inside function
- Preserve class context in
Hardcode
- Preserve class context in
- Add nbt operation
my_storage::my.path;
my_storage::my.path * 2;
my_storage::my.path = "Hello World";
my_storage::my.path = my_storage::other.path;
my_storage::my.path = my_storage::other.path[2:];
my_storage::my.path = my_storage::other.path[2:10];
my_storage::my.path >> "Hello World";
my_storage::my.path << "Hello World";
my_storage::my.path ^2 "Hello World";
my_storage::my.path ?= $my_var;
my_storage::my.path = $my_var;
my_storage::my.path = (float) $my_var;
my_storage::my.path = 2 * (float) $my_var;
my_storage::my.path += {key: "value"};
my_storage:: += {key: "value"};
my_storage::my.path.del();
my_namespace:my_storage::my.path;
my_storage::my.path;
my_storage::;
::my.path;
[0,0,0]::my.path;
@a::my.path;
@a[tag=test]::my.path;
- Add
@root
decorator to ignore the current class the function is defined in - Add
#bind EVAL
- allow
\
to be used for integer division inEVAL
- allow
#define CONST 5
#bind EVAL
$a = EVAL(CONST + 1);
- Add
#enum
#enum MyClass A B C D E
#enum Other 5 A B C D E
is equivalent to
#define MyClass.A 0
#define MyClass.B 1
#define MyClass.C 2
#define MyClass.D 3
#define MyClass.E 4
#define Other.A 5
#define Other.B 6
#define Other.C 7
#define Other.D 8
#define Other.E 9
🔧Fix:
- Fix
return run {...} with ... data ...
- Fix
.get()
not working on scoreboard player - Fix
.get()
not working with macro - Fix
return run execute
getting "optimized" - Fix vanilla macro breaking semicolon check
- Fix typo in Math.random algorithm
- Fix static path crashing
🎉Change:
- Make
indexString
work on source of NBT (@Nico314159) - Auto trim python code inside
JMC.python
- Overhaul
if else
algorithm, it should no longer create any unnecessary functions and skipping any number.