- 版权类型
- 原创
- 插件中文名称
- SealAttributes
- 插件英文名称
- SealAttributes
- 原帖地址
- #
- 支持的核心(服务端)
- Paper
- Purpur
- 其他核心
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 1.21
[MD]
# SealAttributes 1.0.12 插件介绍
## 交流与反馈
[点击链接一键加入【Seal系列插件交流群】](https://qm.qq.com/q/qoxe0UbMMU)
SealAttributes 是一套面向 Paper、Purpur 与 Leaf 1.21.x 服务器的通用 RPG 属性与权威实体战斗核心。
它负责定义属性、汇总装备与玩法来源、计算最终数值、处理实体战斗、同步生命与当前资源,并向其他插件
提供统一 API。装备插件、魂骨插件、职业插件或魂技插件可以在自己的物品和玩法中填写属性,但玩家最终
拥有多少属性、伤害如何结算、当前魂力如何保存,统一由 SealAttributes 提供和管理。
## 适合哪些服务器
- RPG、生存 RPG、MMO、地牢、副本与职业服;
- 需要物理、法术、真实伤害和完整攻防属性的服务器;
- 使用 MythicMobs 制作怪物、物品和技能的服务器;
- 需要让装备、职业、套装、状态、魂骨等多个插件共用一套最终属性的服务器;
- 斗罗大陆主题服,以及需要“上限属性 + 当前资源”模型的其他玩法服。
SealAttributes 是属性与战斗核心,不负责生成装备、设计职业、制作魂技或提供完整斗罗玩法。这些玩法插件
只需要向 SealAttributes 发布来源或调用资源 API,不应再维护第二份最终属性和当前魂力。
## 核心功能
### 22 项内置 RPG 属性
主插件内置以下属性,可在 `attributes.yml` 中调整基础值、显示名或启停状态:
| 分类 | 属性 |
| --- | --- |
| 攻击 | 物理攻击力、法术攻击力、真实伤害、攻击速度加成 |
| 防御与穿透 | 物理防御力、法术防御力、物理穿透率、法术穿透率 |
| 命中与暴击 | 命中等级、闪避等级、暴击率、暴击伤害、暴击抗性 |
| 生存与治疗 | 最大生命值、固定生命恢复、百分比生命恢复、生命偷取强度、治疗强度、受到治疗加成 |
| 战术属性 | 反伤强度、移动速度加成、格挡强度 |
属性支持固定数值与总百分比来源。基础 Profile、原版六槽装备、第三方插件、持久来源和内部扩展最终进入
同一条聚合链,不会因为来源不同而采用多套计算规则。
### 权威实体战斗
- 统一计算物理伤害、法术伤害和真实伤害;
- 支持防御、穿透、命中、闪避、暴击、暴击抗性、格挡、吸血与反伤;
- 玩家、普通生物和受支持的 MythicMobs 实体使用同一套战斗入口;
- 主动治疗、固定生命恢复和百分比生命恢复统一结算;
- 摔落、火焰、饥饿、窒息等环境伤害仍由服务端原版规则处理。
SealAttributes 不建立脱离服务端的第二条虚拟血量。RPG 最大生命会投影到 Bukkit/Paper 原生生命载体,
因此原版命令、血条和其他守规矩的插件仍能读取真实生命。服务器放宽原生属性上限后,可支持几十万或
百万级生命。
### 装备与属性来源
- 默认读取主手、副手和四件护甲;
- 支持规范化结构化属性数据,适合装备插件直接写入;
- 支持可配置 Lore 规则,兼容传统文字装备;
- 支持基础 Profile、临时来源、持久来源和第三方 API 来源;
- 支持原子批量替换一套装备或状态,避免玩家短暂看到半套旧属性和半套新属性;
- 可关闭内置六槽读取器,让 SealItems 等装备插件统一管理原版与自定义槽位;
- 通过只读状态与绑定保护,避免两个插件同时发布同一件装备而造成属性翻倍。
SealAttributes 不要求其他玩法插件重新“实现属性”。玩法插件只负责说明某件装备、魂骨或状态贡献了什么,
属性定义、聚合结果与最终战斗仍由 SealAttributes 权威提供。
### MythicMobs 联动
MythicMobs 5.x 联动已经合并在主插件中,不需要额外安装适配 JAR:
- 导入怪物经过等级与配置计算后的实际最大生命;
- 读取 MythicMobs 物品中的 `SealAttributes:` 结构化属性;
- 提供显式 `sealDamage` 与 `sealHeal` 技能机制;
- 技能可以使用物理、法术、真实伤害以及 SealAttributes 的完整攻防结算;
- 不会自动接管 MythicMobs 原生 `damage` 或 `heal`,服主可以按技能逐步接入。
### 通用当前资源系统
`1.0.8` 新增由主插件管理的通用资源系统:
- 资源上限、固定恢复、百分比恢复和消耗减免由属性决定;
- 当前值支持首次初始化、原子消费、恢复、回满与上限夹取;
- 玩家死亡期间冻结,重生后保留原值;
- 在线按真实经过时间恢复,离线默认不恢复;
- 当前值异步持久化,退出、停服和重登均有完整生命周期处理;
- GUI、PlaceholderAPI 与开发者 API 读取同一份资源状态。
资源系统是主插件能力,不需要再安装一个“魂力运行插件”。斗罗扩展只是告诉 SealAttributes 需要注册哪些
斗罗属性,以及魂力资源应关联哪些属性。
## 斗罗大陆扩展
可选的 `SealAttributes-Douluo-1.0.8.jar` 注册 12 项斗罗属性:
| 分类 | 属性 |
| --- | --- |
| 魂力 | 魂力上限、固定魂力恢复、百分比魂力恢复、魂力消耗减免 |
| 基础能力 | 体魄、精神力 |
| 魂技 | 魂技伤害加成、魂技伤害减免、魂技冷却缩减、辅助魂技强度 |
| 控制 | 控制强度、控制抗性 |
扩展同时注册当前“魂力”资源,并让魂技物理/法术伤害使用魂技伤害加成和减免。真实伤害不受这两项属性
影响。所有斗罗属性默认值均为 `0`,没有觉醒、装备或玩法来源时不会凭空获得数值。
装备、魂骨和职业插件发布属性来源;魂技插件读取属性并调用 Resource API 消耗魂力。SealAttributes 负责
最终属性与魂力,避免每个玩法插件各存一份数据。
## 展示与管理
### 只读属性 GUI
- 提供 54 槽只读属性 GUI;
- 分类展示攻击、防御、生存、移动和扩展属性;
- “生命与资源”区域同时显示生命和已注册资源;
- 属性或资源变化时自动刷新对应玩家的已打开界面;
- 不额外增加资源管理页面或手工修改魂力命令。
### PlaceholderAPI
- 提供属性 raw 与 formatted 占位符;
- 提供生命、有效最大生命和运行状态占位符;
- 提供资源名称、当前值、上限和百分比占位符;
- formatted 百分比使用人类可读数值,raw 保留 API 内部小数语义。
### DecentHolograms
- 可显示伤害、治疗和战斗反馈;
- 全息默认不可见,只向配置选中的观察者显示;
- 支持容量与每 tick 创建上限,避免战斗高峰无限生成显示对象;
- `/sa doctor` 可以查看全息健康、活动数量和累计丢弃计数。
### 诊断工具
- `/sa item inspect [玩家]`:只读检查物品属性及无效原因;
- `/sa combat trace [玩家]`:查看最近一次战斗的完整结算;
- `/sa doctor [玩家]`:检查 Java、平台、配置、数据库、可选联动和生命投影;
- `/sa database status`:查看当前数据库运行状态;
- `/sa inspect`、`/sa sources`:查看最终属性与来源明细。
诊断命令默认仅 OP 或拥有对应权限的管理员可用,不向普通玩家开放修改能力。
## 数据与可靠性
- 默认使用 SQLite,适合单服直接部署;
- 支持 MySQL 8,可配置连接池、队列、超时和断线重连;
- 持久来源、生命检查点和当前资源均使用 revision 防止旧异步写入覆盖新状态;
- 玩家登录在数据加载与 Paper 投影完成前不会进入 READY,异常时故障关闭;
- 停服会停止新写入、保存在线状态并排空已有存储任务;
- 配置热重载采用整批校验,任意配置失败时继续使用上一套完整配置。
`1.0.8` 使用数据库 schema 2。旧版本升级前必须备份数据库;从 schema 2 回滚到只理解 schema 1 的版本时,
必须同时恢复升级前数据库。
## 安装方法
1. 正常停止服务器,不要使用 Bukkit `/reload`、PlugMan 或其他热替换工具更新插件。
2. 将 `SealAttributes-1.0.8.jar` 放入 `plugins/`。
3. 斗罗服将 `SealAttributes-Douluo-1.0.8.jar` 放入 `plugins/SealAttributes/extensions/`。
4. 可选安装 PlaceholderAPI、DecentHolograms 与 MythicMobs 5.x。
5. 使用 Java 21 启动一次,等待日志显示 `SealAttributes ... runtime is active`。
6. 正常停服,按注释修改 `plugins/SealAttributes/` 下八份中文业务配置。
7. 再次启动并使用 `/sa version`、`/sa database status`、`/sa doctor` 与属性 GUI 验证。
玩法插件开发者使用 `delivery/developer/SealAttributes-API-1.0.8/` 中的 API 编译包;API JAR 不能放入
服务器 `plugins/`。
## 兼容范围
| 项目 | 支持情况 |
| --- | --- |
| Java | Java 21 |
| 服务端 | Paper、Purpur、Leaf 1.21.x |
| 精确矩阵 | Paper 1.21 / 1.21.4 / 1.21.11,Purpur 1.21 / 1.21.4 / 1.21.11,Leaf 1.21.4 / 1.21.11 |
| Folia | 不支持 |
| 数据库 | SQLite、MySQL 8 |
| 软联动 | PlaceholderAPI、DecentHolograms、MythicMobs 5.x |
| 部署模式 | 单服;不承担代理 UUID 转发或跨服属性同步 |
表中的精确构建已经过验证,但不代表未来出现的任意 1.21.x 新构建自动兼容。升级服务端前仍建议先在
测试服完成启动、登录、战斗、数据库和停服冒烟。
## 1.0.8 验证情况
- 连续两轮干净、真实 MySQL 全量质量门,每轮 266 项测试,0 失败、0 错误、0 跳过;
- Paper、Purpur、Leaf 共 8 个精确构建通过双会话、重连、战斗、SQLite 与干净停服矩阵;
- Leaf 1.21.4 斗罗场景通过 12 项属性、结构化装备、魂力消费/恢复/重登持久化和技能伤害验收;
- 正式主插件 SHA-256:`00cc6a70bbd532a3aa40eaef054e4a69f171ed32e3505610165003c08f674c28`;
- 正式斗罗扩展 SHA-256:`79c4ae148e7956908c8e4a387523da4dc3a18244c69fa064cbe0dd3bb7627fc2`。
本轮没有重跑正式 P9 压力测试。完整安装、配置、备份和排障说明见 `docs/ADMIN-GUIDE.md`。
[/MD]