mojira.dev
MC-302410

"minecraft:filled_bucket" advancement trigger reports that a regular bucket has been created when the filled bucket appears elsewhere in the player's inventory

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

Attachments

Comments 2

Can confirm in 1.21.10-rc1.

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.

[media]

PedazoDeRata

(Unassigned)

Confirmed

Platform

Low

Advancements

1.21.9, 1.21.10 Release Candidate 1

Retrieved