如何开始
约 792 字大约 3 分钟
2025-11-05
女仆模组为开发者提供了丰富的方法和接口,支持自定义女仆工作模式、扩展女仆背包类型等诸多功能。
版本注意
目前女仆模组最新版本为 1.5.1,支持 Forge 1.20.1 和 NeoForge 1.21.1 两大平台。
一、Gradle 配置
女仆模组通过 Modrinth Maven 仓库进行分发。该仓库会可自动下载模组源码,极大地方便模组开发时的逻辑查看或用法搜索。
1.20.1 Forge
repositories {
maven {
url = "https://api.modrinth.com/maven"
content {
includeGroup "maven.modrinth"
}
}
}
dependencies {
implementation fg.deobf("maven.modrinth:touhou-little-maid:1.5.1-forge+mc1.20.1")
}1.21.1 NeoForge
repositories {
maven {
url = "https://api.modrinth.com/maven"
content {
includeGroup "maven.modrinth"
}
}
}
dependencies {
implementation "maven.modrinth:touhou-little-maid:1.5.1-neoforge+mc1.21.1"
}完成添加后,刷新 Gradle 配置即可生效。
二、修改女仆模组版本
当需要适配不同版本时,只需修改依赖配置中的版本号即可。版本号格式直观易懂:
- 1.20.1 Forge:
1.5.1-forge+mc1.20.1 - 1.21.1 NeoForge:
1.5.1-neoforge+mc1.21.1
可在 Modrinth 页面 查看最新版本号。
版本依赖限制
为了保证模组的稳定运行,建议在 mods.toml 或 neoforge.mods.toml 文件中限制女仆模组的最低版本,避免因版本过旧导致的兼容性问题。
以 NetMusic 模组为例:
1.20.1 Forge
[[dependencies.netmusic]]
modId = "touhou_little_maid"
# mandatory 为 false 表示该依赖为可选,仅在安装了女仆模组时才检查版本
mandatory = false
# 限制女仆模组最低版本为 1.3.0
versionRange = "[1.3.0,)"
# 确保在女仆模组之后加载
ordering = "AFTER"
side = "BOTH"1.21.1 NeoForge
[[dependencies.netmusic]]
modId = "touhou_little_maid"
# type 为 optional 表示该依赖为可选,仅在安装了女仆模组时才检查版本
type = "optional"
# 限制女仆模组最低版本为 1.3.0
versionRange = "[1.3.0,)"
# 确保在女仆模组之后加载
ordering = "AFTER"
side = "BOTH"三、入口注册方式
女仆模组采用类似 JEI 的注解注册系统,并结合 Forge 的事件机制,极大地方便了开发者进行内容扩展和自定义。
通过注解机制,开发者可以轻松地为女仆模组添加联动内容。带有注解的类仅在女仆模组被安装时才会被反射加载和实例化;未安装时相关代码不会被触发。这种 软依赖设计大幅提升了适配的灵活性。
创建入口类
你可以在项目的任意位置创建一个入口类,实现 ILittleMaid 接口,并使用 @LittleMaidExtension 注解进行标记。女仆模组会自动通过反射实例化该类。
@LittleMaidExtension
public class LittleMaidCompat implements ILittleMaid {
}扩展功能
查看 ILittleMaid 接口 ,你会发现它提供了丰富的扩展点,包括:
- 注册自定义女仆工作模式
- 为物品绑定女仆饰品
- 定义新的女仆背包类型
- 其他更多功能
示例代码:
@LittleMaidExtension
public class LittleMaidCompat implements ILittleMaid {
/**
* 绑定女仆饰品
* 将自定义饰品与物品进行关联
*/
@Override
public void bindMaidBauble(BaubleManager manager) {
// 将木棍绑定为自定义饰品
manager.bind(Items.STICK, new CustomBauble());
}
/**
* 注册女仆工作任务
*/
@Override
public void addMaidTask(TaskManager manager) {
// 添加自定义任务
manager.add(new CustomTask());
}
}