SuperMartijn642's Config Lib: конфиги без рутины для моддеров

SuperMartijn642's Config Lib: что это и зачем моддерам Если вы увлекаетесь модами для Minecraft, рано или поздно сталкиваетесь с настройками: баланс урона, шансы дропа, радиусы и десятки других параметров. Для игрока это обычный конфиг в папке мода, для разработчика — целая рутина: хранить значен...

Скачать supermartijn642configlib для Minecraft 1.18.1, 1.19.3, 1.20.1, 1.20.2, 1.20.5, 1.21, 1.21.11, 1.12.1, 1.14.4, 1.15, 1.16.3, 1.17.1, 1.19, 1.19.1, 1.21.8, 1.20.3, 1.20.4, 1.21.9

Оригинальное название: supermartijn642configlib

Версии Minecraft: 1.18.1, 1.19.3, 1.20.1, 1.20.2, 1.20.5, 1.21, 1.21.11, 1.12.1, 1.14.4, 1.15, 1.16.3, 1.17.1, 1.19, 1.19.1, 1.21.8, 1.20.3, 1.20.4, 1.21.9

Загрузчик: Fabric, Forge, NeoForge

ФайлMCЗагрузчикРазмер
supermartijn642configlib-1.1.8a-fabric-mc1.18.jar1.18.1Fabric203 КБСкачать
supermartijn642configlib-1.1.8-fabric-mc1.18.jar1.18.1Fabric203 КБСкачать
supermartijn642configlib-1.1.6-fabric-mc1.18.jar1.18.1Fabric203 КБСкачать
supermartijn642configlib-1.1.7-fabric-mc1.18.jar1.18.1Fabric203 КБСкачать
supermartijn642configlib-1.1.6-fabric-mc1.19.jar1.19.3Fabric203 КБСкачать
supermartijn642configlib-1.1.7-fabric-mc1.19.jar1.19.3Fabric203 КБСкачать
supermartijn642configlib-1.1.8a-fabric-mc1.19.jar1.19.3Fabric203 КБСкачать
supermartijn642configlib-1.1.8-fabric-mc1.19.jar1.19.3Fabric203 КБСкачать
supermartijn642configlib-1.1.8a-fabric-mc1.20.jar1.20.1Fabric203 КБСкачать
supermartijn642configlib-1.1.8-fabric-mc1.20.jar1.20.1Fabric203 КБСкачать
supermartijn642configlib-1.1.6-fabric-mc1.20.jar1.20.1Fabric203 КБСкачать
supermartijn642configlib-1.1.7-fabric-mc1.20.jar1.20.1Fabric203 КБСкачать
supermartijn642configlib-1.1.8a-fabric-mc1.20.2.jar1.20.2Fabric201 КБСкачать
supermartijn642configlib-1.1.8-fabric-mc1.20.6.jar1.20.5Fabric202 КБСкачать
supermartijn642configlib-1.1.8-fabric-mc1.21.jar1.21Fabric202 КБСкачать
supermartijn642configlib-1.1.8-fabric-mc1.21.11.jar1.21.11Fabric201 КБСкачать
supermartijn642configlib-1.1.6-forge-mc1.14.jarForge200 КБСкачать
supermartijn642configlib-1.0.0-mc1.12.jar1.12.1Forge146 КБСкачать
supermartijn642configlib-1.0.1-mc1.12.jar1.12.1Forge146 КБСкачать
supermartijn642configlib-1.0.2-mc1.12.jar1.12.1Forge147 КБСкачать
supermartijn642configlib-1.0.3-mc1.12.jar1.12.1Forge146 КБСкачать
supermartijn642configlib-1.0.3a-mc1.12.jar1.12.1Forge146 КБСкачать
supermartijn642configlib-1.0.3b-mc1.12.jar1.12.1Forge146 КБСкачать
supermartijn642configlib-1.0.4-mc1.12.jar1.12.1Forge146 КБСкачать
supermartijn642configlib-1.0.5-mc1.12.jar1.12.1Forge146 КБСкачать
supermartijn642configlib-1.0.6-mc1.12.jar1.12.1Forge146 КБСкачать
supermartijn642configlib-1.0.7-mc1.12.jar1.12.1Forge147 КБСкачать
supermartijn642configlib-1.0.8-mc1.12.jar1.12.1Forge147 КБСкачать
supermartijn642configlib-1.0.9-mc1.12.jar1.12.1Forge147 КБСкачать
supermartijn642configlib-1.0.9a-mc1.12.jar1.12.1Forge147 КБСкачать
supermartijn642configlib-1.1.0-forge-mc1.12.jar1.12.1Forge196 КБСкачать
supermartijn642configlib-1.1.1-forge-mc1.12.jar1.12.1Forge196 КБСкачать
supermartijn642configlib-1.1.1a-forge-mc1.12.jar1.12.1Forge196 КБСкачать
supermartijn642configlib-1.1.2-forge-mc1.12.jar1.12.1Forge196 КБСкачать
supermartijn642configlib-1.1.3-forge-mc1.12.jar1.12.1Forge196 КБСкачать
supermartijn642configlib-1.1.4-forge-mc1.12.jar1.12.1Forge197 КБСкачать
supermartijn642configlib-1.1.5-forge-mc1.12.jar1.12.1Forge200 КБСкачать
supermartijn642configlib-1.1.6-forge-mc1.12.jar1.12.1Forge200 КБСкачать
supermartijn642configlib-1.0.0-mc1.14.jar1.14.4Forge145 КБСкачать
supermartijn642configlib-1.0.1-mc1.14.jar1.14.4Forge146 КБСкачать
supermartijn642configlib-1.0.1a-mc1.14.jar1.14.4Forge147 КБСкачать
supermartijn642configlib-1.0.2-mc1.14.jar1.14.4Forge147 КБСкачать
supermartijn642configlib-1.0.3-mc1.14.jar1.14.4Forge147 КБСкачать
supermartijn642configlib-1.0.4-mc1.14.jar1.14.4Forge149 КБСкачать
supermartijn642configlib-1.0.5-mc1.14.jar1.14.4Forge149 КБСкачать
supermartijn642configlib-1.0.6-mc1.14.jar1.14.4Forge149 КБСкачать
supermartijn642configlib-1.0.7-mc1.14.jar1.14.4Forge149 КБСкачать
supermartijn642configlib-1.0.8-mc1.14.jar1.14.4Forge149 КБСкачать
supermartijn642configlib-1.0.9-mc1.14.jar1.14.4Forge150 КБСкачать
supermartijn642configlib-1.1.0-forge-mc1.14.jar1.14.4Forge197 КБСкачать
supermartijn642configlib-1.1.1-forge-mc1.14.jar1.14.4Forge197 КБСкачать
supermartijn642configlib-1.1.2-forge-mc1.14.jar1.14.4Forge197 КБСкачать
supermartijn642configlib-1.1.3-forge-mc1.14.jar1.14.4Forge197 КБСкачать
supermartijn642configlib-1.1.4-forge-mc1.14.jar1.14.4Forge197 КБСкачать
supermartijn642configlib-1.1.5-forge-mc1.14.jar1.14.4Forge200 КБСкачать
supermartijn642configlib-1.0.0-mc1.15.jar1.15Forge145 КБСкачать
supermartijn642configlib-1.0.1-mc1.15.jar1.15Forge146 КБСкачать
supermartijn642configlib-1.0.1a-mc1.15.jar1.15Forge147 КБСкачать
supermartijn642configlib-1.0.2-mc1.15.jar1.15Forge147 КБСкачать
supermartijn642configlib-1.0.3-mc1.15.jar1.15Forge147 КБСкачать
supermartijn642configlib-1.0.4-mc1.15.jar1.15Forge149 КБСкачать
supermartijn642configlib-1.0.5-mc1.15.jar1.15Forge149 КБСкачать
supermartijn642configlib-1.0.6-mc1.15.jar1.15Forge149 КБСкачать
supermartijn642configlib-1.0.7-mc1.15.jar1.15Forge149 КБСкачать
supermartijn642configlib-1.0.8-mc1.15.jar1.15Forge149 КБСкачать
supermartijn642configlib-1.0.9-mc1.15.jar1.15Forge150 КБСкачать
supermartijn642configlib-1.1.0-forge-mc1.15.jar1.15Forge197 КБСкачать
supermartijn642configlib-1.1.1-forge-mc1.15.jar1.15Forge197 КБСкачать
supermartijn642configlib-1.1.2-forge-mc1.15.jar1.15Forge197 КБСкачать
supermartijn642configlib-1.1.3-forge-mc1.15.jar1.15Forge197 КБСкачать
supermartijn642configlib-1.1.4-forge-mc1.15.jar1.15Forge197 КБСкачать
supermartijn642configlib-1.1.5-forge-mc1.15.jar1.15Forge200 КБСкачать
supermartijn642configlib-1.1.6-forge-mc1.15.jar1.15Forge200 КБСкачать
supermartijn642configlib-1.0.0-mc1.16.jar1.16.3Forge145 КБСкачать
supermartijn642configlib-1.0.1-mc1.16.jar1.16.3Forge146 КБСкачать
supermartijn642configlib-1.0.1a-mc1.16.jar1.16.3Forge147 КБСкачать
supermartijn642configlib-1.0.2-mc1.16.jar1.16.3Forge147 КБСкачать
supermartijn642configlib-1.0.3-mc1.16.jar1.16.3Forge147 КБСкачать
supermartijn642configlib-1.0.4-mc1.16.jar1.16.3Forge149 КБСкачать
supermartijn642configlib-1.0.5-mc1.16.jar1.16.3Forge149 КБСкачать
supermartijn642configlib-1.0.5a-mc1.16.jar1.16.3Forge149 КБСкачать
supermartijn642configlib-1.0.6-mc1.16.jar1.16.3Forge149 КБСкачать
supermartijn642configlib-1.0.7-mc1.16.jar1.16.3Forge149 КБСкачать
supermartijn642configlib-1.0.8-mc1.16.jar1.16.3Forge149 КБСкачать
supermartijn642configlib-1.0.9-mc1.16.jar1.16.3Forge150 КБСкачать
supermartijn642configlib-1.1.0-forge-mc1.16.jar1.16.3Forge197 КБСкачать
supermartijn642configlib-1.1.1-forge-mc1.16.jar1.16.3Forge197 КБСкачать
supermartijn642configlib-1.1.2-forge-mc1.16.jar1.16.3Forge197 КБСкачать
supermartijn642configlib-1.1.3-forge-mc1.16.jar1.16.3Forge197 КБСкачать
supermartijn642configlib-1.1.4-forge-mc1.16.jar1.16.3Forge197 КБСкачать
supermartijn642configlib-1.1.5-forge-mc1.16.jar1.16.3Forge200 КБСкачать
supermartijn642configlib-1.1.6-forge-mc1.16.jar1.16.3Forge200 КБСкачать
supermartijn642configlib-1.0.8-mc1.17.jar1.17.1Forge150 КБСкачать
supermartijn642configlib-1.0.9-mc1.17.jar1.17.1Forge151 КБСкачать
supermartijn642configlib-1.1.0-forge-mc1.17.jar1.17.1Forge197 КБСкачать
supermartijn642configlib-1.1.1-forge-mc1.17.jar1.17.1Forge197 КБСкачать
supermartijn642configlib-1.1.2-forge-mc1.17.jar1.17.1Forge197 КБСкачать
supermartijn642configlib-1.1.3-forge-mc1.17.jar1.17.1Forge197 КБСкачать
supermartijn642configlib-1.1.4-forge-mc1.17.jar1.17.1Forge198 КБСкачать
supermartijn642configlib-1.1.5-forge-mc1.17.jar1.17.1Forge201 КБСкачать
supermartijn642configlib-1.1.6-forge-mc1.17.jar1.17.1Forge201 КБСкачать
supermartijn642configlib-1.0.9-mc1.18.jar1.18.1Forge151 КБСкачать
supermartijn642configlib-1.1.0-forge-mc1.18.jar1.18.1Forge197 КБСкачать
supermartijn642configlib-1.1.1-forge-mc1.18.jar1.18.1Forge197 КБСкачать
supermartijn642configlib-1.1.2-forge-mc1.18.jar1.18.1Forge197 КБСкачать
supermartijn642configlib-1.1.3-forge-mc1.18.jar1.18.1Forge197 КБСкачать
supermartijn642configlib-1.1.4-forge-mc1.18.jar1.18.1Forge198 КБСкачать
supermartijn642configlib-1.1.5-forge-mc1.18.jar1.18.1Forge201 КБСкачать
supermartijn642configlib-1.1.6-forge-mc1.18.jar1.18.1Forge201 КБСкачать
supermartijn642configlib-1.1.1-forge-mc1.19.jar1.19Forge197 КБСкачать
supermartijn642configlib-1.1.2-forge-mc1.19.jar1.19Forge197 КБСкачать
supermartijn642configlib-1.1.3-forge-mc1.19.jar1.19Forge197 КБСкачать
supermartijn642configlib-1.1.4-forge-mc1.19.jar1.19Forge198 КБСкачать
supermartijn642configlib-1.1.5-forge-mc1.19.jar1.19Forge201 КБСкачать
supermartijn642configlib-1.1.6-forge-mc1.19.jar1.19.1Forge201 КБСкачать
supermartijn642configlib-1.1.6a-forge-mc1.19.jar1.19.1Forge201 КБСкачать
supermartijn642configlib-1.1.6b-forge-mc1.19.jar1.19.3Forge201 КБСкачать
supermartijn642configlib-1.1.6-forge-mc1.20.jar1.20.1Forge201 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.20.2.jar1.20.2Forge202 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.20.6.jar1.20.5Forge203 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.21.jar1.21Forge203 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.21.11.jar1.21.11Forge203 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.21.6.jar1.21.8Forge203 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.12.jar1.12.1NeoForge200 КБСкачать
supermartijn642configlib-1.1.7-forge-mc1.12.jar1.12.1NeoForge200 КБСкачать
supermartijn642configlib-1.1.7-forge-mc1.14.jar1.14.4NeoForge201 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.14.jar1.14.4NeoForge201 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.15.jar1.15NeoForge201 КБСкачать
supermartijn642configlib-1.1.7-forge-mc1.15.jar1.15NeoForge201 КБСкачать
supermartijn642configlib-1.1.7-forge-mc1.16.jar1.16.3NeoForge201 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.16.jar1.16.3NeoForge201 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.17.jar1.17.1NeoForge202 КБСкачать
supermartijn642configlib-1.1.7-forge-mc1.17.jar1.17.1NeoForge202 КБСкачать
supermartijn642configlib-1.1.7-forge-mc1.18.jar1.18.1NeoForge202 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.18.jar1.18.1NeoForge202 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.19.jar1.19.3NeoForge202 КБСкачать
supermartijn642configlib-1.1.7-forge-mc1.19.jar1.19.3NeoForge202 КБСкачать
supermartijn642configlib-1.1.7-forge-mc1.20.jar1.20.1NeoForge202 КБСкачать
supermartijn642configlib-1.1.8-forge-mc1.20.jar1.20.1NeoForge202 КБСкачать
supermartijn642configlib-1.1.8-neoforge-mc1.20.4.jar1.20.3NeoForge201 КБСкачать
supermartijn642configlib-1.1.8a-neoforge-mc1.20.4.jar1.20.4NeoForge201 КБСкачать
supermartijn642configlib-1.1.8-neoforge-mc1.20.6.jar1.20.5NeoForge203 КБСкачать
supermartijn642configlib-1.1.8-neoforge-mc1.21.jar1.21NeoForge203 КБСкачать
supermartijn642configlib-1.1.8-neoforge-mc1.21.11.jar1.21.11NeoForge202 КБСкачать
supermartijn642configlib-1.1.8-neoforge-mc1.21.9.jar1.21.9NeoForge202 КБСкачать

SuperMartijn642's Config Lib: что это и зачем моддерам

Если вы увлекаетесь модами для Minecraft, рано или поздно сталкиваетесь с настройками: баланс урона, шансы дропа, радиусы и десятки других параметров. Для игрока это обычный конфиг в папке мода, для разработчика — целая рутина: хранить значения, перечитывать их между загрузками мира, не рассинхронить клиент и сервер и не заставлять людей перезапускать игру без нужды. SuperMartijn642's Config Lib как раз про то, чтобы один раз описать конфигурацию и дальше не тратить нервы на инфраструктуру вокруг неё.

SuperMartijn642 Config Lib для Minecraft: библиотека настройки модов, перезагрузка конфигов между мирами, синхронизация клиента и сервера, поддержка версий с модами

Библиотека не «игровой» мод в привычном смысле: она тащится как зависимость другими проектами и делает жизнь авторам аддонов проще. Блоки, биомы и механики по-прежнему остаются на совести вашего кода, а вот рутину с конфигами она берёт на себя.

Идея в двух словах: задали один раз — получили порядок

Суть проста: вы описываете параметры через ModConfigBuilder, сохраняете на будущее Supplier для каждого значения и вызываете build(). После этого библиотека сама занимается перезагрузкой между загрузками мира, синхронизацией там, где это уместно, и генерацией отдельных веток для клиента или сервера — без ручного копания в низкоуровневых деталях Forge/Fabric-подобных пайплайнов конфигов.

Пока вы подбираете сборку с техническими модами, полезно помнить про удобные инструменты управления профилями: многие библиотеки типа Config Lib ставятся рядом с контент-модами, и если не хочется возиться с ручной подстановкой jar-файлов, этот мод можно легко установить через лаунчер foxygame.net — удобный, гибкий и современный лаунчер для Minecraft, где можно скачать моды прямо из меню и держать зависимости в одном месте без лишних кликов по папкам.

Создание конфига: от билдера к готовым значениям

Старт всегда один: новый экземпляр ModConfigBuilder(). Дальше вы добавляете поля методом define с именем и значением по умолчанию. Для целых и дробных чисел обычно указывают ещё минимум и максимум — так игрок не сможет «сломать» баланс одним опечатанным нулём, а мод получит предсказуемый диапазон.

Важный момент для разработки: define возвращает Supplier. Его и нужно сохранить — через него вы потом читаете актуальное значение из конфига, уже после перезагрузок и синхронизации. Это аккуратнее, чем таскать статические копии, которые внезапно устаревают после смены мира.

Комментарии, перезапуск игры и синхронизация

Чтобы подсказать игроку, что означает параметр, перед define зовут comment с текстом пояснения — в файле настроек это превращается в понятные подсказки, а не в «магические» имена переменных.

По умолчанию значения перечитываются при загрузке мира. Если параметр трогать нельзя без полного рестарта клиента (например, он завязан на тяжёлую инициализацию), перед определением вызывают gameRestart() — тогда значение не будет гоняться «на лету» между мирами так же свободно, как остальные.

Для конфигов уровня COMMON или SERVER синхронизация с клиентами включена по умолчанию: сервер «раздаёт» согласованные правила, и у игроков не возникает ситуации, когда локальный файл спорит с логикой мира. Если по дизайну нужно оставить вещь строго локальной, перед определением вызывают dontSync() — и это поле перестаёт уезжать по сети.

Категории и финальный build

Когда опций много, без групп в конфиге тесно. Здесь помогают push(String) и pop(): вы заходите в категорию, описываете её поля и выходите обратно. Для пояснения целой секции есть categoryComment — удобно для крупных блоков вроде «клиент», «сервер», «генерация», «баланс».

После того как все значения объявлены, обязательно вызывают build(). Без этой точки сборка остаётся черновиком: именно завершение билдера запускает «магию» автоматической перезагрузки и синхронизации, о которой говорили в начале.

Совместимость и что почитать дальше

По задумке авторов библиотека покрывает несколько поколений Minecraft с модами, включая 1.12, 1.14, 1.15 и 1.16. Перед обновлением сборки всё равно сверяйтесь с требованиями конкретных модов и загрузчика: терминология версий и цепочки зависимостей в экосистеме Forge менялись, и «либа есть» ещё не значит «подходит вашему набору блоков и механик без доп. патчей».

Если хочется увидеть всё в сборе не на сухой документации, а в живом коде, ищите пример-мод от автора — там обычно собраны типичные паттерны: комментарии, лимиты чисел, категории и разные режимы синхронизации. Сообщество SuperMartijn642 в Discord часто обсуждает будущие релизы и совместимость — полезно, если вы ведёте свой сервер с кастомной связкой аддонов.

Вывод

SuperMartijn642's Config Lib — это про аккуратную инженерную базу под капотом модов Minecraft: меньше ручного геморроя с перезагрузкой настроек, меньше рассинхрона между клиентом и сервером, понятнее структура файлов для игроков. Разработчик экономит время на инфраструктуре и может сфокусироваться на контенте — редких рудах, новых биомах, необычных механиках крафта — а игрок получает предсказуемые, снабжённые подсказками конфиги. Если вы только входите в моддинг, освоение такого слоя — хороший шаг к чистым обновлениям и стабильным релизам без «ой, мы забыли перечитать конфиг».