外观
SealItems 管理员指南
安装
- 使用 Java 21 和 Paper、Purpur 或 Leaf 1.21.x。
- 安装 SealAttributes,并在其
sources.yml中关闭built-in-equipment-reader.enabled。 - 把
SealItems-1.0.0.jar放入plugins/。 - 正常启动服务器,确认控制台出现“SealItems 已就绪”。
- 执行
/si admin system status,确认运行状态为READY、装备属性联动可写。
SQLite 驱动和数据库连接由插件统一管理;单服不需要安装 MySQL。
配置目录
text
plugins/SealItems/
├─ config.yml
├─ messages.yml
├─ items/
├─ rules/
│ ├─ affixes/
│ ├─ qualities/
│ ├─ identification/
│ ├─ modification/
│ ├─ sockets/
│ ├─ resonance/
│ ├─ enhancement/
│ ├─ binding/
│ ├─ crafting/
│ ├─ decomposition/
│ ├─ loot/
│ └─ sets/
└─ gui/config.yml:全局开关、宝石 Lore、套装收藏条件、数据库和 Redis。items/:物品外观、属性、品质、词条和物品固有玩法行为。rules/:可被多件物品复用的玩法规则。gui/:界面标题、槽位、按钮、名称、Lore 和声音。messages.yml:聊天和操作结果文本。
旧版 content/、gameplay/、plans/、trash/ 不再支持。
使用示例
每个业务目录只有一份中文总示例。文件名以 示例- 开头时不会加载。
测试完整闭环:
- 复制
items/示例-物品.yml,把副本改成普通文件名。 - 复制
rules/下全部 12 份示例,同样去掉示例-前缀。 - 执行
/si admin system reload all。 - 执行
/si admin system status,应看到 15 个示例物品和各玩法已发布。
不要直接修改原始示例;以后插件更新时可以继续对照最新字段。
物品写法
物品 ID 是顶层键,一个文件可以写多个物品:
yaml
echo_blade:
material: NETHERITE_SWORD
name: '<gold>回响长剑'
stackable: false
category: weapon
slot: main-hand
attributes:
physical_attack: { add: 12, total-percent: 10% }
gameplay:
identification: standard_identification
modification: standard_weapon_modification
sockets: { rule: standard_weapon_sockets, maximum-sockets: 3 }
enhancement: { rule: standard_weapon_enhancement, maximum-level: 20 }写出玩法节点即表示参与,不需要 enabled。删除节点即关闭该物品的对应玩法。
公共规则与物品行为
公共规则适合多件物品共享:
- 强化等级、概率、失败和费用写在
rules/enhancement/。 - 孔型、操作和费用写在
rules/sockets/。 - 配方写在
rules/crafting/。 - 分解、鉴定、改造、绑定、掉落和套装同理。
下列行为属于物品自身:
- 宝石的分类、限制和属性。
- 强化幸运材料、保护符和直升卷轴。
- 图纸解锁的配方编号。
不要为每颗宝石或每种强化材料再建立第二份行为规则。
费用
所有玩法统一使用 costs:
yaml
costs:
- { type: seal-item, id: upgrade_stone, amount: '2 + target_level' }
- { type: vanilla, material: DIAMOND, amount: 1 }
- { type: vault, amount: '100 + target_level * 25' }支持的类型以对应示例为准:
seal-item:SealItems 材料 ID。vanilla:原版材质。vault:Vault 经济。playerpoints:PlayerPoints 点数。experience-points:经验值。experience-levels:经验等级。
公式可用变量、函数和实际算例都写在示例字段旁。重载时会先编译公式,错误公式不会进入运行时。
数据库
config.yml 默认:
yaml
database:
mysql:
enabled: falsefalse 自动使用 plugins/SealItems/sealitems.db。启用 MySQL 时填写 host、port、database、username、password、ssl,不要填写 JDBC 地址。
数据库连接信息修改后完整重启服务器。多服共享数据必须使用 MySQL,不要让多台服务器同时操作同一个 SQLite 文件。
Redis 当前没有必须依赖它的玩法,保持关闭即可。
GUI
gui/ 下每个玩法一份文件,可修改:
- 标题和槽位。
- 原版材质与 Custom Model Data。
- 按钮名称、Lore、颜色和声音。
- 确认、取消、翻页和状态提示。
GUI 不配置成功率、费用、材料或产物。当前没有合成或分解游戏内配置编辑器,YAML 是唯一配置真值。
命令
玩家:
text
/si gui identify
/si gui modify
/si gui socket
/si gui enhance
/si gui craft
/si gui decompose
/si gui sets
/si gui unbind管理员常用:
text
/si admin system status
/si admin system reload all
/si admin system reload <玩法> config
/si admin system reload <玩法> gui
/si admin item list
/si admin item give <玩家> <物品ID> [数量]
/si admin item inspect
/si admin item binding管理员默认拥有全部管理权限。
重载规则
reload all会先构建整套候选;任何问题都拒绝整组发布。- 拒绝发布后,玩家继续使用旧快照,不会看到半套新配置。
- GUI 重载会关闭对应旧会话,避免按钮布局与会话状态不一致。
- 数据库类型、连接参数和依赖变更需要完整重启。
运维底线
- 正式发放后保持物品、规则、品质、词条、配方和属性 ID 稳定。
- 不要手工编辑物品 PDC、SQLite、outbox 或 incident 文件。
- 外部经济出现 UNKNOWN 时先查账,再执行 reconcile。
- 材料只扫描玩家普通背包和快捷栏,不递归潜影盒、末影箱或第三方仓库。
- 配置问题先看控制台完整路径和字段,再使用
/si admin system status确认旧快照仍在。