JamLib — мод для додавання базової технічної бібліотеки для роботи інших модифікацій у Minecraft
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.











