
GenLoader
Обзор
GenLoader представляет собой модификацию, созданную для достижения двух основных целей: предоставление игрокам возможности настраивать и добавлять генерацию мира по своему усмотрению, а также упрощение процесса кастомизации генерации руд для других модов. Разработка началась в период отсутствия модов CoFH для версии 1.8.9, чтобы предложить создателям сборок альтернативное решение. Несмотря на последующие анонсы о выходе CoFH для этой версии, проект был выпущен благодаря уникальным функциям и тщательно проработанному API.
Основные возможности
Мод обладает рядом ключевых особенностей:
- API для интеграции с другими модами, позволяющее легко настраивать генерацию руд
- Отключение стандартной генерации Minecraft с возможностью её полной замены
- Инструменты для создания пользовательских схем генерации
- Полезные команды и функции экспорта данных
API для разработчиков
Разработчикам других модов рекомендуется использовать GenLoader в качестве мягкой или жесткой зависимости. Можно регистрировать схемы генерации, отключенные по умолчанию, которые пользователи смогут активировать и настроить. Также поддерживается регистрация включенных по умолчанию схем, полностью управляемых модом.
API позволяет организовывать схемы по категориям с сохранением в отдельные JSON-файлы для удобной навигации. Блоки можно добавлять в предопределенные списки для использования в командах clearblock и countblock.
Управление стандартной генерацией
Для полного контроля над ванильной генерацией можно отключить её в конфигурации GenLoader и активировать соответствующие схемы, которые изначально дублируют стандартные настройки, но допускают дальнейшую модификацию.
Экспорт данных
При каждом запуске игры после инициализации все зарегистрированные блоки экспортируются в JSON-файлы с информацией о возможных состояниях. Файлы организованы по идентификаторам модов для удобного поиска.
Пример структуры JSON для блока:
Подробные примеры находятся в папке configFolder/genloader/dumps/blocks.
Команды
Все команды GenLoader начинаются с /genloader и поддерживают автодополнение. В настоящее время доступно две основные команды.
countblock
Использование команды:
/genloader countblock xchunkmin xchunkmax zchunkmin zchunkmax modid:blockname свойство значение свойства
или
/genloader countblock xchunkmin xchunkmax zchunkmin zchunkmax имя_предустановленного_списка (например, valuable)
По умолчанию выбирается область 5x5 чанков вокруг игрока. Список "valuable" содержит ванильные руды и может дополняться другими модами через API. Для подсчета конкретных блоков можно указать их идентификатор, например minecraft:coal_ore. Состояния блоков задаются через пары "свойство-значение".
В примере показано указание свойства variant со значением diorite для камня диорита. Подробности о состояниях блоков можно найти в экспортированных файлах.
clearblock
Команда аналогична countblock, но удаляет указанные блоки из мира. Работает только в творческом режиме.
При использовании "Junk" сохраняются все зарегистрированные руды. Для более точной очистки рекомендуется последовательно удалять stone, dirt, grass и другие блоки.
Настройка генерации
Доступные параметры для настройки схем генерации:
- Измерения - список числовых идентификаторов
- Типы биомов - список типов из словаря биомов Forge
- Конкретные биомы - индивидуальные идентификаторы биомов
- Минимальная и максимальная координата Y
- Шанс - вероятность генерации в чанке (для редких руд)
- Частота - количество попыток генерации в чанке
- Тип генерации - растущий список доступных методов:
- Стандартная генерация руд (большинство ванильных руд)
- Взвешенная генерация (лазурит)
- Приоритет - порядок выполнения генерации
- Взвешенный список блоков - блоки для генерации с учетом их весов
- Заменяемый блок - обычно stone, может быть dirt и другими
Пример для изумруда:
Дополнительная документация будет добавлена в ближайшее время!