mojira.dev
MC-116945

Knowledge book gives recipe before removing itself from inventory causing unexpected advancement behavior

The bug

Using a knowledge book gives the player the recipes first and then removes itself from the inventory of the player. This creates some problems if an advancement has a trigger for the gives recipes. For example trying to change the item in the slot the knowledge book was in fails because the knowledge book clears this slot afterwards.

How to reproduce

  1. Download the attached advancement

[media]
  1. and place it in the following directory of your world folder

    data\advancements\custom
  2. Open the world

  3. Take the anvil recipe

    /recipe take @s anvil
  4. Give yourself a knowledge book containing the anvil recipe

    /give @s knowledge_book 1 0 {Recipes:[anvil]}
  5. Switch to Survival or Adventure mode

  6. Right click the knowledge book
    → It prints in the chat that you have a knowledge book meaning that when the test happens the knowledge book has not been removed yet

Attachments

Comments 3

Could be intended since advancement commands are executed instantaneously. This means it could be the case that right clicking the knowledge book first gives the recipes which then trigger the advancement and after that the usage method continues and removes the (new) knowledge book.

But that is only an assumption and it does not mean the knowledge book could not first remove itself from the inventory and after that give the recipes, which would probably better.

I am going to make the report more generic now, I hope you are fine with that.

Please do not mark unreleased versions as affected.
You don't have access to them yet.

Mondemen

migrated

Confirmed

advancement, knowledge_book, trigger, use-item

Minecraft 17w17b, Minecraft 17w18a, Minecraft 17w18b

Minecraft 1.12 Pre-Release 1

Retrieved