This repository has been archived on 2026-10-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
rsx-modloader/bridge/src/test/mod/ExampleMod.java
T
SashegDev b8e5df778e Модлоадер RustexRemake: агент, патч лаунчера, установщик и сборка
Моды грузятся через -javaagent, game.jar не патчится, переживают ре-обфускацию.

Что внутри:
- агент rsx-bridge.jar: профиль сборки игры, патчи A2/A6, загрузка модов
  через родной загрузчик игры (ilxq -> special.Main)
- патч лаунчера: окно выбора «С модами / Ванилла» по кнопке «Играть»
  и защита от автоапдейта лаунчера
- install/uninstall: всё ставится в %LOCALAPPDATA%\rsx-mod, пути не хардкодятся
- build: три готовых артефакта в dist, нужен только JDK
- testserver: локальный сервер, принимает любой ник и токен

Проверено на живом клиенте: мод грузится и выполняется в игровом потоке,
в логе видно игрока и мир.
2026-10-17 00:32:10 +03:00

34 lines
1.1 KiB
Java

package example;
import net.rustexremake.api.Rsx;
import net.rustexremake.api.RsxMod;
/**
* Example mod. It is compiled against the stable API only, so it does not have
* to be rebuilt when the vendor re-obfuscates the client.
*/
public class ExampleMod implements RsxMod {
private int ticks;
@Override
public void onLoad() {
Rsx.info("ExampleMod: loaded on build " + Rsx.buildId());
Rsx.info("ExampleMod: Minecraft is " + Rsx.describe("net.minecraft.client.Minecraft"));
// a repeating task runs on the game thread, driven by the client's own
// tick, so touching game state here is safe
Rsx.every(200L, new Runnable() {
@Override
public void run() {
ticks++;
Object mc = Rsx.minecraft();
Object player = Rsx.player();
Rsx.info("ExampleMod tick " + ticks
+ " client=" + (mc != null)
+ " player=" + player
+ " world=" + Rsx.world());
}
});
}
}