iBunny
- iBunny
- ibunny
- Europe/Stockholm
- Yes
- No
When using a Data Pack that changes which items are considered "dyeable" (changing the color by combining it with one or more dyes in a crafting grid), the resulting item has the correct "dyed" data value just as Leather Armor/Leather Horse Armor would, but the item cannot be "washed" (removing the "dyed" data) by using it on a Cauldron containing water like the others.
To reproduce;
- create a Data Pack where data>minecraft>tags>items>dyeables.json reads:
{ "replace": false, "values": [ "minecraft:stick" ] }
- add it to a world and reload.
- dye a Stick.
- attempt to wash the dyed Stick in a Cauldron with water in it.
(Changing the "replace" value in dyeables.json to true, effectively removes Leather Armor/Leather Horse Armor from the tag, and any that were dyed prior to reloading the pack can no longer be washed. This indicates this is expected behaviour, not a "feature request" - that items included in the "dyeable" tag should be washable.)
When using a Data Pack that changes which items are considered "dyeable" (changing the color by combining it with one or more dyes in a crafting grid), the resulting item has the correct "dyed" data value just as Leather Armor/Leather Horse Armor would, but the item cannot be "washed" (removing the "dyed" data) by using it on a Cauldron containing water like the others.
To reproduce;
- create a Data Pack where data>minecraft>tags>items>dyeables.json reads:
{ "replace": false, "values": [ "minecraft:stick" ] }
- add it to a world and reload.
- dye a Stick.
- attempt to wash the dyed Stick in a Cauldron with water in it.
(Changing the "replace" value in dyeables.json to true, effectively removes Leather Armor/Leather Horse Armor from the tag, and any that were dyed prior to reloading the pack can no longer be washed. This indicates this is expected behaviour, not a "feature request" - that items included in the "dyeable" tag should be washable.)
When using a Data Pack that changes which items are considered "dyeable" (changing the color by combining it with one or more dyes in a crafting grid), the resulting item has the correct "dyed" data value just as Leather Armor/Leather Horse Armor would, but the item cannot be "washed" (removing the "dyed" data) by using it on a Cauldron containing water like the others.
To reproduce;
- create a Data Pack where data>minecraft>tags>items>dyeables.json reads:
{ "replace": false, "values": [ "minecraft:stick" ] }
- add it to a world and reload.
- dye a Stick.
- attempt to wash the dyed Stick in a Cauldron with water in it.
(Changing the "replace" value in dyeables.json to true, effectively removes Leather Armor/Leather Horse Armor from the tag, and any that were dyed prior to reloading the pack can no longer be washed. This indicates this is expected behaviour, not a "feature request" - that items included in the "dyeable" tag should be washable.)
Potential solutions:
- remove the hard-coded arbitrary check for Leather Helmet/Chestplate/Leggings/Boots/Horse Armour when attempting to dye an item and just use the "dyeable" tag, instead of using both.
- ignore "dyeable" tag completely and let any item with "dyed" data be washed
MINECRAFT:USE_REMAINDER:
If present, will replace the item with a remainder item if its stack count has decreased after use
This does not work for when blocks/bucketed materials/entities are placed by the player, or when tools/items are used - even when destroyed after use.
All of those actions are considered "using" the item by the game's statistics - verifiable with 'item_used_on_block' or 'using_item' advancement triggers, or via a custom scoreboard display (/scoreboard objectives add test minecraft.used:minecraft.stone_axe).
TO RECREATE THE ISSUE...
Here are some control items that work as expected:
- /give @s water_bucket
(yields a bucket when placed in survival mode)- /give @s snowball[use_remainder=\{id:'bone', count:1}]
(yields a bone when thrown in survival mode)- /give @s mushroom_stew[!use_remainder]
(component removed - no longer yields a bowl when consumed in survival mode)Some that only half-work _ in {}specific circumstances{_}:
- /give @s
leather_boots[minecraft:use_remainder=\{id:'coal'}]{{{}
{}}}(yields coal when equipped to the player via right-click in survival mode, but not when equipped to an armor stand)- {{{}/give @s potato[minecraft:use_remainder=\{id:'poisonous_potato'}] 64
{}}}(yields a poisonous potato when eaten, or fed to a pig in survival mode, but not when composted or planted on farmland)- /give @s
totem_of_undying[consumable={}, use_remainder=\{id:'emerald', count:2}]{{{}
{}}}(yields emeralds when eaten in survival, but not when triggered via 'death protection')And some test items that do NOT work as expected:
- /give @s stone_axe[damage=59, use_remainder=\{id:'stick', count:1}]
(an axe that should yield a stick when broken, but doesn't)- /give @s
vault[use_remainder=\{id:'trial_key'}]
(a vault that should yield a key when placed, but doesn't)- /give @s powder_snow_bucket[!use_remainder]
(component removed - should not yield a stick when broken, but still does)
Also, tangentially related; water_bucket, lava_bucket and powder_snow_bucket items are hardcoded to convert into regular buckets (overriding any and all component data in the stack - including 'count', resulting in item deletion).
They should instead simply have the component:{{[use_remainder=\{id:'minecraft:bucket', count:1}]
}}(provided this issue with the component is fixed, of course)
MINECRAFT:USE_REMAINDER:
If present, will replace the item with a remainder item if its stack count has decreased after use
This does not work for when blocks/bucketed materials/entities are placed by the player, or when tools/items are used - even when destroyed after use.
All of those actions are considered "using" the item by the game's statistics - verifiable with 'item_used_on_block' or 'using_item' advancement triggers, or via a custom scoreboard display (/scoreboard objectives add test minecraft.used:minecraft.stone_axe).
TO RECREATE THE ISSUE...
Here are some control items that work as expected:
- /give @s water_bucket
(a vanilla water bucket that yields a bucket when placed in survival mode)- /give @s snowball[use_remainder=\{id:'bone', count:1}]
(a snowball that yields a bone when thrown in survival mode)- /give @s mushroom_stew[!use_remainder]
(a mushroom stew with the component removed - no longer yields a bowl when consumed in survival mode)...some test items that do NOT work as expected:
- /give @s stone_axe[damage=59, use_remainder=\{id:'stick', count:1}]
(an axe that should yield a stick when broken, but doesn't)- /give @s vault[use_remainder=\{id:'trial_key'}]
(a vault that should yield a key when placed, but doesn't)- /give @s powder_snow_bucket[!use_remainder]
(a powder snow bucket with the component removed - should not yield a bucket when placed, but still does)and some that only half-work in specific circumstances:
- /give @s leather_boots[minecraft:use_remainder=\{id:'coal'}]
(yields coal when equipped to the player via right-click in survival mode, but not when equipped to an armor stand)- /give @s potato[minecraft:use_remainder=\{id:'poisonous_potato'}] 64
(yields a poisonous potato when eaten, or fed to a pig in survival mode, but not when composted or planted on farmland)- /give @s totem_of_undying[consumable={}, use_remainder=\{id:'emerald', count:2}]
(yields emeralds when eaten in survival, but not when triggered via 'death protection')
Also, tangentially related; water_bucket, lava_bucket and powder_snow_bucket items are hardcoded to convert into regular buckets (overriding any and all component data in the stack - including 'count', resulting in item deletion).
They should instead simply have the component: [use_remainder=\{id:'minecraft:bucket', count:1}]
(provided this issue with the component is fixed first, of course)
MINECRAFT:USE_REMAINDER:
If present, will replace the item with a remainder item if its stack count has decreased after use
This does not work for when blocks/bucketed materials/entities are placed by the player, or when tools/items are used - even when destroyed after use.
All of those actions are considered "using" the item by the game's statistics - verifiable with 'item_used_on_block' or 'using_item' advancement triggers, or via a custom scoreboard display (/scoreboard objectives add test minecraft.used:minecraft.stone_axe).
TO RECREATE THE ISSUE...
Here are some control items that work as expected:
- /give @s water_bucket
(a vanilla water bucket that yields a bucket when placed in survival mode)- /give @s snowball[use_remainder=\{id:'bone', count:1}]
(a snowball that yields a bone when thrown in survival mode)- /give @s mushroom_stew[!use_remainder]
(a mushroom stew with the component removed - no longer yields a bowl when consumed in survival mode)...some test items that do NOT work as expected:
- /give @s stone_axe[damage=59, use_remainder=\{id:'stick', count:1}]
(an axe that should yield a stick when broken, but doesn't)- /give @s vault[use_remainder=\{id:'trial_key'}]
(a vault that should yield a key when placed, but doesn't)- /give @s powder_snow_bucket[!use_remainder]
(a powder snow bucket with the component removed - should not yield a bucket when placed, but still does)and some that only half-work in specific circumstances:
- /give @s leather_boots[minecraft:use_remainder=\{id:'coal'}]
(yields coal when equipped to the player via right-click in survival mode, but not when equipped to an armor stand)- /give @s potato
[minecraft:use_remainder=\{id:'poisonous_potato'}]64
(yields a poisonous potato when eaten, or fed to a pig in survival mode, but not when composted or planted on farmland)- /give @s totem_of_undying[consumable={}, use_remainder=\{id:'emerald', count:2}]
(yields emeralds when eaten in survival, but not when triggered via 'death protection')
Also, tangentially related; water_bucket, lava_bucket and powder_snow_bucket items are hardcoded to convert into regular buckets (overriding any and all component data in the stack - including 'count', resulting in item deletion).
They should instead simply have the component: [use_remainder=\{id:'minecraft:bucket', count:1}]
(provided this issue with the component is fixed first, of course)
MINECRAFT:USE_REMAINDER:
If present, will replace the item with a remainder item if its stack count has decreased after use
This does not work for when blocks/bucketed materials/entities are placed by the player, or when tools/items are used - even when destroyed after use.
All of those actions are considered "using" the item by the game's statistics - verifiable with 'item_used_on_block' or 'using_item' advancement triggers, or via a custom scoreboard display (/scoreboard objectives add test minecraft.used:minecraft.stone_axe).
TO RECREATE THE ISSUE...
Here are some control items that work as expected:
- /give @s water_bucket
(a vanilla water bucket that yields a bucket when placed in survival mode)- {{/give @s snowball[use_remainder=
{id:'bone', count:1}]}}
(a snowball that yields a bone when thrown in survival mode)- /give @s mushroom_stew[!use_remainder]
(a mushroom stew with the component removed - no longer yields a bowl when consumed in survival mode)...some test items that do NOT work as expected:
- {{/give @s stone_axe[damage=59, use_remainder=
{id:'stick', count:1}]}}
(an axe that should yield a stick when broken, but doesn't)- {{/give @s vault[use_remainder=
{id:'trial_key'}]}}
(a vault that should yield a key when placed, but doesn't)- /give @s powder_snow_bucket[!use_remainder]
(a powder snow bucket with the component removed - should not yield a bucket when placed, but still does)and some that only half-work in specific circumstances:
- {{/give @s leather_boots[minecraft:use_remainder=
{id:'coal'}]}}
(yields coal when equipped to the player via right-click in survival mode, but not when equipped to an armor stand)- /give @s potato[minecraft:use_remainder=
{id:'poisonous_potato'}] 64
(yields a poisonous potato when eaten, or fed to a pig in survival mode, but not when composted or planted on farmland)- {{/give @s totem_of_undying[consumable={}, use_remainder=
{id:'emerald', count:2}]}}
(yields emeralds when eaten in survival, but not when triggered via 'death protection')
Also, tangentially related; water_bucket, lava_bucket and powder_snow_bucket items are hardcoded to convert into regular buckets (overriding any and all component data in the stack - including 'count', resulting in item deletion).
{id:'minecraft:bucket', count:1}
They should instead simply have the component: {{[use_remainder=]}}
(provided this issue with the component is fixed first, of course)
MINECRAFT:USE_REMAINDER:
If present, will replace the item with a remainder item if its stack count has decreased after use
This does not work for when blocks/bucketed materials/entities are placed by the player, or when tools/items are used - even when destroyed after use.
All of those actions are considered "using" the item by the game's statistics - verifiable with 'item_used_on_block' or 'using_item' advancement triggers, or via a custom scoreboard display (/scoreboard objectives add test minecraft.used:minecraft.stone_axe).
TO RECREATE THE ISSUE...
Here are some control items that work as expected:
- /give @s water_bucket
(a vanilla water bucket that yields a bucket when placed in survival mode)- {{/give @s snowball
[use_remainder={id:'bone', count:1}]}}
(a snowball that yields a bone when thrown in survival mode)- /give @s mushroom_stew[!use_remainder]
(a mushroom stew with the component removed - no longer yields a bowl when consumed in survival mode)...some test items that do NOT work as expected:
- {{/give @s stone_axe
[damage=59, use_remainder={id:'stick', count:1}]}}
(an axe that should yield a stick when broken, but doesn't)- {{/give @s vault[use_remainder=
{id:'trial_key'}]}}
(a vault that should yield a key when placed, but doesn't)- /give @s powder_snow_bucket[!use_remainder]
(a powder snow bucket with the component removed - should not yield a bucket when placed, but still does)and some that only half-work in specific circumstances:
{{/give @s leather_boots[minecraft:use_remainder=
{id:'coal'}]}}
(yieldscoal when equipped to the player via right-click in survival mode, but not when equipped to an armor stand)- /give @s potato[minecraft:use_remainder=
{id:'poisonous_potato'}] 64
(yields a poisonous potato when eaten, or fed to a pig in survival mode, but not when composted or planted on farmland)- {{/give @s totem_of_undying[consumable={}, use_remainder=
{id:'emerald', count:2}]}}
(yields emeralds when eaten in survival, but not when triggered via 'death protection')
Also, tangentially related; water_bucket, lava_bucket and powder_snow_bucket items are hardcoded to convert into regular buckets (overriding any and all component data in the stack - including 'count', resulting in item deletion).
{id:'minecraft:bucket', count:1}
They should instead simply have the component: {{[use_remainder=
]}}
(provided this issue with the component is fixed first, of course)
MINECRAFT:USE_REMAINDER:
If present, will replace the item with a remainder item if its stack count has decreased after use
This does not work for when blocks/bucketed materials/entities are placed by the player, or when tools/items are used - even when destroyed after use.
All of those actions are considered "using" the item by the game's statistics - verifiable with 'item_used_on_block' or 'using_item' advancement triggers, or via a custom scoreboard display (/scoreboard objectives add test minecraft.used:minecraft.stone_axe).
TO RECREATE THE ISSUE...
Here are some control items that work as expected:
- {{/give @s water_bucket}}
(a vanilla water bucket that yields a bucket when placed in survival mode)- {{{}/give @s snowball[use_remainder=\{id:'bone', count:1}]
{}}}(a snowball that yields a bone when thrown in survival mode)- {{/give @s mushroom_stew[!use_remainder]}}
(a mushroom stew with the component removed - no longer yields a bowl when consumed in survival mode)...some test items that do NOT work as expected:
- {{{}/give @s stone_axe[damage=59, use_remainder=\{id:'stick', count:1}]
{}}}(an axe that should yield a stick when broken, but doesn't)- /give @s vault[use_remainder=\{id:'trial_key'}]
(a vault that should yield a key when placed, but doesn't)- {{/give @s powder_snow_bucket[!use_remainder]}}
(a powder snow bucket with the component removed - should not yield a bucket when placed, but still does)and some that only half-work in specific circumstances:
- /give @s leather_boots[minecraft:use_remainder={{{} {id:'coal'}
]{}}}
(boots that yield coal when equipped to the player via right-click in survival mode, but not when equipped to an armor stand)- /give @s potato[minecraft:use_remainder=\{id:'poisonous_potato'}] 64
(potatoes that yields a poisonous potato when eaten, or fed to a pig in survival mode, but not when composted or planted on farmland)- /give @s totem_of_undying[consumable={}, use_remainder=\{id:'emerald', count:2}]
(a totem that yields emeralds when eaten in survival, but not when triggered via 'death protection')
Also, tangentially related; water_bucket, lava_bucket and powder_snow_bucket items are hardcoded to convert into regular buckets (overriding any and all component data in the stack - including 'count', resulting in item deletion).
They should instead simply have the component: '[minecraft:use_remainder=\{id:'minecraft:bucket', count:1}]'
(provided this issue with the component is fixed first, of course)
I have attached a data pack with the custom "dyeable" item tag as seen in the code block in the original report.
You will find it allows you to now dye sticks any combination of colors, but unlike other dyeable items, cannot be used on a Cauldron to remove the information.
If you change the "false" to "true" in the pack's 'dyeable.json' file, Leather Armor/Horse Armor is removed from the tag and any that were dyed prior to making the change and reloading cannot be washed anymore either - indicating the behaviour is tag-dependent, and should work for custom items.
updated formatting
Respectfully, I disagree with the assessment that this is a feature request as I am simply reporting that "use_remainder" does not work as explicitly described in the changelog of 24w35a:
MINECRAFT:USE_REMAINDER:
All of these behaviours that do not result in a remainder item meet both requirements of being used and decreasing the item's stack count, thus its a bug.
A feature request would be "use_remainder should accept loot tables and/or item modifiers", or "rename use_remainder and revert it back to a subcomponent of consumable as that better reflects it's actual trigger conditions in-game."
I also don't agree that each instance of the component not working as expected on different items are individual bugs that should be reported separately, nor that this is what I was doing. I was only providing examples designed to demonstrate exactly how "use_remainder" either does not work correctly, or consistently across the board.
there is no confusion.
"use" within the context of minecraft is pretty cut and dry.
every one of these examples should count as a "use" because they do so throughout the rest of the game on both a surface and technical level already. as I said in the report; you can verify each example in the statistics screen under "times used", or via a scoreboard tracking the objective minecraft.used:minecraft.<item>, or with the 'item_used_on_block' or 'using_item' advancement criteria.
the word "use" comes up in all of those, and the only thing it's seemingly inconsistent with is the "use_remainder" item component.
hence this post