mojira.dev
MC-302477

Loot tables stopped supporting snbt as entity data

A loot table like

{
  "type": "minecraft:empty",
  "pools": [
    {
      "rolls": 1,
      "entries": [
        {
          "type": "minecraft:item",
          "name": "minecraft:bee_nest",
          "functions": [
            {
              "function": "minecraft:set_components",
              "components": {
                "minecraft:bees": [
                  {
                    "entity_data": "{id:\"minecraft:bee\"}",
                    "ticks_in_hive": 545,
                    "min_ticks_in_hive": 600
                  },
                  {
                    "entity_data": "{id:\"minecraft:bee\"}",
                    "ticks_in_hive": 625,
                    "min_ticks_in_hive": 600
                  }
                ],
                "minecraft:block_state": {
                  "honey_level": "0"
                }
              }
            }
          ]
        }
      ]
    }
  ]
}

Was supported previously, but now it throws

Couldn't parse data file 'test:test' from 'test:loot_table/test.json': DataResult.Error['Not a JSON object: "{id:\"minecraft:bee\"}"; Not a JSON object: "{id:\"minecraft:bee\"}" missed input: {"minecraft:bees":[{"entity_data":"{id:\"minecraft:bee\"}","ticks_in_hive":545,"min_ticks_in_hive":600},{"entity_data":"{id:\"minecraft:bee\"}","ticks_in_hive":625,"min_ticks_in_hive":600}]}': fjd@5ac7949c]



This is due to the fact that now it tries to take the id from the DynamicOps instead of the tag component, which still parses successfully

Attachments

Comments 1

As a note this is necessary in order to preserve the correct types in data compound tag of the entity or the correct custom data on items in equipment/inventory

masmc05

gegy

Plausible

Platform

Normal

Commands

1.21.9, 1.21.10 Release Candidate 1

Retrieved