# rsxm-lib Общая библиотека для модов RustexRemake. Лежит в `libs\` рядом с `mods\`, и агент подмешивает её в системный class path при старте — поэтому моды видят её без дублирования: один jar, одна копия в памяти. Загрузчик игры даёт каждому моду свой class loader, и напрямую моды друг друга не видят. Но у всех этих загрузчиков родитель — системный, а значит всё, что в нём, доступно каждому. На этом и построена библиотека. ## Что внутри * `net.rsxm.lib.json.Json` — маленький разборщик и писатель JSON. Без внешних зависимостей: мод — это jar, который друг бросил в папку, тащить туда ещё и библиотеку незачем. * `net.rsxm.lib.config.Config` — настройки мода в `config\.json`. Значения по умолчанию задаёт сам мод, битый файл не роняет игру, а заменяется дефолтами с записью в лог. * `net.rsxm.lib.config.Home` — где вообще лежит модлоадер, чтобы мод не гадал. * `net.rsxm.lib.config.Log` — логирование с именем мода. ## Сборка build.cmd Нужен только JDK. Скрипт собирает `dist\rsxm-lib.jar` и сразу прогоняет тесты JSON и конфигов. ## Использование Компилируйте мод против `rsx-api.jar` **и** `rsxm-lib.jar`, но не кладите `rsxm-lib.jar` внутрь мода — он и так на class path: javac -cp "rsx-api.jar;rsxm-lib.jar" ... Config cfg = Config.of("hud"); boolean show = cfg.bool("show", true); cfg.set("x", 8); cfg.save();