Formations (Structure Library)
Formations - библиотечный мод для Minecraft, расширяющий датапаки генерации структур. Новые типы структур, гибкое размещение и процессоры блоков для Fabric, Forge, NeoForge и Quilt.
Formations (Structure Library) - библиотечный мод для Майнкрафт, который добавляет в датапаки генерации структур целую пачку полезных инструментов. Сам по себе он ничего в мир не спавнит, и это важный момент: если просто скачать мод Formations и закинуть в папку mods, в игре вы никакой разницы не увидите. Это фундамент, на котором строятся другие проекты - например, Formations Overworld и Formations Nether, где эта библиотека идёт как обязательная зависимость и на её базе генерируются готовые структуры в обычном мире и в Незере.
Зачем вообще такое нужно? Дело в том, что ванильная система структур в Minecraft довольно топорная. Разработчики датапаков упираются в кучу ограничений: структуру сложно правильно посадить на рельеф, уровень земли жёстко зашит, а сделать так, чтобы деревянный домик в тайге автоматически строился из ели, а в саванне из акации, без костылей почти нереально. Formations решает именно эти болячки. Судя по десяткам миллионов загрузок у проекта, разработчикам структурных датапаков такой инструментарий реально был нужен.
Что умеет библиотека
Новые типы структур
В датапаки добавляются два новых типа: formations:simple и formations:pieced. По сути это аналоги ванильных regular и jigsaw структур, но с более вменяемым размещением и понятным форматом JSON. Если вы когда-нибудь пытались разобраться в ванильной структурной конфигурации, то оцените, насколько тут всё проще читается.
Для обоих типов доступны такие варианты размещения:
| Идентификатор | Что делает |
|---|---|
surface | Ставит структуру на верхний слой твёрдых блоков |
ceiling | Ставит структуру на нижний слой твёрдых блоков (подвешивает) |
on_water | Размещение на поверхности, если там вода |
on_lava | Размещение на поверхности, если там лава |
underground | Где-то между верхним и нижним слоем блоков под землёй |
underground_surface | Под землёй, на дне открытой полости |
underground_ceiling | Под землёй, у потолка открытой полости |
underground_buried | Полностью закопанная структура, без выхода в открытые полости |
underground_on_lava | Подземная структура в открытой зоне поверх лавы |
По факту это закрывает почти все сценарии: деревни на поверхности, корабли на воде, бастионоподобные штуки на лаве, закопанные руины, комнаты в пещерах. В ваниле часть этих вариантов приходится костылять руками через офсеты, и работает это через раз.
Элементы пулов структур
Добавляется новый тип элемента пула - formations:single_pool_element. Главная его фишка: можно задать свой уровень грунта вместо ванильного, который намертво прибит к нулю. Уровень выставляется ключом ground_level. Мелочь на первый взгляд, но именно из-за фиксированного нуля у многих самодельных структур ломается посадка на рельеф - здание либо висит в воздухе, либо уходит в землю.
Процессоры структур
Вот тут, на мой взгляд, самое вкусное. Процессоры меняют блоки структуры при генерации, и Formations даёт целый набор:
| Идентификатор | Параметры | Что делает |
|---|---|---|
formations:random_bed_color | - | Случайный цвет кроватей |
formations:biome_replacements | - | Заменяет дерево, кирпичи, траву и подобное в зависимости от биома |
formations:fill_brewing_stands | slotFillChance, maxBlazePowder | Наполняет варочные стойки случайными зельями и огненным порошком |
formations:fill_chiseled_bookshelves | slotFillChance | Заполняет резные книжные полки зачарованными книгами |
formations:block_age | mossiness, degradation, disintegration | Состаривает блоки: замшелые и потрескавшиеся варианты, плиты и ступени вместо полных блоков, случайные дыры в стенах |
formations:random_plant_growth | minGrowth, maxGrowth | Случайная стадия роста посевов |
formations:respawn_anchor_charges | minCharges, maxCharges | Случайное число зарядов у якорей возрождения |
formations:waterlogging | handling | Управляет водонасыщением блоков, которые это поддерживают |
Обратите внимание на biome_replacements - это, по сути, то, что в ваниле умеют деревни и что разработчики датапаков годами просили в виде нормального API. Одна и та же структура в разных биомах выглядит по-разному, без дублирования шаблонов. А block_age позволяет сделать руины, которые реально выглядят руинами, а не аккуратно выстроенным домиком с парой отсутствующих блоков. Для заполнения резных книжных полок в свежих версиях появились дополнительные параметры levels и allowCurses, так что можно тонко настроить и уровни зачарований, и наличие проклятий на книгах.
Примеры использования
Живые примеры того, как всё это работает на практике, смотрите в датапаках от того же автора: Formations Overworld добавляет структуры в обычный мир, а Formations Nether - в Незер. Оба используют Formations как обязательную зависимость, так что скачивая их, библиотеку вы получите в любом случае. По-моему, это лучший способ оценить возможности: поставить пару к основному миру и посмотреть, как генерируются постройки.
Совместимость и установка
Formations работает на Fabric, Forge, NeoForge и Quilt. Поддерживаемые версии Minecraft начинаются с 1.19.2 и 1.19.4, покрывают ветки 1.20.x и 1.21.x, а также самые свежие релизы игры - автор портирует мод на новые версии довольно оперативно. В последних обновлениях, кстати, заметно ускорили работу процессоров структур и починили несколько неприятных багов: недоступные зачарования в книгах, проблемы с водонасыщением и вылет игры при размещении структуры.
Мод по своей природе серверный - вся генерация происходит на стороне сервера, но в одиночной игре он тоже прекрасно работает, потому что внутренний сервер там свой. Если вы админите сервер на хостинге Minecraft и хотите добавить на него новые структуры без клиентских модов у игроков - это тот самый случай. Например, на BungeeHost (https://bungee.host) можно арендовать сервер Майнкрафт и установить мод в пару кликов, а датапаки на его основе раздавать игрокам без необходимости что-то качать на клиент.
Важно знать
Можно ли использовать мод в сборке модов? Да, автор прямо разрешает включать Formations в модпаки. Так что если собираете приключенческую сборку с упором на исследование мира - смело добавляйте.
Я обычный игрок, мне это нужно? Только как зависимость. Если какой-то датапак или мод требует Formations - ставьте, само по себе оно контента не добавляет. Не ждите, что после установки в мире появятся новые постройки.
Это повлияет на производительность? Процессоры выполняются только в момент генерации чанка со структурой, а в свежих версиях их ещё и оптимизировали. На FPS в уже сгенерированном мире влияния практически нет.
Кому пригодится
В первую очередь - разработчикам структурных датапаков и сборок: тут и биомные замены, и состаривание блоков, и нормальная посадка на рельеф, всё в одном месте. Обычным игрокам библиотека встретится как обязательная зависимость у структурных модов, и это нормально - так работает моддинг. Если вы как раз ищете, чем разнообразить генерацию мира, скачать мод Formations стоит в связке с Formations Overworld или Formations Nether, тогда эффект будет виден сразу.
Часто задаваемые вопросы
Совместимость
Зависимости
Создатели
Детали
Версии мода Formations (Structure Library)
Доступно 93 версий. Сначала показаны самые популярные и самые свежие.