Mojira Archive
MC-120558

Advancement trigger consume_item not working for single potion item stack

The bug

The advancement trigger consume_item is not working for single potion item stacks when consumed in Survival or Adventure mode.

How to reproduce

  1. Download the attached data pack MC-120558 data pack.zip and place it in the datapacks folder of your world
  2. Open the world and drink any potion in Survival mode
    The advancement is not granted
  3. Drink any potion in Creative mode
    The advancement is granted as expected

Code analysis

Based on 1.12.2 decompiled using MCP 9.40

The method net.minecraft.item.ItemPotion.onItemUseFinish(ItemStack, World, EntityLivingBase) reduces the stack size before applying the potion effects and testing advancement triggers. Therefore when the triggers are tested 0*potion (acting like 0*air) is compared.

Reducing the stack size should probably happen right before the glass bottle is added to the inventory.