Compatibility
Minecraft: Java Edition
1.21–1.21.3
1.20.5–1.20.6
Platforms
Supported environments
Creators
Details
Licensed Apache-2.0
Published 4 months ago
Updated 13 hours ago
Changelog
The very first release for multiple Minecraft versions! This version has a lot of changes regarding shooters, enchantments and songs.
For more details regarding the split and future you can look at the roadmap to 1.21!
Changes
Item Behaviour Components
- Added the following item behaviour components:
minecraft:ominous_effect_provider
- Renamed
minecraft:recordtominecraft:playable_song.- This makes it consistent with
minecraft:playableand describes the behaviour better. - The term 'song' is used due to the new Jukebox songs that were added in 24w21a.
- Its value is now an id pointing to a Jukebox song instead of containing the song data itself.
- This value can be changed for individual item stacks in the
minecraft:jukebox_songdata component.
- This makes it consistent with
So if you had this:
{
"minecraft:record": {
"description_key": "item.minecraft.music_disc_cat.desc",
"duration": 3700,
"output_signal": 2,
"sound_event": "minecraft:music_disc.cat"
}
}
You must now use this instead:
{
"minecraft:playable_song": "minecraft:cat"
}
With the following Jukebox song:
{
"comparator_output": 2,
"description": {
"translate": "jukebox_song.minecraft.cat"
},
"length_in_seconds": 185.0,
"sound_event": "minecraft:music_disc.cat"
}
minecraft:consumable
- Added a new optional field called
has_consume_particles.- Its value is a boolean which determines whether particles are displayed when consuming the item.
- It has a default value of
true.
- Added a new optional field called
sound.- Its value is a sound event and determines what sound to play when consuming the item.
- If no sound is specified, it will not play any sound when consuming the item.
Example:
{
"minecraft:consumable": {
"has_consume_particles": false,
"result_item": "minecraft:glass_bottle",
"sound": "minecraft:item.honey_bottle.drink"
}
}
minecraft:enchantable
- Removed the
enchantmentsfield.- This behaviour is now specified by data-driven enchantments via the
supported_itemsfield. - To allow any enchantment on this item, like the Book item, the
transforms_intofield must be set instead.
- This behaviour is now specified by data-driven enchantments via the
minecraft:forgeable
- Removed the item behaviour component.
- This behaviour is now specified by data-driven enchantments via the
supported_itemsfield.
- This behaviour is now specified by data-driven enchantments via the
minecraft:ominous_effect_provider
- This behaviour adds the Bad Omen effect when its user finishes using the item.
- Its effect amplifier is retrieved from the
minecraft:ominous_bottle_amplifierdata component, just like vanilla. - Its value is an empty map.
minecraft:projectile
- Removed the
damagefield.- This data is now specified in the
minecraft:shooteritem behaviour component in theitem_damagefield.
- This data is now specified in the
- Removed the
charged_speedfield.- This data is now specified in the
minecraft:shooteritem behaviour component in thecharged_power_rulesfield of aminecraft:chargeableshooter method.
- This data is now specified in the
minecraft:shooter
- Removed the
chargeablefield.- This behaviour is replaced with shooter methods.
- Added a new field called
method.- Its value is a shooter method which determines what kind of shooter this item is.
- See the shooter methods section for more information.
- Added a new field called
item_damage.- Its value is an item damage provider and determines the damage to apply to the item stack when used to shoot.
- Format:
rules: A list of item damage rules. Determines the damage to apply to the item stack. See the item damage rules section for more information.default_damage: A non-negative integer. The default damage to apply.
- This value can be changed for individual item stacks in the new
minecraft:shooter_damage_rulesdata component.
Example:
{
"minecraft:shooter": {
"ammunition": "#minecraft:bow_ammunition",
"held_ammunition": "#minecraft:crossbow_ammunition",
"item_damage": {
"default_damage": 1,
"rules": [
{
"damage": 3,
"items": "minecraft:firework_rocket"
}
]
},
"method": {
"type": "minecraft:chargeable",
"charged_power_rules": {
"default_power": 3.15,
"rules": [
{
"items": "minecraft:firework_rocket",
"power": 1.6
}
]
},
"default_charge_time": 1.25,
"default_charging_sounds": {
"end": "minecraft:item.crossbow.loading_end",
"mid": "minecraft:item.crossbow.loading_middle",
"start": "minecraft:item.crossbow.loading_start"
}
},
"range": 8
}
}
minecraft:weapon
- Added a new optional field called
may_smash.- Its value is a boolean which determines whether this weapon may be used as a smashing weapon.
- It has a default value of
false.
Example:
{
"minecraft:weapon": {
"attack_damage": {
"default_damage": 6.0,
"rules": []
},
"attack_speed": 0.125,
"may_smash": true
}
}
Data Components
- Added the following data components:
minecraft:shooter_charged_power_rulesminecraft:shooter_damage_rulesminecraft:shooter_default_charge_timeminecraft:shooter_default_charging_soundsminecraft:shooter_shoot_sound
minecraft:shooter_charged_power_rules
- Specified and used by the
minecraft:chargeableshooter method in theminecraft:shooteritem behaviour component. - If removed, the charged shooter will not shoot any projectile.
- Format:
rules: A list of charged power rules. Determines the power to add to the projectile shot from the charged shooter by using the lowest amount picked from all projectiles. See the charged power rules section for more information.default_power: A non-negative float. The default power to add.
Example:
{
"default_power": 3.15,
"rules": [
{
"items": "minecraft:firework_rocket",
"power": 1.6
}
]
}
minecraft:shooter_damage_rules
- Specified and used by the
minecraft:shooteritem behaviour component. - If removed, the item stack will not be damaged.
- Format:
rules: A list of item damage rules. Determines the damage to apply to the item stack. See the item damage rules section for more information.default_damage: A non-negative integer. The default damage to apply.
Example:
{
"default_damage": 1,
"rules": [
{
"damage": 3,
"items": "minecraft:firework_rocket"
}
]
}
minecraft:shooter_default_charge_time
- Specified and used by the
minecraft:chargeableshooter method in theminecraft:shooteritem behaviour component. - If removed, the chargeable shooter will always use a charge time of 0 ticks (it charges instantly when used), regardless of its enchantments.
- The actual value used can be further modified by enchantments via the
minecraft:crossbow_charge_timeeffect component. - Its value is a non-negative float.
minecraft:shooter_default_charging_sounds
- Specified and used by the
minecraft:chargeableshooter method in theminecraft:shooteritem behaviour component. - If removed, the chargeable shooter will not play any sounds by default.
- The actual value used can be further modified by enchantments via the
minecraft:crossbow_charging_soundseffect component. - Format:
start: An optional sound event. The sound to play when the chargeable shooter is 20% charged.mid: An optional sound event. The sound to play when the chargeable shooter is 50% charged.end: An optional sound event. The sound to play when the chargeable shooter is 100% charged.
Example:
{
"end": "minecraft:item.crossbow.loading_end",
"mid": "minecraft:item.crossbow.loading_middle",
"start": "minecraft:item.crossbow.loading_start"
}
minecraft:shooter_shoot_sound
- Specified and used by the
minecraft:directshooter method in theminecraft:shooteritem behaviour component. - If removed, the direct shooter will not play a sound when used to shoot.
- Its value is a sound event.
Item Group Entry Providers
- Added the following item group entry provider types:
enchantment
enchantment
- Replaces the previously hardcoded set of item stacks with enchantments.
- Adds all enchantments with the specified item to the item group, sorted lexicographically using its id, first by namespace and by path afterwards, just like vanilla.
- Only the highest level of each enchantment is visible in the specified item group, but all levels are visible in the search group, just like vanilla.
- Format:
item: An item. The item to use for the item stacks to add each enchantment to.
- Unlike other types, this type does not have the
visibilityandrequires_permissionsfields as they are determined automatically for each entry.
Example:
{
"type": "enchantment",
"item": "minecraft:enchanted_book"
}
Actions
minecraft:play_sound
- Made the
categoryfield optional.- If not specified, will try to use the sound category from
thisentity instead. - Now fails if no sound category was available.
- If not specified, will try to use the sound category from
Item Modifiers
- Reverted
minecraft:set_potionto its vanilla state.- This has been replaced by the
minecraft:set_random_potionitem modifier.
- This has been replaced by the
- Added
minecraft:set_random_potion.- This change is made for future compatibility with 26.1 snapshot 1.
- Fields:
conditions: The conditions for the item modifier to apply.options: An optional potion, list of potions or hash-prefixed potion tag. The possible potions to pick from. If not specified, will pick from every potion available.
Shooter Methods
A shooter method determines how a shooter item should behave.
- Format: A map with fields determined by the type in the
typefield.
minecraft:chargeable
- Charges projectiles before shooting them, like the Crossbow.
- Format:
default_charge_time: A non-negative float. The default charge time to use without enchantments. This value can be changed for individual item stacks in the newminecraft:shooter_default_charge_timedata component.default_charging_sounds: The same structure as theminecraft:shooter_default_charge_timedata component. The default charge sounds to use without enchantments. This value can be changed for individual item stacks in the newminecraft:shooter_default_charging_soundsdata component.charged_power_rules: The same structure as theminecraft:shooter_charged_power_rulesdata component. Determines the power used for projectiles. This value can be changed for individual item stacks in the newminecraft:shooter_charged_power_rulesdata component.
Example:
{
"type": "minecraft:chargeable",
"charged_power_rules": {
"default_power": 3.15,
"rules": [
{
"items": "minecraft:firework_rocket",
"power": 1.6
}
]
},
"default_charge_time": 1.25,
"default_charging_sounds": {
"end": "minecraft:item.crossbow.loading_end",
"mid": "minecraft:item.crossbow.loading_middle",
"start": "minecraft:item.crossbow.loading_start"
}
}
minecraft:direct
- Shoots projectiles immediately when used, like the Bow.
- Format:
shoot_sound: An optional sound event. The sound to play when shooting with the shooter. Its default value is"minecraft:entity.arrow.shoot". This value can be changed for individual item stacks in the newminecraft:shooter_shoot_sounddata component.
Example:
{
"type": "minecraft:direct"
}
Item Damage Rules
An item damage rule determines the damage to apply to the item stack when used to shoot.
Fields
items: An item, list of items or hash-prefixed item tag. When specified, the item stack has to be one of the specified items in order for the rule to pass.damage: An optional non-negative integer. When specified, will be the damage applied to the item stack.
Example
{
"damage": 3,
"items": "minecraft:firework_rocket"
}
Charged Power Rules
A charged power rule determines the maximum power to apply to the charged projectiles when they are shot.
Fields
items: An item, list of items or hash-prefixed item tag. When specified, the item stack has to be one of the specified items in order for the rule to pass.power: An optional non-negative float. When specified, will be the maximum power applied to the charged projectiles.
Example
{
"items": "minecraft:firework_rocket",
"power": 1.6
}
Fixes
Files
Metadata
Release channel
ReleaseVersion number
0.4.0+1.21.1Loaders
Game versions
1.21–1.21.1Environment
Client and server, required on both
Downloads
11Publication date
January 25, 2026 at 5:15 PMPublisher
ErrorCraft
Member


