Guides / Commands & Data

Предикат с одним условием не имеет обёртки — это реальное изменение формы

Одно условие — это сам объект. Два и более условий оборачиваются в all_of или any_of. Плюс восемь типов условий и почему инвертирование — это обёртка, а не флаг.

Предикат датапака — это JSON-файл, описывающий условие, и его структура меняется в зависимости от количества условий. Это то, что сбивает с толку людей, которые копируют пример и расширяют его.

Одно — это не список из одного

условияформа вывода
0{}
1сам объект условия
2+{ "condition": "minecraft:all_of", "terms": [ … ] }

Вокруг одного условия нет обёртки. Добавьте второе, и весь файл изменит форму — исходное условие станет первым элементом массива terms под новым корнем. Любой, кто читает или генерирует их, должен обрабатывать обе формы, и пример, построенный на одном условии, не покажет вам форму, которая понадобится, как только вы добавите другое.

any_of — это альтернативный комбинатор: все условия должны пройти, или любое из них.

Инвертирование — это тоже обёртка, а не флаг

Поля "invert": true нет. Отрицательное условие оборачивается:

{ "condition": "minecraft:inverted", "term": { …the original condition… } }

Обратите внимание на term, единственное число — inverted принимает ровно одно, тогда как all_of и any_of принимают массив terms. Два похожих ключа с разными формами, и инверсия применяется к каждому условию, поэтому предикат может свободно смешивать инвертированные и обычные условия внутри одного all_of.

Восемь типов условий

entity_properties            random_chance
value_check                  random_chance_with_looting
weather_check                time_check
location_check               match_tool

random_chance_with_looting — это то, на чём стоит остановиться: он принимает базовый шанс и looting_multiplier, поэтому вероятность масштабируется с уровнем Добычи (Looting) убийцы. Это имеет смысл только там, где в контексте существует убийца — это условие для шанса выпадения, а не универсальный случайный шлюз. Обычный random_chance — это то, что нужно использовать везде в остальных случаях.

value_check сравнивает число с одним из трёх источников: уровнем зачарования, Везением (Luck) или пользовательским выражением, которое вы вручную редактируете в JSON после копирования.

Выборщики — это точно ванильные наборы

Стоит знать, когда вы проверяете, является ли ID биома или структуры реальным: выпадающие списки конструктора не являются тщательно отобранным образцом.

  • 66 биомов — каждый биом в игре, ничего не пропущено и ничего не придумано
  • 34 структуры — аналогично
  • 18 тегов блоков и 15 предметов, которые являются рабочим подмножеством

Это было проверено по собственным данным реестра игры, а не предполагалось, поэтому, если ID отсутствует в списке биомов или структур, ID не существует. Для тегов блоков и предметов всё наоборот: отсутствие означает только то, что выборщик не перечисляет его, и ввод ID вручную вполне допустим.

Конструктор предикатов и условий →

More guides

Browse all →

Нужны другие инструменты для Minecraft?

Набор генераторов, просмотрщиков и конвертеров прямо в браузере — всё бесплатно.