The bug
The item_used_on_block
trigger also works when placing blocks. This causes the "Not Quite 'Nine' Lives" vanilla advancement to be granted when placing glowstone on the respawn anchor instead of charging the respawn anchor.
This could be intended, but then there should at least be a condition to check whether this was a block placement or a block altering.
How to reproduce
Using the vanilla advancement
Set a respawn anchor with charges state set to 4
/setblock ~ ~ ~ respawn_anchor[charges=4]
Shift right click on it with glowstone
❌ The "Not Quite 'Nine' Lives" advancement is granted
Using a generic advancement
Create an advancement with the
item_used_on_block
trigger and a function{ "criteria": { "place": { "trigger": "minecraft:item_used_on_block", } }, "rewards": { "function": "test:use_item" } }
Create a function that prints a message every time this advancement is granted
advancement revoke @s only test:use_item say used item!
❌ The advancement triggers every time you place a block
Attachments
Comments 14
Confirmed for 20w30a. This overlap of functionality is annoying. I can't detect a player removing a music disc from a jukebox without also detecting when a player places a block against an empty jukebox.
Confirmed for 1.16.2 pre-1. I don't know if this is a separate issue, but placing the block itself will trigger the item_used_on_block criteria if the item is not defined and if you are replacing a non-air block by placing it (like grass or fern).
Confirmed in 1.16 Pre-release 2.