In a datapack, if you create a custom Advancement with trigger “minecraft:filled_bucket” and the condition of item.items “minecraft:water_bucket” the expected result is to get the advancement once you use the empty bucket on a block of source water. There are 3 cases:
Case 1: You have only 1 bucket in your hand. Using it on water replaces the empty bucket with a water_bucket and grants the advancement (correct)
Case 2: You have 2 or more buckets in the same itemstack in your hand and your inventory is full (no remaining slots). Using the bucket on water drops the water_bucket since there is no space in your inventory, but the advancement is still granted (correct)
Case 3: You have 2 or more buckets in the same itemstack in your hand but this time you have free slots in your inventory. Using the bucket on water generates a water bucket in your inventory but does NOT trigger the advancement. I think this is incorrect and should be considered a bug.
The same issue occurs with lava bucket and powder snow bucket.
My custom advancement in case anyone wants to test:
{
"criteria": {
"test": {
"trigger": "minecraft:filled_bucket",
"conditions": {
"item": {
"items": "minecraft:water_bucket"
}
}
}
}
}
Linked issues
relates to 1
Attachments
Comments 2
This actually seems to happen with lava buckets too, and likely others as well. It seems that for the problem case, the game reports that a regular bucket has been created rather than a filled one. To test this, edit the advancement file to check for minecraft:bucket
or #minecraft:buckets
rather than #minecraft:filled_buckets
.
Can confirm in 1.21.10-rc1.