rsx-api.jar приходит из dist модлоадера и меняется вместе с ним, поэтому в
репозитории ему не место: закоммиченная копия рано или поздно разойдётся с
настоящей. build.cmd ждёт его в libs\.
Загрузчик игры даёт каждому моду свой class loader, поэтому моды не видят
друг друга. Но у всех этих загрузчиков родитель — системный, а значит всё,
что попало в его class path, доступно каждому моду. Агент подмешивает jar'ы
из libs\ именно туда, поэтому библиотека одна на всех, и модам не нужно
вшивать её в себя.
Первый набор:
- json.Json — разборщик и писатель JSON без внешних зависимостей;
- config.Config — настройки мода в config\<mod>.json, битый файл не роняет
игру, а откатывается на значения по умолчанию с записью в лог;
- config.Home — где лежит модлоадер, чтобы мод не гадал;
- config.Log — логи с именем мода.
build.cmd собирает jar и сразу гоняет тесты библиотеки.