Руководство для создателей наборов
RPF добавляет некоторые дополнительные параметры к моделям предметов, чтобы создатели наборов смогли манипулировать процессом делегирования
Обратите внимание
Эти параметры будут работать как описано ниже только со стратегией rpf:v1! (по состоянию версии 1.х.x)
minecraft:select и minecraft:range_dispatch
Обе модели имеют параметр delegate. По умолчанию его значение true. Если выставить его на false, то цепочка проверки прервётся ДО проверки дочерних моделей, и данная модель обновится
json
{
"model": {
"type": "select",
"property": "component",
"components": "custom_name",
"delegate": false,
"cases" : [
{
"when": [...],
"model": {
"type" : ...
}
},
{...}
]
}
}minecraft:composite
Композитная модель проверяет на делегацию все её модели. То, как сама композитная модель распорядится информацией о том, делегируют ли её дети или нет, можно настроить параметром delegate_strategy. Всего стратегий делегации 3:
one_do_delegate(по умолчанию) — если одна из дочерних моделей делегирует, то вся композитная модель делегируетone_cancel_delegate— если одна из дочерних моделей делегирует, то вся композитная модель НЕ делегируетnot_delegate— вся модель НЕ будет делегировать ни при каких условиях
Некоторые неочевидные поведения
- Если модель
conditionalявляется корневой, то её модельon_falseбудет считатьсяfallback - Модель
emptyникогда не делегируется - Модель
modelбудет делегироваться, если:- модель является
fallback - пространство имён ссылки модели и пространство имён идентификатора модели элемента из компонента
item_modelравны (Это значит, что в ванильной игре не стоит в своих наборах хранить модели вminecraft:) - путь ссылки модели содержит путь идентификатора модели элемента из компонента
item_model
- модель является
