Skip to content

JVM 模组

RWX JVM 模组以 jar 文件加载。模组依赖平台无关的 mod-api 模块,并在桌面端实现 com.corrodinggames.rts.gameFramework.mod.JvmMod

mod-api 只包含稳定契约和数据模型,不暴露游戏内部类。因此同一套面向 modder 的代码以后可以复用于桌面端、Android、服务端或工具链宿主。

Jar 结构

text
my_mod.jar
├── mod.toml
├── com/example/MyMod.class
├── assets/
│   ├── units/
│   ├── textures/
│   ├── sounds/
│   └── shaders/
└── localization/
    ├── en.properties
    └── zh.properties

mod.toml

桌面端加载器目前读取这些顶层字段:

toml
id = "my_awesome_mod"
name = "My Awesome Mod"
entrypoint = "com.example.MyMod"
version = "1.0.0"
author = "Your Name"
description = "Adds new units and rendering effects."
minGameVersion = "1.0.0"
dependencies = ["another_mod"]
priority = "0"

entrypoint 必须是带有 public 无参构造函数的类。同一批次加载时,存在的依赖会优先初始化。

入口类

kotlin
package com.example

import com.corrodinggames.rts.gameFramework.mod.JvmMod

class MyMod : JvmMod() {
    override fun initialize() {
        // 加载器会先注入 api,再调用这里。
    }
}

使用 AGPL-3.0 协议发布