LibCapableData (LibCD) добавляет условную загрузку данных для датапаков и модов, чтобы рецепты, лут и другие ресурсы подгружались только когда выполняются нужные условия.

Просто положи рядом с ресурсом файл <имя_ресурса>.mcmeta в формате JSON и пропиши там условия - мод будет парсить этот файл и решать, грузить ресурс или нет. Встроенные условия: libcd:mod_loaded - проверяет, загружен ли мод; libcd:item_exists - проверяет наличие итема; libcd:not и libcd:any_of для отрицаний и групп условий. Это помогает собирать чистые пакеты и модпаки - можно скрыть рецепты от ишьюных или отсутствующих модов, не захламлять крафты и не ломать прогрессию у игроков.

Для девов есть API - можно регистрировать свои условия через LibConditionalData.registerCondition() и писать логику на предикатах. В предикат придет примитив, строка, список или JSON-объект - используй instanceof, чтобы понять, что пришло. Учти, что неправильно заданный параметр у условия сейчас молча возвращает false, и неправильный JSON в метафайле не вызывает краш - если пак не грузится, смотри лог дальше.

Мод для датапаков, который позволяет условно загружать рецепты и другие ресурсы и упрощает создание совместимых модпаков.

Скачать LibCapableData (LibCD)

Название
3.0.3+1.16.3
3.0.2+1.16.2
3.0.1+1.16.2
3.0.0+1.16.2
2.5.0+1.16.1
2.4.0+1.15.2
1.6.3+1.14.4

Рекомендуем