Conium is a datapack and script framework for modern Minecraft, it provides very diverse features without Java coding, Conium lets you complete your mods only using datapacks.
Limits
Environments
Conium need the environments that matched this table:
Requirement | Version | Installs | Notes |
---|---|---|---|
Java | 21!! | Need | Only 21 can be use |
Minecraft | 1.21.3!! | Need | Only 1.21.3 can be use |
Fabric language kotlin | 1.12.3+kotlin.2.0.21!! | Need | Only kotlin 2.0.21 can be use |
Fabric API | ? | Unnecessary | Any version is ok |
Fluxia | 1.0.10!! | Unnecessary | Built-in contents translator |
Implements
Conium is a very new generation framework which it not yet completely done jobs that provides fully datapacks loading and script APIs supports, it can only runs sample for test now.
Data driven
Conium can load items, blocks, and entities dynamically in game running, just writes json file and put into datapacks directory(see details in github home).
Conium currently supporting:
Item components
Conium schema key | Bedrock schema impls | Notes |
---|---|---|
tool | * | Make the item be a tool |
attack_damage (tool) | minecraft:damage | Setting tool damage amount to entities |
attack_speed (tool) | No impl | Setting tool attack speed (the cooldown) |
durability (tool) | minecraft:durability | Setting tool durability |
effective_blocks (tool) | No impl | Setting what blocks can mined by this tool |
material (tool) | No impl | Setting the base data using material |
is_weapon (tool) | No impl | Make different durability consume when used to hit entity or break blocks |
effective_blocks (tool) | No impl | Setting what blocks can mined by this tool |
damage_chance (tool) | damage_chance (minecraft:durability) | Setting the probability of durability consuming |
can_destroy_in_creative | minecraft:can_destroy_in_creative | Setting block breakable in creative mode when holding this item |
max_count | minecraft:max_stack_size | Setting the max item stack count of the item |
food | minecraft:food | Setting the item be a food |
can_always_eat (food) | can_always_eat (minecraft:food) | Setting the food can always eats (no cooldown) |
nutrition (food) | nutrition (minecraft:food) | Setting the nutrition of the food |
saturation (food) | saturation_modifier (minecraft:food) | Setting the saturation of the food |
consumable | * | Setting the item has consumable behaviors |
convert_to (consumable) | using_converts_to (minecraft:food) | Setting the item will convert to other item when used |
apply_effects (consumable) | No impl | Setting the item will give effects to entity when used |
rarity | minecraft:rarity | Setting the rarity of the item |
use_action | minecraft:use_animation | Setting the using action of the item (client animation) |
fuel | minecraft:fuel | Setting the item can be put into furnaces and provides fuel time |
glint | minecraft:glint | Setting the item will glint showing (client display) |
armor | * | Setting the item be a armor and can be wear to the slot |
defense (armor) | protection (minecraft:wearable) | Setting the armor providing how much protection (defense) |
slot (armor) | slot (minecraft:wearable) | Setting the armor can wearing to what slot |
knockback_resistance (armor) | No impl | Setting the armor providing how much knock back resistance |
toughness (armor) | No impl | Setting armor toughness |
enchantable (armor) | No impl | Setting armor enchantable (Not completed) |
Block components
Conium schema key | Bedrock schema impls | Notes |
---|---|---|
hardness | minecraft:destructible_by_mining | Setting the hardness of the block |
map_color | minecraft:map_color | Setting the map color of the block (Not completed) |
luminance | minecraft:light_emission | Setting the lighting of the block (like torch or burning furnaces) |
collision | minecraft:collision_box | Setting the collision box of the block |
Entity components
For entities, supported to defines 'component_groups' in bedrock schema, but unable to switching now.Conium schema key | Bedrock schema impls | Notes |
---|---|---|
dimension | minecraft:collision_box | Setting the collision box of the entity |
pushable | minecraft:pushable | Setting the entity is can be pushing by other entities or pistons or fluids |
Bedrock script APIs
Conium is supporting to bedrock script APIs, you can put typescript(.ts) file into the script directory and Conium could run it automatically.
For documents, see Conium's github home.
Kotlin script APIs
Conium is supporting to kotlin script, you can put kotlin script(.kts) file into the script directory and Conium could run it automatically.
Documents are not done yet.