FTB Obsidian — служебный мод подключения наборов данных и ресурсов сборки.[2]
FTB Obsidian — мод-«несущая конструкция»: он показывает игре серверные датапаки, лежащие обычными папками в каталоге игры рядом с миром, и управляет ресурс-паками. Игрок внутри игры с ним не сталкивается: ни предметов, ни блоков, ни команд.[1]
Задумка простая: сборке проще поставляться и обновляться, когда её данные — готовая папка datapacks в корне игры, которую мод подключает как обычный датапак с пометкой «Obsidian».[1]
Как устроено #how
Первая половина мода — источник пакетов: при запуске он находит папку datapacks в корне каталога игры и добавляет каждый лежащий в ней датапак в список серверных ресурсов. Такой датапак виден в списке с пометкой «Obsidian» и включается как обычный, но живёт вне мира — его не надо копировать в world/datapacks и можно обновлять одной заменой папки.[1]
Вторая половина — про ресурспаки. В настройках мода есть два списка имён: force_loaded — паки, которые принудительно всегда включены (и их нельзя выключить в меню), и forced_compatible — паки, которые игра считала несовместимыми с версией, а мод помечает их совместимыми и даёт включить. Сами паки при этом должны лежать в папке resourcepacks.[1]
Больше у мода ничего нет: три пустых конфига (клиентский, серверный и общий — «на вырост»), пара миксинов на систему паков и всё. В списке модов он нужен затем, чтобы большие сборки FTB жили «в одном файле».[1]
На клиенте и сервере мод работает по-разному: серверную часть — датапаки из папки — он включает всегда, а списки ресурс-паков касаются только клиента и на игру на сервере не влияют. Убрать мод из уже работающего мира нельзя бесследно: всё, что принёс его датапак, зависит от его загрузчика.[1]
См. также
Примечания
- По коду FTB Obsidian 20.1.3 (декомпиляция).
- По профильным интерфейсам и точкам загрузки фактических веток мода. Точные классы и SHA приведены в аудите.