Releases: constellation-mc/commander
0.5.0 (1.20.4)
What's New:
User Changes:
This update introduces new JSON commands to interact with persistent data.
commander:store_nbt_data which allows you to store a simple string or number value,
and commander:store_expression_data just like store_nbt_data, but with expressions.
{
"type": "commander:store_nbt_data", //command type
"target": "level", //the target we want to attach data to.
"selector": "origin", //Selector for position and entity targets.
"key": "cmd_my_cool_data", //The data key for later reference.
"element": "Hello World!" //Our string or number value. This is a nbt element, so true and false are not supported.
}store_expression_data is identical, but element is renamed to expression and only accepts expressions.
The target can be one of the following:
levelcurrent level. Any selector.chunkselected chunk. Position selector.entityselected entity. Entity selector.block_entityselected block entity. Position selector.
Later on this data can be used in expressions like so:
level.storage.my_cool_data * 0.7 or this_entity.storage.even_cooler_data == 'freak''.
Along with the JSON command this update introduces a the cmd:data brigadier command. This command allows you to read and write data just like the JSON command.
The syntax goes like this:
cmd:data -> operation (read/write) -> target -> selector (@s/~ ~ ~) -> key (-> data (for write))
Other Changes:
- Moved mappings cache to
~/.commander. - Mapping are now saved as compressed TSRG2.
Dev Changes:
- Added
is(Type)Valueto expression result.
0.5.0 (1.20.1)
What's New:
User Changes:
This update introduces new JSON commands to interact with persistent data.
commander:store_nbt_data which allows you to store a simple string or number value,
and commander:store_expression_data just like store_nbt_data, but with expressions.
{
"type": "commander:store_nbt_data", //command type
"target": "level", //the target we want to attach data to.
"selector": "origin", //Selector for position and entity targets.
"key": "cmd_my_cool_data", //The data key for later reference.
"element": "Hello World!" //Our string or number value. This is a nbt element, so true and false are not supported.
}store_expression_data is identical, but element is renamed to expression and only accepts expressions.
The target can be one of the following:
levelcurrent level. Any selector.chunkselected chunk. Position selector.entityselected entity. Entity selector.block_entityselected block entity. Position selector.
Later on this data can be used in expressions like so:
level.storage.my_cool_data * 0.7 or this_entity.storage.even_cooler_data == 'freak''.
Along with the JSON command this update introduces a the cmd:data brigadier command. This command allows you to read and write data just like the JSON command.
The syntax goes like this:
cmd:data -> operation (read/write) -> target -> selector (@s/~ ~ ~) -> key (-> data (for write))
Other Changes:
- Moved mappings cache to
~/.commander. - Mapping are now saved as compressed TSRG2.
Dev Changes:
- Added
is(Type)Valueto expression result.
0.4.1 (1.20.4)
What's New:
User Changes:
- Fixed
arrayAllMatchacting likearrayAnyMatch. - Added
attributesfield to living entities. - Loot Context access in expressions is now cached.
0.4.1 (1.20.1)
What's New:
User Changes:
- Fixed
arrayAllMatchacting likearrayAnyMatch. - Added
attributesfield to living entities. - Loot Context access in expressions is now cached.
0.4.0 (1.20.4)
What's New:
User Changes:
This update extends the expression syntax to support nbt and block properties.
- Returned to downloading mappings at startup.
- Compound and List NBT tags are now properly supported.
- Added
nbtfield to item stacks, entities and block entities.
This Allows you to access NBT data like so: this_entity.nbt.Air. You should avoid NBT access, as it can get extremely slow.
- Added
propertiesfield to *states.
This can be used to access block state properties like so: block_state.properties.candles.
- Added lots of new functions. Consult the wiki for more info!
- Added
short_circuittodefaulted,all_of,any_of. If true, commands will terminate immediately upon the condition failing. hasContextandstructContainsKeynow accept VarArgs.- Removed arbitrary map support, as it was pretty poorly implemented.
- Constants are now case-sensitive.
Dev Changes:
- Moved Command codecs to MapCodec.
- Added BooleanExpression, similar to Arithmtica.
- Added
runTriStateto EventExecutors.
0.4.0 (1.20.1)
What's New:
User Changes:
This update extends the expression syntax to support nbt and block properties.
- Returned to downloading mappings at startup.
- Compound and List NBT tags are now properly supported.
- Added
nbtfield to item stacks, entities and block entities.
This Allows you to access NBT data like so: this_entity.nbt.Air. You should avoid NBT access, as it can get extremely slow.
- Added
propertiesfield to *states.
This can be used to access block state properties like so: block_state.properties.candles.
- Added lots of new functions. Consult the wiki for more info!
- Added
short_circuittodefaulted,all_of,any_of. If true, commands will terminate immediately upon the condition failing. hasContextandstructContainsKeynow accept VarArgs.- Removed arbitrary map support, as it was pretty poorly implemented.
- Constants are now case-sensitive.
Dev Changes:
- Moved Command codecs to MapCodec.
- Added BooleanExpression, similar to Arithmtica.
- Added
runTriStateto EventExecutors.
0.3.2 (1.20.4)
What's New:
- Slightly improved error messages returned by
cmd:arithmetica.
0.3.2 (1.20.1)
What's New:
- Slightly improved error messages returned by
cmd:arithmetica.
0.3.1 (1.20.4)
What's New:
- Added
hasContextfunction to expressions. Allows checking if loot context has the required parameter:if(hasContext("tool"), "Hi", "Bye")
0.3.1 (1.20.1)
What's New:
- Added
hasContextfunction to expressions. Allows checking if loot context has the required parameter:if(hasContext("tool"), "Hi", "Bye")