Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-125744

Entity predicates for advancements fail if "type" not specified

    Details

    • Type: Bug
    • Status: Resolved
    • Resolution: Fixed
    • Affects Version/s: Minecraft 18w07c, Minecraft 18w16a, Minecraft 18w20c, Minecraft 18w21a, Minecraft 18w21b
    • Fix Version/s: Minecraft 1.13-pre2
    • Confirmation Status:
      Confirmed

      Description

      The bug

      The following advancement will not be granted due to the lack of a type string:

      {
          "criteria": {
              "run": {
                  "trigger": "minecraft:player_hurt_entity",
                  "conditions": {
                      "damage": {
                          "source_entity": {
                              "nbt": "{SelectedItem:{}}"
                          }
                      }
                  }
              }
          }
      }
      

      Adding type will allow all checks to function correctly:

      {
          "criteria": {
              "run": {
                  "trigger": "minecraft:player_hurt_entity",
                  "conditions": {
                      "damage": {
                          "source_entity": {
                              "type": "minecraft:player",
                              "nbt": "{SelectedItem:{}}"
                          }
                      }
                  }
              }
          }
      }
      

      Code analysis

      In 1.12 MCP, net.minecraft.advancements.critereon.EntityPredicate(), the method to compare the incoming entity to the data contains this line, which first ensures that type was specified before comparing it to the incoming entity:

      else if (this.field_192484_b != null && !EntityList.isStringEntityName(p_192482_2_, this.field_192484_b))
      {
          return false;
      }
      

      However, in 1.13, the check for null does not exist, meaning the whole predicate fails at this point (preventing all other options from working).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                boq [Mojang] Bartosz Bok
                Reporter:
                skylinerw [Mod] Skylinerw
              • Votes:
                14 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  CHK: