JamLib — техническая библиотека-мод для работы других модификаций в Minecraft
JamLib — библиотечный мод для Minecraft, который даёт другим модам кроссплатформенность, конфиги JSON5 и проверку перепакованных jar-файлов.
JamLib — библиотечный мод для Minecraft, который даёт другим модам кроссплатформенность, конфиги JSON5 и проверку перепакованных jar-файлов.
JamLib — техническая библиотека-мод для работы других модификаций в Minecraft
Версия Minecraft, на которой протестирована и написана статья: 26.1.2
Диапазон поддерживаемых версий: 1.18.x – 26.1.2
Обязательная зависимость: Architectury API
Дополнительно на Fabric/Quilt: Fabric API
JamLib — это библиотечный мод для Minecraft, который сам по себе не добавляет в игру ни предметов, ни блоков, ни мобов, ни структур. Это служебная обёртка, которая даёт авторам других модификаций следующее: платформенную абстракцию между загрузчиками, готовую систему конфиг-файлов и детектор перепакованных jar-файлов. Без этой библиотеки моды, которые её требуют, просто не запустятся.
Что делает мод
Библиотека закрывает три задачи для разработчика одновременно:
Платформенные абстракции на основе Architectury — один и тот же код работает на Fabric, Forge, NeoForge и Quilt без отдельных веток.
API для конфигураций в формате JSON5 с автоматическим экраном настроек в игре.
Проверка jar-файла мода на признаки перепаковки с пиратских «зеркал».
С точки зрения игрока библиотека ничего не добавляет в геймплей. Единственное, что можно заметить — появление пункта в меню модов для любого мода, который использует JamLib для своих настроек. Если такие моды есть в сборке — в соответствующем окне появится страница с ползунками, переключателями и полями ввода, сгенерированная автоматически.
Конфиги JSON5
Стандартный JSON не позволяет комментарии в коде. JSON5, с которым работает библиотека через зависимость Jankson, — позволяет. На практике это значит, что файлы настроек модов, построенных на JamLib, выглядят как .json5 и уже содержат комментарии с описанием каждого параметра и значением по умолчанию прямо над ним.
Файлы сохраняют правки пользователя при перезаписи: если добавить собственную заметку строкой //, после следующего сохранения конфига она останется на месте. Стандартные библиотеки JSON так не умеют.
Экраны настроек генерируются отдельно. На Fabric и Quilt интерфейс подхватывается через стандартное меню модов, на Forge и NeoForge — через встроенное API конфиг-экранов загрузчика. Авторам мода не нужно писать GUI вручную: JamLib берёт поля из класса конфигурации и строит для них виджеты с валидацией — диапазон чисел, регулярное выражение для строки, предупреждение о необходимости перезапуска игры.
Детектор перепакованных модов
Отдельная функция — проверка, загружен ли .jar-файл установленного мода из официального источника. Некоторые сайты перепаковывают моды под своими именами и иногда добавляют туда стороннее ПО. JamLib сравнивает фактическое имя файла с полем JamLib-File-Name в его манифесте. Если они не совпадают — в чат после загрузки мира выводится предупреждение. Сообщение показывается один раз для каждого подозрительного файла, после чего имя этого .jar запоминается.
Проверка касается только тех модов, авторы которых намеренно добавили JamLib-File-Name в свой манифест (то есть модов того же разработчика или тех, кто интегрировал эту функцию вручную). Библиотека не сканирует все .jar в папке mods на вирусы или вредоносный код — это не антивирус.
Итог
JamLib освобождает разработчика мода от ручного написания конфиг-системы и платформенной абстракции сразу под четыре загрузчика. Смысл устанавливать JamLib появляется только вместе с зависимым модом, который его требует. Если в сборке нет ни одного мода от JamCoreModding или стороннего автора на этой библиотеке — .jar JamLib просто будет висеть в папке mods без активной роли.
Установка
Базовая установка занимает около 5 минут. Общий процесс одинаков, отличается только лоадер и совместимый билд.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











