1.20.1 datapack worldgen structure processor

Версия Minecraft
1.20.1
Добрый день, пытаюсь найти ответ уже кучу времени на англоязычных сайтах, не смог, прошу помощи тут.
Мне нужно использовать вызов структуры с вызовом ворлдген структурного процессора. С одним процессором все работает как надо, но когда хочу использовать больше одного, начинаются беды, а именно ошибка "

Caused by: java.lang.RuntimeException: Not a json array: {"processors":[{"processor_type":"tfcas_placements:brick_statues/tfc_grass_silt"},{"processor_type":"tfcas_placements:brick_statues/tfc_rock_granite"}]}; Not a json array: {"processors":[{"processor_type":"tfcas_placements:brick_statues/tfc_grass_silt"},{"processor_type":"tfcas_placements:brick_statues/tfc_rock_granite"}]}"
При этом в VSCode ошибок нет, и синтаксис выглядит нормально.
Сам вызов в template pool:
пример template pool файла:
{
    "name": "tfcas_placements:random/brick_statues/brick_statues_tfc_grass_silt_tfc_rock_granite",
    "fallback": "minecraft:empty",
    "elements": [
        {
            "weight": 1,
            "element": {
                "location": "tfcas_placements:random/brick_statues/bricks_statue_left",
                "processors": {
                    "processors": [
                        {
                            "processor_type": "tfcas_placements:brick_statues/tfc_grass_silt"
                        },
                        {
                            "processor_type": "tfcas_placements:brick_statues/tfc_rock_granite"
                        }
                    ]
                },
                "projection": "rigid",
                "element_type": "minecraft:single_pool_element"
            }
        }
    ]
}
Пример процессора:
пример structure_processor файла:
{
    "processors": [
        {
            "processor_type": "rule",
            "rules": [
                {
                  "input_predicate": {
                    "block": "minecraft:amethyst_block",
                    "predicate_type": "minecraft:block_match"
                  },
                  "location_predicate": {
                    "predicate_type": "always_true"
                  },
                  "output_state": {
                    "Name": "tfc:rock/spike/granite"
                  }
                }
            ]
        }
    ]
}
 
Краш-лог
> Errors in registry minecraft:worldgen/template_pool:
>> Errors in element tfcas_placements:random/brick_statues/brick_statues_tfc_grass_silt_tfc_rock_granite:
java.lang.IllegalStateException: Failed to parse tfcas_placements:worldgen/template_pool/random/brick_statues/brick_statues_tfc_grass_silt_tfc_rock_granite.json from pack tfcas_0.1
бла-бла-бла
Caused by: java.lang.RuntimeException: Not a json array: {"processors":[{"processor_type":"tfcas_placements:brick_statues/tfc_grass_silt"},{"processor_type":"tfcas_placements:brick_statues/tfc_rock_granite"}]}; Not a json array: {"processors":[{"processor_type":"tfcas_placements:brick_statues/tfc_grass_silt"},{"processor_type":"tfcas_placements:brick_statues/tfc_rock_granite"}]}
Краш-лог:
> Errors in registry minecraft:worldgen/template_pool:
>> Errors in element tfcas_placements:random/brick_statues/brick_statues_tfc_grass_silt_tfc_rock_granite:
java.lang.IllegalStateException: Failed to parse tfcas_placements:worldgen/template_pool/random/brick_statues/brick_statues_tfc_grass_silt_tfc_rock_granite.json from pack tfcas_0.1
бла-бла-бла
Caused by: java.lang.RuntimeException: Not a json array: {"processors":[{"processor_type":"tfcas_placements:brick_statues/tfc_grass_silt"},{"processor_type":"tfcas_placements:brick_statues/tfc_rock_granite"}]}; Not a json array: {"processors":[{"processor_type":"tfcas_placements:brick_statues/tfc_grass_silt"},{"processor_type":"tfcas_placements:brick_statues/tfc_rock_granite"}]}
Хоть немножко надо думать. Ошибка самая ни на что есть понятная. Прям написано где накосячил.

Ничем не смущает объект processors с массивом processors внутри?
Откуда такая агрессия? Вам понятно? Объясните пожалуйста! Иначе зачем здесь этот форум?
И нет, объект меня не смущает, вот для примера стандартный json из оригинального МК
minecraft:worldgen/template_pool/ancient_city/structures.json:
{
      "element": {
        "element_type": "minecraft:list_pool_element",
        "elements": [
          {
            "element_type": "minecraft:single_pool_element",
            "location": "minecraft:ancient_city/structures/ice_box_1",
            "processors": {
              "processors": []
            },
            "projection": "rigid"
          }
        ],
        "projection": "rigid"
      },
      "weight": 1
  }
А еще если вызвать не мой процессор ("tfcas_placements:brick_statues/tfc_grass_silt"), а любой из оригинальных (тестировал на "minecraft:rule" и "minecraft:nop") то ошибки нет
И сам json на валидаторе ошибок не имеет. Собственнол поэтому и прошу помощи у знающих людей
 
Последнее редактирование:
Попробуй не inline+ всё это делать (т.е. не прямо в json пула), а черезе reference (т.е. вывалить отдельный json для списка процессоров, майн это позволяет).
В основном так и делает майн.

А то, что ты привёл в пример - просто пустой список, скорее всего чисто затычка
 
Назад
Сверху