SashegDev 865350ca02 Не коммитить libs\
rsx-api.jar приходит из dist модлоадера и меняется вместе с ним, поэтому в
репозитории ему не место: закоммиченная копия рано или поздно разойдётся с
настоящей. build.cmd ждёт его в libs\.
2026-10-17 02:55:58 +03:00
2026-10-17 02:55:58 +03:00

rsxm-lib

Общая библиотека для модов RustexRemake. Лежит в libs\ рядом с mods\, и агент подмешивает её в системный class path при старте — поэтому моды видят её без дублирования: один jar, одна копия в памяти.

Загрузчик игры даёт каждому моду свой class loader, и напрямую моды друг друга не видят. Но у всех этих загрузчиков родитель — системный, а значит всё, что в нём, доступно каждому. На этом и построена библиотека.

Что внутри

  • net.rsxm.lib.json.Json — маленький разборщик и писатель JSON. Без внешних зависимостей: мод — это jar, который друг бросил в папку, тащить туда ещё и библиотеку незачем.
  • net.rsxm.lib.config.Config — настройки мода в config\<mod>.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();
S
Description
Общая библиотека для модов RustexRemake: конфиги, логи, чат, тайминги
Readme 41 KiB
Languages
Java 95.5%
Batchfile 4.5%