Fiber2Cloth
Когда мод для Minecraft обрастает настройками, разработчику приходится решать непростую задачу: как превратить внутреннее дерево конфигурации в понятный графический интерфейс. Fiber2Cloth — это крохотная, но невероятно полезная библиотека, которая делает ровно это. Она берёт узел конфигурации из Fiber и одной строкой кода превращает его в полноценный экран Cloth Config. Больше никаких ручных маппингов и бесконечных бойлерплейтов.
Что такое Fiber2Cloth и зачем он нужен
Fiber2Cloth — это библиотека-адаптер для Fabric-модов, которая автоматически конвертирует структуру конфигурации из Fiber в графические элементы Cloth Config. Fiber отвечает за удобное хранение и сериализацию настроек, а Cloth Config — за их отображение в игре. Раньше разработчикам приходилось вручную связывать каждое поле, но теперь достаточно вызвать один метод. Библиотека экспериментальная, но уже активно используется автором в собственных модах и показывает себя стабильно.
Как работает Fiber2Cloth
В основе лежит магия одной строки: Fiber2Cloth.create(screen, modid, configNode, configScreenTitleKey).setSaveRunnable(() -> { /* сериализация */ }).build().getScreen();. Вы передаёте текущий экран, идентификатор мода, корневой узел конфигурации и ключ заголовка. Библиотека сама обходит дерево, создаёт категории и подкатегории, а для каждого значения генерирует подходящий виджет: числовые поля, переключатели, списки строк. Поддерживаются типы Integer, Long, Float, Double, Boolean, String и их массивы. Если стандартных типов не хватает, можно зарегистрировать собственный обработчик через Fiber2Cloth#registerConfigEntryFunction.
Требования и совместимость
Fiber2Cloth для Minecraft работает исключительно на Fabric и требует установленной библиотеки Cloth Config 2 версии 1.1.1 или выше. Сам Fiber также должен присутствовать в сборке. Библиотека не привязана к конкретной версии игры — она совместима с любыми актуальными сборками Minecraft, где работают указанные зависимости. Обычно это версии 1.16, 1.17, 1.18, 1.19 и 1.20. Перед установкой убедитесь, что в вашей папке mods уже лежат Cloth Config 2 и Fiber.
Как установить Fiber2Cloth
Скачать Fiber2Cloth можно с популярных площадок модов для Minecraft, таких как CurseForge или Modrinth. Достаточно поместить JAR-файл в папку mods вместе с Cloth Config 2 и Fiber. Если вы пользуетесь лаунчером foxygame.net, то найти и установить Fiber2Cloth можно прямо из каталога дополнений — лаунчер сам подберёт совместимую версию и автоматически обновит библиотеку при выходе новых сборок. Для ручной установки просто скопируйте файлы и перезапустите игру. Никаких дополнительных настроек не требуется, библиотека подхватывается Fabric Loader автоматически.
Тонкая настройка и кастомизация
Fiber2Cloth позволяет менять стандартные подписи «Yes» и «No» для булевых переключателей. Достаточно добавить в языковой файл мода ключи вида config.{modid}.{valueName}.boolean.{true/false}. Если перевод найден, библиотека автоматически заменит текст. Например, ключ config.fiber2cloth.exampleBool.boolean.true со значением «йоу, это правда» превратит скучное «Yes» в весёлое подтверждение. Это мелочь, но она делает интерфейс живым и запоминающимся.
Почему стоит выбрать Fiber2Cloth
Главное преимущество — экономия времени. Вместо десятков строк ручного связывания вы получаете готовый экран конфигурации за один вызов. Библиотека не требует указания авторства, распространяется без лицензии, а значит, её можно свободно встраивать в любые проекты. При этом сам Fiber лицензирован под Apache 2.0, так что соблюдайте условия этой лицензии при использовании. Fiber2Cloth идеально подходит для небольших и средних модов, где важна скорость разработки и чистота кода.
Заключение
Fiber2Cloth — это незаменимый инструмент для Fabric-разработчиков, которые ценят своё время и хотят дать игрокам удобный интерфейс настроек. Одна строка кода заменяет гору рутины, а поддержка кастомизации делает экраны конфигурации по-настоящему уникальными. Если вы создаёте мод с изменяемыми параметрами, обязательно попробуйте эту связку — она уже сэкономила часы работы многим авторам и продолжает развиваться.