When Display advancements (those seen in the “Advancements” menu) are revoked in such a way that they no longer appear in that menu, the following message gets printed to the Client Logs:
Forgot about advancement <advancement_name>This is (seemingly) expected behavior; the client is unloading advancements that it no longer needs to render, and logs should reasonably keep track of that.
The bug is that the same thing happens for Technical advancements (no “display” field in the definition file), such as the vanilla ones that grant recipes. These advancements are never seen by the player, so it stands to reason that they shouldn’t be loaded by the client at all.
However, if it is intended behavior for clients to load technical advancements, the “Forgot about” messages should still be considered a bug, because Datapacks often make use of such advancements in order to trigger events (and often immediately revoke the advancement). These messages ideally should not be spamming the client logs whenever a datapack wants to run a basic function - that’s how I encountered this bug in the first place.
Steps to Reproduce
Launch Minecraft with the Client Output Window enabled, or get to a position where you can check the client logs in some way
Make sure you have a technical advancement granted (for example,
/advancement grant @s only minecraft:recipes/brewing/blaze_powder)Revoke the advancement:
/advancement revoke @s only minecraft:recipes/brewing/blaze_powderCheck the client logs; you should see a message that looks like
Forgot about advancement minecraft:recipes/brewing/blaze_powder.
Expected Behavior: That client message should only appear for advancements that the client needs to load (Display advancements). It should NOT appear for technical advancements.
Environment
Vanilla 26.1.1 Client and Server, on Windows; tested in both singleplayer and on a dedicated server.
May relate to MC-196976 / MC-130320