本文档旨在全面介绍 "简易框架"(Simple Frameworks)的核心功能模块及其相关 API,帮助开发者快速掌握框架特性并高效实现项目目标。
模组注册是框架的基础功能,允许开发者动态加载、管理自定义内容。通过注册机制,您可以扩展框架功能,为游戏增加新的模块、行为和配置。
boot.json
或iMod
接口注册模组的配置和变量。
// 在boot.json中添加模组配置
// 例如 "longerCombat" 模组,直接在boot.json中添加如下配置:
"SFPlugin": {
// 添加你的widget到对应模块中:
"addWidget": {
// 添加到iModOptions中
"iModOptions": [
{
"widget": "longerCombatConfig"
}
],
// 添加到iModFooter中
"iModFooter": [
{
"widget": "longerCombat"
}
]
},
// 设置你的模组默认配置
"defaultConfigs": {
"mult": 2.5,
"midEjac": true,
"ejacRate": 80,
"moreRate": 25,
"moreTimes": 3,
"time": 1
},
// 设置你的模组默认变量
"defaultVariables": {
"totalsOnOneMoreTimes": 0,
}
}
特性说明:
备注:通过 boot.json 注册模组是最简单的方式,适合于简单的模组配置和变量注册。
/**
* 注册一个新模组。
* @param {string} modId - 模组的唯一标识符。
* @param {object} defaultConfig - 默认配置对象。将在游戏开始时自动初始化,或者在加载存档时自动更新旧有配置。
* @param {object} defaultVariables - 默认变量对象。将在游戏开始时自动初始化,或者在加载存档时自动更新旧有变量。
*/
iMod.regist(modId, defaultConfig = {}, defaultVariables = {});
特性说明:
具体示例:
// 注册一个新模组。
let myConfig = {
enabled: true,
autoMessage: false,
fastMode: false
}
let myVariables = {
myVar1: 0,
myVar2: "Hello World",
myVar3: {
num: 1,
str: "Hello World",
arr: [1, 2, 3]
}
}
iMod.regist("myFirstMod", myConfig, myVariables);
// 当然也可以直接这样写
iMod.regist(
"myModName",
{
enabled: true,
autoMessage: false,
fastMode: false
},
{
myVar1: 0,
myVar2: "Hello World",
myVar3: {
num: 1,
str: "Hello World",
arr: [1, 2, 3]
}
}
)
备注:由于游戏原版多次修改Sugarcube源码和变量初始化相关,现在推荐活用模组注册功能一键初始化/更新存档Mod需要的所有变量哟!
/**
* 添加内容到指定区域。
* @param {string} zone - 目标区域名称。
* @param {...(string|object)} widgets - 内容或小组件。
*/
simpleFrameworks.addto(zone, ...widgets);
/**
* 注册模组初始化函数。
* @param {...function|object} function - 包含初始化方法的object或者函数本身。object 应该包含 name 和 func 两个属性。
*/
simpleFrameworks.onInit(...function);