Releases: WingedSeal/jmc
Releases · WingedSeal/jmc
v1.2.12
Changelog v1.2.12
🔧Fix:
- Fix
Unrecognized JSON file's type
error position - Improve error message position
- Fix
playsound ... weather
- Fix index out of range error
- Fix negative values not working on variable operation
$var *= -1
$var = -1
$var += -1
(JMC will usescoreboard players remove
in this case)
🎉Change:
- Display full traceback when encountering unexpected error
- Print newline when the program closes
v1.2.12-alpha.1
Changelog v1.2.12-alpha.1
✨Added:
- Allow obj:selector in condition
- Add Hardcode.repeatLists
🎉Change:
- Improve error messages (Parenthesis vs Bracket)
- Split compile time to actual compiling time and building time
- Store path inside config file as relative path
- Since it's relative, you can now share jmc_config.json
- Improve error message display
- Use
^^
instead of<-
- Use
v1.2.11
Changelog v1.2.11
✨Added:
- Add
$var=true
and$var=false
- Allow variable without operator in condition
if ($isYes) {
- Add
properties
key toTeam.add
- Add
Entity.launch(power=1)
🔧Fix:
- Fix
GUI.registers
of 0th item - Fix
execute store
withexecute
($var = execute ...
) creating 2 spaces - Fix header syntax error of uninstall showing wrong line
- Fix spacing in macros
- Use custom hash function for objective name of
onEvent
- The objective name used to be something like
on_event0
which cause a huge problem when developing datapack since you can't change the scoreboard criteria
- The objective name used to be something like
- Fix empty FormattedText not working
- Fix
execute if data
causing false positive on missing semicolon
🎉Change:
- Change
mob_type
inItem.createSpawnEgg
tomobType
- Change criteria in Player.onEvent to keyword
- Move Team.add to LoadOnly
- Ignore the
@import
if the file has already been imported - Improve distribution of Math.random
v1.2.11-alpha.1
Changelog v1.2.11-alpha.1
✨Added:
- Add
#dels my_command
to ignore command when searching for missing semicolons- Used when your namespace/etc. is the same as a command
- Add
Item.createSpawnEgg(itemId, mob_type, displayName, onPlace, lore, nbt)
- Add
#uninstall
header to automatically modify youruninstall
function to remove traces of the datapack
🔧Fix:
- Fix
... is already defined
showing -1 col and line inItem.registers
- Fix
","
being treated like normal,
in function arguments - Fix
GUI.registers
modifying item's internal nbt affecting further use of the item
🎉Change:
- Improve error message on list
- The error now points at the item in list instead of the list itself
- GUI.registers now default to first item when score is missing
- Make every onEvent of the same criteria run from the same objective
- Read and write as utf-8
- Special characters will now be parsed correctly
v1.2.10
Changelog v1.2.10
✨Added:
Advancement.grant(@s, only, story/enter_the_end, namespace=minecraft)
- @bdkeAdvancement.revoke(@s, only, story/enter_the_end, namespace=minecraft)
- @bdke- Add
?=
and=
operator for supportingexecute store
$currentAmmo = data get entity @s SelectedItem.tag.ammo;
$currentAmmo ?= data get entity @s SelectedItem.tag.ammo;
🔧Fix:
- Fix
execute ... run execute if ...
causing index error - Fix GUI items not getting killed
- Fix new not accepting array(
[
) in JSON
new item_modifiers(jfr_wins) [
{
"function": "minecraft:set_nbt",
"tag": "{display:{Name:'{\"text\":\"Multiplayer wins\",\"color\":\"gold\",\"italic\":false}',Lore:['{\"scores\":{\"name\":\"@s\",\"objective\":\"jfrWins\"}}']}}"
}
];
🎉Change:
- Update API
- Improve API for jmc.txt
- Delay deletion of old namespace until compilation is finished
- Add missing worldgen json file types for newer minecraft version - @AmericanBagel
v1.2.10-beta.4
Changelog v1.2.10-beta.4
✨Added:
- API for pipelining JMC's output into other python libraries
from jmc.api import PyJMC, EXCEPTIONS
🔧Fix:
- Fix random spaces in condition result
- Fix
loot ... loot
not working - Fix
$var = -<integer>;
throwing error
🎉Change:
}
will no longer terminate the command in vanilla syntaxtellraw ... {...};
will now require a semicolon
v1.2.10-beta.1
Changelog v1.2.10-beta.1
✨Added:
GUI.registers
🔧Fix:
- Fix enderchest mode not working for GUI
- Fix objective:selector not working as scoreboard argument
- Fix using macro before operator causing unexpected space
MACRO:keyword
->replacement :keyword
🎉Change:
- Remove player option from GUI
v1.2.10-beta
Changelog v1.2.10-beta
✨Added:
- Scoreboard.add(objective, criteria, displayName)
- Bossbar.add(team, displayName)
- Team.add(id, name)
- GUI.template
- GUI.register
- GUI.create
GUI.template(
MainMenu,
["---------",
"---ACD---",
"---------"],
mode=block
);
GUI.register(MainMenu, "A", diamond_sword, onClick=()=>{say "YES";});
GUI.register(MainMenu, "C", arrow);
GUI.register(MainMenu, "D", air);
GUI.create(MainMenu);
function __tick__() {
execute positioned 2 -60 0 run GUI.run(MainMenu);
}
🔧Fix:
- Fix error message on the wrong file causing IndexError, again
- Fix FormattedText swapping objective and selector
🎉Change:
- Only add
__int__
scoreboard if ints are actually used - Add log when error happens at wrong file
v1.2.10-alpha.1
Changelog v
✨Added:
- Schedule expression
schedule function myFunc() 1t append;
schedule clear myFunc();
schedule 1t append {say "command";}
schedule 1t {say "command";}
- Old vanilla schedule command still works
- Add
Object.isEqual
Object.isEqual(type1: Keyword, source1: string, path1: Keyword, type2: Keyword, source2: string, path2: Keyword) -> Boolean
- Add
Hardcode.repeatList
for strings instead of numbers
Hardcode.repeatList(
"obj",
()=>{scoreboard players reset @s obj;},
["my_obj1", "my_obj2", "my_obj3", "my_obj4", "my_obj5"]
);
🔧Fix:
- Fix import causing IndexError when an error occur
- Fix IndexError due to wrong error file path
- Fix error message showing the wrong file
- Fix empty text causing error in Item.createSign
- Fix
schedule clear
raising error - Fix
}
terminating setblock command early - Fix ValueError "maxIter paremeter is not number"
- Fix vanilla
execute ... run function
not working - Fix spacing in condition when using
-
sign - Fix vanilla function call not working
- Fix
Timer.add
runOnce
not working - Fix
matches
not working in condition - Fix negative as argument not working
- Fix "operations" typo in
Timer.set
- Fix player name as selector not working in
Timer.add
- Fix
Timer.add
bugs with player name selector
🎉Change:
- Improve
execute run
optimization - Timer now run at
@s
- Allow Player name as selector
String.isEqual
now is able to use any type of data instead of just storage- Change
Player.onEvent
to use criteria type instead of an existing scoreboard objective
v1.2.9
Changelog v1.2.9
✨Added:
- Add
!=
and!==
operator
🔧Fix:
- Fix operator
:
problem in parsing function arguments and condition - Fix spacing in condition
- Fix double = in function argument not triggering error
- Fix passing function name as argument causing error in the result datapack
🎉Change:
- Allow warped_fungus_on_a_stick in
Item.create
'sonClick
- Remove space from FormattedText's result json
- Remove space from
.toString
's result json