新语法、迁移与游戏内编辑器
新语法、迁移与游戏内编辑器
0.0.7 的 Rewards 和 Skills 支持普通 YAML 对象。每条动作的 action 是函数名,其他字段直接写参数;旧的 {参数;参数} 行仍能读取。
生命宝石:
Name: 生命宝石
Material: REDSTONE
Require: [ARMOR]
Rewards:
- action: Attribute
name: health
operation: 0
slot: auto
var: "v+1"
limit: 10
技能中的 trigger 指触发时机,target 不写时默认 Self:
缓降:
Lore: "[BUFF] 缓降"
Skills:
- action: PotionBuff
type: SLOW_FALLING
trigger: onTimer
闪现:
Lore: "右键闪现"
Skills:
- action: Blink
distance: 16
trigger: onUse
target: Self
一条技能可写多个触发器:trigger: "onUse, onShiftUse"。需要忽略奖励失败时写 ignorable: true。拆卸价格与返还成功率写在独立的 dismantle/ 方案里,宝石奖励不再写 phase: remove。其他参数保持函数原有含义。含 : 、#、$ 或特殊符号的参数值建议加 YAML 引号。YAML 的引号能表达原来的分号、等号和空格,无需额外的反斜杠转义。trigger 是推荐字段名;请勿把它缩写成 on,某些 YAML 解析器会把 on 当布尔值。
迁移已有文件
- 更新到 0.0.7 并确认服务器正常启动。
- 执行
/sgem migrate。插件扫描gems/和skills/第一层文件,把旧动作行转换成对象式动作。 - 指令会报告转换文件数、动作数和备份目录;完成后自动重载配置。
- 对照备份检查转换结果。
Chance、If、All、Repeat、Reward等嵌套技能及Conditional的嵌套奖励会转换为then对象或列表;无法确认转换前后运行结果一致的行仍保留原文。
备份保存在 plugins/SnowyGems/migration-backups/<时间>/。转换前先解析所有待转换行;写入或重载失败会恢复原始文件并重新加载。转换会重新序列化有改动的 YAML 文件,所以注释与原排版可能变化;原始字节在备份中。没有旧动作时不会改文件。权限为 snowygems.migrate,默认包含在 snowygems.admin。此命令只转换动作写法,不迁移旧拆卸价格;后者需按拆卸方案手工处理。
游戏内编辑器
执行 /sgem editor,需要 snowygems.edit,默认仅 OP 或拥有 snowygems.admin 的管理员可用。
- 首页选择 宝石 或 符文配方,然后进入分类和条目。分类对应
gems/或runes/packs/中的配置文件;可在分类页新建分类,右键删除空分类。内置forge配方分类不能删除。 - 分类内可创建宝石或配方,条目 ID 只能包含文字、数字、
_、-,最多 48 字。条目页可移动到其他分类;移动会同时更新配置文件。 - 宝石条目页按 基础、外观、限制、奖励、奖池 分区。字段左键修改;布尔字段左键切换,右键可清空可选字段。
Tips、Require、Gui等列表字段用|分隔。自定义字段会先询问字段名,再询问值。 - 宝石的 奖励动作 页可逐条添加和修改参数;新增时先选常用模板,也可选择“自定义动作”输入完整动作。右键删除动作前会出现确认界面。带嵌套函数的复杂动作可先新增简单动作,再逐项编辑参数。
- 符文配方的 材料 页会列出已用宝石;添加材料时直接从宝石列表选择,再设置数量。右键移除材料需确认;配方产物在基础字段中的
Result设置。 - 随机宝石的 奖池 页可从宝石列表选择子宝石并设置权重,右键移除奖池项需确认。
- 所有文字和数字都在铁砧 GUI 中输入:修改上方文字后点击右侧保存,点击中间红色图标取消。删除条目、删除分类、移动条目等操作都有 GUI 确认页,不需要聊天输入。
自定义编辑器界面
编辑器的界面配置在 plugins/SnowyGems/gui/editor.yml,首次启动自动生成;已有文件升级时保留。修改后执行 /sgem reload。
Titles:首页、分类、条目、字段、确认页等标题。动态标题支持{id}、{category}、{group}、{index}。Icons:按按钮角色设置Material、Display、Tips、Glow。Display和Tips可用{name}插入该图标原来的文字。留空的属性使用内置值。ContentSlots:六行列表页显示内容的格子。Slots:返回、添加、翻页以及首页、条目详情、确认页的按钮格子。Back、Previous、Add、Next必须各占不同位置,且不能与ContentSlots重叠。
例如,将返回按钮换成指南针:
Icons:
Back:
Material: COMPASS
Display: '&e返回上一层'
Tips: ['&7点击返回']
铁砧输入界面的三个位置固定为 0、1、2;可通过 InputText、InputCancel、InputSave 调整图标外观。配置文件中的默认值展示了所有可修改的页面、图标角色与按钮位置。
每次修改立即保存并完整重载。无效宝石引用、重复 ID、错误配方或严格校验失败时,相关文件恢复到修改前内容,聊天栏显示错误原因。删除仍被配方引用的宝石也会被拒绝。编辑器操作会重新序列化相应文件,正式服操作前建议保留配置备份。符文配方编辑的是锻造配方;符文物品本身仍是宝石定义,应在“宝石”页编辑。