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.propertiesmod.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,再调用这里。
}
}