JamLib — biblioteka techniczna dla innych modów w Minecraft
JamLib to mod-biblioteka do Minecrafta, który daje innym modom wsparcie międzyplatformowe, konfiguracje JSON5 i wykrywanie przepakowanych…
JamLib to mod-biblioteka do Minecrafta, który daje innym modom wsparcie międzyplatformowe, konfiguracje JSON5 i wykrywanie przepakowanych plików jar.
JamLib — biblioteka techniczna dla innych modów w Minecraft
Wersja Minecrafta, na której przetestowano i napisano artykuł: 26.1.2
Zakres obsługiwanych wersji: 1.18.x – 26.1.2
Wymagana zależność: Architectury API
Dodatkowo na Fabric/Quilt: Fabric API
JamLib to mod-biblioteka dla Minecrafta, który sam w sobie nie dodaje do gry żadnych przedmiotów, bloków, mobów ani struktur. To narzędziowa nakładka, która daje twórcom innych modów: abstrakcję platformową między loaderami, gotowy system plików konfiguracyjnych oraz detektor przepakowanych plików jar. Bez tej biblioteki mody, które jej wymagają, po prostu się nie uruchomią.
Co robi mod
Biblioteka rozwiązuje jednocześnie trzy zadania dla developera:
Abstrakcje platformowe oparte na Architectury — ten sam kod działa na Fabric, Forge, NeoForge i Quilt bez osobnych gałęzi.
API konfiguracji w formacie JSON5 z automatycznym ekranem ustawień w grze.
Sprawdzanie pliku jar moda pod kątem oznak przepakowania z pirackich «luster».
Z perspektywy gracza biblioteka nie dodaje niczego do rozgrywki. Jedyne, co można zauważyć, to nowa pozycja w menu modów dla każdego moda korzystającego z JamLib do swoich ustawień. Jeśli takie mody znajdują się w paczce, w odpowiednim oknie pojawi się strona z suwakami, przełącznikami i polami tekstowymi, wygenerowana automatycznie.
Konfiguracje JSON5
Standardowy JSON nie pozwala na komentarze w kodzie. JSON5, z którym biblioteka współpracuje dzięki zależności Jankson, na to pozwala. W praktyce oznacza to, że pliki ustawień modów zbudowanych na JamLib wyglądają jak .json5 i już zawierają komentarze opisujące każdy parametr wraz z wartością domyślną tuż nad nim.
Pliki zachowują poprawki użytkownika przy nadpisywaniu: jeśli dodasz własną notatkę w linii zaczynającej się od //, po kolejnym zapisie konfiguracji pozostanie ona na miejscu. Standardowe biblioteki JSON tego nie potrafią.
Ekrany ustawień generowane są osobno. Na Fabric i Quilt interfejs jest wychwytywany przez standardowe menu modów, na Forge i NeoForge — przez wbudowane API ekranów konfiguracji loadera. Twórcy moda nie muszą pisać GUI ręcznie: JamLib pobiera pola z klasy konfiguracji i buduje dla nich widżety z walidacją — zakres liczb, wyrażenie regularne dla ciągu znaków, ostrzeżenie o konieczności ponownego uruchomienia gry.
Detektor przepakowanych modów
Osobna funkcja sprawdza, czy plik .jar zainstalowanego moda został pobrany z oficjalnego źródła. Niektóre strony przepakowują mody pod własnymi nazwami i czasem dodają do nich obce oprogramowanie. JamLib porównuje rzeczywistą nazwę pliku z polem JamLib-File-Name w jego manifeście. Jeśli się nie zgadzają, po wczytaniu świata w czacie pojawia się ostrzeżenie. Komunikat wyświetlany jest raz dla każdego podejrzanego pliku, po czym nazwa tego .jar zostaje zapamiętana.
Sprawdzenie dotyczy tylko tych modów, których autorzy celowo dodali JamLib-File-Name do swojego manifestu (czyli modów tego samego developera lub tych, którzy zintegrowali tę funkcję ręcznie). Biblioteka nie skanuje wszystkich plików .jar w folderze mods pod kątem wirusów czy złośliwego kodu — to nie antywirus.
Podsumowanie
JamLib zwalnia twórcę moda z ręcznego pisania systemu konfiguracji i abstrakcji platformowej dla czterech loaderów jednocześnie. Sens instalowania JamLib pojawia się tylko razem z zależnym modem, który go wymaga. Jeśli w paczce nie ma żadnego moda od JamCoreModding ani innego autora opartego na tej bibliotece, plik .jar JamLib po prostu będzie leżał w folderze mods bez aktywnej roli.
Instalacja
Typowa instalacja zajmuje około 5 minut. Procedura jest taka sama; różni się tylko loader i odpowiedni build.
- 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.











