Conium script
Event types
Add events support:
- 'ITEM_USE_ON_ENTITY'
- 'ITEM_USED_ON_ENTITY'
- 'ITEM_USAGE_TICK'
- 'ITEM_USAGE_TICKING'
- 'ITEM_INVENTORY_TICK'
- 'ITEM_INVENTORY_TICKED'
- 'ITEM_STACK_CLICK'
- 'ITEM_STACK_CLICKED'
Event args
Add event args:
- 'CURSOR_STACK'
- 'CLICK_TYPE'
- 'SLOT'
- 'SLOT_NUMBER'
- 'SELECT_STATUS'
Event context
Modified ways to attach forever events, incoming a event type to ConiumEvent constructor and auto attach events, don't attach events manually since this version.
Interaction
In conium '1.0.0-alpha6' will input wrong identity when data-driven interactions, fixed in this version.
Bedrock script
Fluxia can translate for loop and while loop now.
Add type 'Set' for javascript stdlib supporting, must specify a reified argument type otherwise cannot be eval.
Data driven
Add item templates:
- 'force_mining_speed'
Versions
Update to minecraft version '1.21.4'. Update to kotlin version '2.1.0'.
Bug fixes
Fix bug of crash client when client player interaction to synchronized data in '1.0.0-alpha6'.
Others
Add character banner in logging. Performance optimizations.
Conium script
Event types
Add events support:
- 'BREAKING_BLOCK'
- 'BROKEN_BLOCK'
- 'ENTITY_DAMAGE'
- 'ENTITY_DAMAGED'
- 'ENTITY_DIE'
- 'ENTITY_DEAD'.
- 'ENTITY_TICK'
- 'ENTITY_TICKED'
- 'ITEM_USED_ON_BLOCK'
- 'SERVER_TICK_TAIL'
- 'FLUID_SCHEDULE_TICK'
- 'FLUID_SCHEDULE_TICKED'
- 'BLOCK_SCHEDULE_TICK'
- 'BLOCK_SCHEDULE_TICKED'
- 'SHULKER_BOX_OPENING'
- 'SHULKER_BOX_OPENED'
- 'SHULKER_BOX_CLOSING'
- 'SHULKER_BOX_CLOSED'
- 'CHEST_OPENING'
- 'CHEST_OPENED'
- 'CHEST_CLOSING'
- 'CHEST_CLOSED'
- 'TRAPPED_CHEST_OPENING'
- 'TRAPPED_CHEST_OPENED'
- 'TRAPPED_CHEST_CLOSING'
- 'TRAPPED_CHEST_CLOSED'
Event context
- The 'identity' of event context that input to 'arising' and 'presaging' have actual type now.
- Add more dynamic args transformer and more arg types
- Add method 'preRequest' in 'ConiumEventContextBuilder', used to make 'presage' trigger.
- Methods 'request' in 'ConiumEventContextBuilder' can input two lambdas now, first is 'arise', seconds is 'presage'.
- Add 'target' and 'targetTo' method in 'ConiumEventContext' used to filter the identity to trigger context.
Data driven interactions
See the samples, the 'glint' key in data define and interaction.kts script.
This sample let an item change glint status in hand, when player is creative mode, use the item on block will make this item be glint, otherwise then be not glint.
Data driven
Supported block templates:
- 'piston_behavior'
- 'walk_velocity'
- 'jump_velocity'
- 'movement_velocity'
- 'replaceable'
- 'instrument'
- 'path_find_through'
Networking
Add networking supports, the server can synchronize registry to client now, but only items, blocks and entities can be synchronized.
Others
Performance optimizations.
Notice
This version has been founds some severe bugs in script running, use newer version!
Data driven
Entity
Add model support, see the sample.
For bedrock schema is currently only parsable, not completed in loading.
Script
Add events:
- 'PLACE_BLOCK'
- 'PLACED_BLOCK'
- 'USE_BLOCK'
- 'USED_BLOCK'
Dynamic args can get any value from transforming others values now.
For example, even if the event context input has only present 'ItemPlacementContext', if you want get 'ServerWorld':
request(
PLACE_BLOCK,
SERVER_WORLD
).arising { _, world ->
// Actions here.
true
}
you can also get other any value where the transform is supported, even the value are not directly push to context.
Other
- Optimized performances.
Planning
More entity components and Molang, script APIs, first is conium schame entity components and script APIs.
Data driven
Block
Add supported to these components:
- 'minecraft:collision_box'
For bedrock schema and corresponding conium schema templates:
- 'collision_box'
Entity
Add basic entity supports, can create an entity and set the collision box (dimension) and pushable:
- 'minecraft:collision_box'
- 'minecraft:pushable'
For bedrock schema and corresponding conium schema templates:
- 'dimension'
- 'pushable'
The entity supported 'component_groups' but not be switchable now.
Other
- Optimized performances.
Planning
More entity components and Molang, script APIs, first is conium schame entity components and script APIs, delaying the bedrock schama entity components.
Data driven
Block
Add supported to these components:
- 'minecraft:destructible_by_explosion'
- 'minecraft:destructible_by_mining'
- 'minecraft:light_emission'
- 'minecraft:map_color' (Not completed)
For bedrock schema and corresponding conium schema templates:
- 'explosion_resistance'
- 'mining_time'
- 'luminance'
- 'map_color' (Not completed)
Other
- Optimized performances.
- Fix bug of shapeless recipe unable to load in '1.0.0-alpha2'
Planning
Entity components and Molang, first is entity components.
Basic datapack and scripts supports by Conium framework.
Data driven supported
Item
Current supported item components:
- 'minecraft:damage'
- 'minecraft:durability'
- 'minecraft:can_destroy_in_creative'
- 'minecraft:max_stack_size'
- 'minecraft:food'
- 'minecraft:rarity'
- 'minecraft:use_animation'
For bedrock schema and corresponding conium schema templates:
- 'minecraft:damage', 'minecraft:durability' is in 'tool', named as 'attack_damage', 'durability'
- 'can_destroy_in_creative'
- 'max_count'
- 'food'
- 'rarity'
- 'use_action'
The 'using_converts_to' in bedrock food component is moved to 'convert_to' in 'consumable'.
a full sample
{
"minecraft:item": {
"description": {
"identifier": "awa:bedrock"
},
"components": {
"minecraft:damage": 100,
"minecraft:durability": {
"max_durability": 50
},
"minecraft:can_destroy_in_creative": {
"value": true
},
"minecraft:max_stack_size": {
"value": 64
},
"minecraft:food": {
"can_always_eat": false,
"nutrition": 10,
"saturation_modifier": 1.0,
"using_converts_to": "bowl"
},
"minecraft:rarity": "uncommon",
"minecraft:use_animation": {
"value": "eat"
}
}
}
}
Recipe
Current supported recipe:
- 'minecraft:recipe_shaped'
- 'minecraft:recipe_shapeless'
recipes are current not supported 'unlock' yet now.
a full sample:
{
"minecraft:recipe_shaped": {
"description": {
"identifier": "awa:test_recipe"
},
"group": "wood",
"pattern": [
"###",
" # "
],
"key": {
"#": {
"item": "minecraft:bedrock"
}
},
"result": {
"item": "minecraft:grass_block"
}
}
}
Others
See github home README.