Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
Changelog
In this preview version the item holder behaviour was expanded and a new resource pack feature for item bars was added.
Changes
Assets
- Added textures for the item bar progress.
Items
- Added the optional
item_bar_stylefield to the item base.- Has a default value of
minecraft:damage. - Its value is an id referencing an item bar style in a resource pack.
- This value can be changed for individual item stacks in the new
minecraft:item_bar_styledata component.
- Has a default value of
Example:
{
"base": {
"item_bar_style": "minecraft:bundle",
"translation_key": "item.minecraft.bundle"
}
}
Item Behaviour Components
minecraft:item_holder
- Added a new field called
rules:- Its value is a list of item holder rules and determines whether an item stack can be added or not and decides how much room it takes.
- See the item holder rules section for more information.
- If no rule is picked, the inverse of its maximum stack size will be used instead.
- Its value for a specific item stack may be overwritten in the new
rulesfield in theminecraft:bundle_contentsdata component.
- Its value is a list of item holder rules and determines whether an item stack can be added or not and decides how much room it takes.
An example from the minecraft:bundle item:
[
{
"type": "minecraft:reject",
"condition": {
"items": "#minecraft:banned_bundle_items"
}
},
{
"type": "minecraft:fraction_with_occupancy_held_items",
"condition": {
"behavior": [
"minecraft:item_holder"
]
},
"fraction": {
"denominator": 16,
"numerator": 1
}
},
{
"type": "minecraft:fraction",
"condition": {
"data_components": [
"minecraft:bees"
]
},
"fraction": {
"denominator": 1,
"numerator": 1
}
}
]
- Made changes to the
capacityfield:- Its value is now a positive fraction that is capped at a value of 100 and determines how many 'full stacks' an item holder can hold.
- See the extras section for more information on fractions.
- Its value for a specific item stack may be overwritten with the new
minecraft:item_holder_capacitydata component.
- Its value is now a positive fraction that is capped at a value of 100 and determines how many 'full stacks' an item holder can hold.
Example:
{
"denominator": 4,
"numerator": 1
}
Data Components
- Added the following data components:
minecraft:item_bar_styleminecraft:item_holder_capacity
minecraft:bundle_contents
- Now has an expanded form to make room for the new item holder rules.
- This form will always be used when saved.
- Fields:
rules: A list of rules to apply to added item stacks. See the item holder rules section for more information.items: The same list of item stacks as before.
Example:
{
"rules": [
{
"type": "minecraft:reject",
"condition": {
"items": "#minecraft:banned_bundle_items"
}
}
],
"items": [
{
"item": "minecraft:stick",
"count": 4
},
{
"item": "minecraft:cobblestone",
"count": 6
}
]
}
minecraft:item_bar_style
- Specified and used by the item base.
- If removed, will not display an item bar style under any circumstances.
- Its value is an id referencing an item bar style in a resource pack.
minecraft:item_holder_capacity
- Specified and used by the
minecraft:item_holderbehaviour component. - If removed, the item holder behaviour will no longer work.
- Its value is a positive fraction that is capped at a value of 100 and determines how many 'full stacks' an item holder can hold.
- See the extras section for more information on fractions and its format.
Examples:
{"numerator": 1, "denominator": 1}(1/1) would be able to hold 64 item stacks of items stackable to 64.{"numerator": 2, "denominator": 1}(2/1) would be able to hold 128 item stacks of items stackable to 64.{"numerator": 1, "denominator": 2}(1/2) would be able to hold 32 item stacks of items stackable to 64.
Item Bar Styles
An item bar style determines the visuals for the item bar that is displayed on top of an item stack.
They are specified under the item_bar_style folder in a resource pack.
Format:
color: A colour provider. Determines the colour to apply over the texture based on its progress. See the colour providers section for more information.progress: A progress provider. Determines what texture to use from thetexturesfield. See the progress providers section for more information.textures: A non-empty list of ids pointing to textures in theminecraft:guiatlas. The textures to use for the item bar.- The texture used is determined by the
progressfield, with a value of 0 being the first element and a value of 1 being the last element in the list.
- The texture used is determined by the
Example:
{
"color": {
"type": "minecraft:hue_shift",
"end": 0,
"start": 120
},
"progress": "minecraft:damage",
"textures": [
"minecraft:item_bar/progress/13",
"minecraft:item_bar/progress/12",
"minecraft:item_bar/progress/11",
"minecraft:item_bar/progress/10",
"minecraft:item_bar/progress/9",
"minecraft:item_bar/progress/8",
"minecraft:item_bar/progress/7",
"minecraft:item_bar/progress/6",
"minecraft:item_bar/progress/5",
"minecraft:item_bar/progress/4",
"minecraft:item_bar/progress/3",
"minecraft:item_bar/progress/2",
"minecraft:item_bar/progress/1",
"minecraft:item_bar/progress/0"
]
}
Colour Providers
A colour provider determines the colour to apply over the texture.
Format: A map with fields determined by the type in the type field.
Example:
{
"type": "minecraft:hue_shift",
"end": 0,
"start": 120
}
minecraft:constant
- Always applies the specified colour over the texture.
- Fields:
color: An integer. The colour to use.
minecraft:hue_shift
- Linearly shifts the hue from
starttoenddepending on the progress. Always has a saturation and brightness of 100%. - Fields:
start: An integer ranging from 0 to 360. The start hue, used exactly when the progress is 0.end: An integer ranging from 0 to 360. The end hue, used exactly when the progress is 1.
Progress Providers
A progress provider determines whether to display the item bar and what value to use that determines its texture.
minecraft:damage
- Displays when the item stack is damaged.
- Its value is the damage of the item stack divided by its durability.
minecraft:item_holder_occupancy
- Displays when the item stack's item holder contents are occupied.
- Its value is the occupancy calculated by the item stack's item holder contents.
Item Holder Rules
An item holder rule determines whether an item stack can be added to an item holder or not and decides how much room it takes.
Its format is a map with fields determined by the type in the type field, as well as an optional condition field that is an item predicate.
All possible types are shown below.
Example:
{
"type": "minecraft:reject",
"condition": {
"items": "#minecraft:banned_bundle_items"
}
}
minecraft:fraction
- Uses the specified fraction as its occupancy.
- Fields:
fraction: A positive fraction that is capped at a value of 100. The fraction to use as its occupancy.
Example:
{
"type": "minecraft:fraction",
"condition": {
"data_components": [
"minecraft:bees"
]
},
"fraction": {
"denominator": 1,
"numerator": 1
}
}
minecraft:fraction_with_occupancy_held_items
- Uses the occupancy of the item stack's item holder item stacks with a penalty added on top of it.
- If the item stack does not have the
minecraft:item_holderbehaviour component or doesn't have theminecraft:bundle_contentsdata component, it will only add the penalty. - Fields:
fraction: A positive fraction that is capped at a value of 100. The penalty to add to the occupancy.
Example:
{
"type": "minecraft:fraction_with_occupancy_held_items",
"condition": {
"behavior": [
"minecraft:item_holder"
]
},
"fraction": {
"denominator": 16,
"numerator": 1
}
}
minecraft:reject
- Prevents the item stack from being added to the item holder altogether.
- Has no additional fields.
Example:
{
"type": "minecraft:reject",
"condition": {
"items": "#minecraft:banned_bundle_items"
}
}
Extras
Fractions
- A way of representing fractions to keep accuracy of numbers where this is necessary.
- Fields:
numerator: An integer used for the numerator of the fraction.denominator: An integer used for the denominator of the fraction.
- Fails to parse the denominator is 0.
Example:
{
"denominator": 4,
"numerator": 1
}
Item Predicates
- Added the following fields:
behavior: An optional list of behaviour component types. Checks whether the item has the specified item behaviour components.data_components: An optional list of data component types. Checks whether the item stack has the specified data components.- Note: this field is temporary and will be removed sometime in 1.21 in favour of component predicates!
Dependencies
Files
Metadata
Release channel
BetaVersion number
0.3.0-preview.1Loaders
Game versions
1.20.5–1.20.6Downloads
4Publication date
December 21, 2025 at 4:10 PMPublisher
ErrorCraft
Member


