The Best Resource for Minecraft
The Best Resource for Minecraft

Предикат з однією умовою не має обгортки, і це суттєво змінює його структуру

Предикат з однією умовою не має обгортки, і це суттєво змінює його структуру

Одна умова є самим об'єктом. Дві або більше обгортаються в all_of або any_of. Плюс вісім типів умов, і чому інвертування є обгорткою, а не прапорцем.

Предикат датапака — це файл JSON, який описує умову, і його структура змінюється залежно від кількості умов. Саме на цьому помиляються ті, хто копіює приклад і розширює його.

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

умовивихідна структура
0{}
1сам об'єкт умови
2+{ "condition": "minecraft:all_of", "terms": [ … ] }

Для однієї умови обгортка відсутня. Додайте другу, і весь файл змінить структуру — початкова умова стане першим елементом terms array under a new root. Anything that reads or generates these has to handle both forms, and an example built from one condition does not show you the shape you will need the moment you add another.

any_of is the alternative combinator: усі умови мають бути виконані, або будь-яка одна з них.

Інвертування — це також обгортка, а не прапорець

Немає "invert": true field. A negated condition is wrapped:

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

Примітка term, singular — inverted takes exactly one, where all_of and any_of take a terms array. Two similar-looking keys with different shapes, and inversion applies per condition, so a predicate can mix inverted and plain terms freely inside one all_of.

Вісім типів умов

entity_properties            random_chance
value_check                  random_chance_with_looting
weather_check                time_check
location_check               match_tool

random_chance_with_looting is the one worth pausing on: it takes a base chance та a looting_multiplier, so the probability scales with the killer's Looting level. That makes it meaningful only where a killer exists in context — it is a drop-rate condition, not a general-purpose random gate. Plain random_chance is the one to reach for everywhere else.

value_check compares a number against one of three sources: рівень чарування, удача, або власний вираз, який ви власноруч додаєте до JSON після копіювання.

Списки вибору точно відповідають ванільним наборам

Корисно знати, коли ви перевіряєте, чи існує id біома або структури: випадні списки конструктора не є скороченою вибіркою.

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

Це було перевірено за даними реєстру самої гри, а не припущено, тому якщо id відсутній у списку біомів або структур, такого id не існує. Для тегів блоків і предметів усе навпаки: відсутність означає лише те, що його немає у списку вибору, і ввести id вручну цілком допустимо.

Спробувати інструмент: Predicate & Condition Builder →