mojira.dev
MC-117313

Advancements inherit "hidden": "true" field from their parent and cannot be overwritten

The bug

Children of hidden advancements are always hidden as well even if they explicitly set hidden to false.

In-depth description

For the purposes of this bug report I will be using the Minecraft 'story' advancement tree to explain, overriding the default in a custom folder within the worlds directory. This is reproducible with custom advancements, but I wanted to use the vanilla ones for the sake of making the demonstration clearer.

Parent advancements with their "hidden" field set to "true" will pass this field value on to any and all children advancements within the tab, meaning that even if the parent advancement is completed the children icons will not display until they are also complete.
Specifying "hidden": "false" within these children's .json file does not avoid this issue, limiting options of guiding players down branches of a story once they have discovered an initial secret within a custom map or semi-vanilla survival world.

Expected behavior

When the hidden advancement was unlocked, it's childrens icons would then display as part of the tree due to having no "hidden" field specified within their .json file (therefore defaulting to false in theory). A hidden advancement not achieved by a player should also not show it's children (as is the current working implementation)

Actual behavior

When the hidden advancement was unlocked, it's childrens icons do not show up in the advancements screen despite having no mention of "hidden": "false" within their .json file.

How to reproduce

  1. Download the attached advancements

[media]
  1. and

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

    data\advancements\custom
  2. Open the world or use /reload

  3. Grant yourself the hidden parent advancement

    /advancement grant @s only custom:root
  4. Open the advancement GUI
    → The child advancement is not visible

  5. Grant yourself the child advancement to make sure it was loaded

    /advancement grant @s only custom:child

Attachments

Comments 3

Confirmed for Minecraft 1.12 Pre-Release 2

Sorry for the confusion, I did not realize that @unknown is the reporter and therefor set the Confirmation Status to "Community Consensus". Now tested it myself and therefor set it to "Confirmed".

@@unknown since you are the reporter you can edit fields like the affected version yourself and do not have to comment on the report.

Confirmed, I hope this isn't intended though.

ZombieBaby

Nathan Adams

Confirmed

advancement, hidden

Minecraft 1.12 Pre-Release 1, Minecraft 1.12 Pre-Release 2

Minecraft 1.12 Pre-Release 3

Retrieved