跳到正文

命令与权限

根命令是 /sealattributes,别名 /sa。玩家名必须是当前在线玩家的精确名字。未授权的子命令不会出现在帮助和补全中。

权限节点

权限默认用途
sealattributes.command.stats所有人查看自己的属性;控制台必须给目标。
sealattributes.command.inspect.othersOP文本检查他人属性;控制台检查玩家也需要。
sealattributes.command.sourcesOP查看来源列表和详情。
sealattributes.command.healthOP查看当前生命与 Paper 最终有效最大生命。
sealattributes.command.health.repairOP修复插件拥有的生命与移动速度投影。
sealattributes.command.source.manageOP写入/删除管理员永久或定时来源。
sealattributes.command.refreshOP重读目标玩家的内置六槽装备。
sealattributes.command.reloadOP原子重载八份配置。
sealattributes.command.databaseOP数据库状态与排空队列。
sealattributes.command.version所有人显示版本与 API baseline。
sealattributes.command.diagnosticsOPitem inspect、combat trace、doctor。

全部命令

命令控制台说明
/sa显示按权限过滤的帮助。
/sa stats [玩家]需玩家参数无参数玩家打开 GUI;带目标/控制台转为文本检查。查看他人还要 inspect.others
/sa inspect <玩家> [属性ID]无 ID 列全部属性;省略命名空间时补 sealattributes:
/sa sources <玩家>列出来源键、修订、贡献数量和存活策略。
/sa source list <玩家>与来源列表用途一致。
/sa source show <玩家> <source-id>查看 sealattributes_admin:<source-id> 的完整贡献。
/sa source set ...异步持久写入管理员来源。
/sa source remove <玩家> <source-id> <原因>异步删除管理员持久来源;不能删除其他 provider 的运行时来源。
/sa health <玩家>显示当前生命与 Paper 最终有效最大生命;RPG 值用 inspect。
/sa health repair <玩家> <原因>修复插件拥有的投影并记审计日志。
/sa refresh <玩家>下一合法线程时机重读内置装备;读取器关闭时无实际变化。
/sa reload后台加载候选配置,主线程原子提交;并发重载返回 busy。
/sa database status显示后端、连接、队列和状态。
/sa database flush在 shutdown timeout 内排空存储队列。操作 worker 容量为 2,忙时会拒绝。
/sa version插件版本、API 和平台。
/sa item inspect [玩家]无目标时否只读检查主手物品,不发布来源。
/sa combat trace [玩家]无目标时否查看参与者最近一次有界内存战斗记录。
/sa doctor [玩家]无玩家时检查系统;带玩家再检查 READY 与健康投影。

source set 语法

text
/sa source set <玩家> <source-id> <完整属性ID> <ADD|TOTAL_PERCENT> <数值> <PERMANENT|EXPIRES_AT> [秒数] <原因>

约束:

  • 属性 ID 使用完整 namespace:path
  • 数值必须有限,不能是 NaN 或无穷;
  • TOTAL_PERCENT 仅允许定义支持它的 AMOUNT 属性;
  • EXPIRES_AT 的秒数为 1~31,536,000;
  • 原因 3~160 字符;
  • source-id 归属于固定 provider sealattributes_admin
  • 同键必须使用更高内部修订;命令负责读取与生成修订。

永久示例:

text
/sa source set Alice quest/chapter_1 sealattributes:max_health ADD 50 PERMANENT quest_reward_101

定时 30 分钟示例:

text
/sa source set Alice event/weekend sealattributes:physical_attack TOTAL_PERCENT 0.15 EXPIRES_AT 1800 weekend_event

这里 API/命令中的 0.15 表示 15%;物品 JSON/Lore 的百分比输入才使用人类百分数 15。预期命令先回“开始”,落库后回成功。PERSISTED_SESSION_DEFERRED 代表数据库已提交但原在线会话已失效,是成功但尚未装配到新会话,不应自动重写。

玩家与控制台差异

  • GUI 只对玩家有意义。控制台 /sa stats Alice 得到文本,不会打开 GUI。
  • item inspect 无目标时检查执行者主手,所以控制台必须指定在线玩家。
  • doctorversion、数据库、重载和管理命令适合控制台。
  • 控制台不会绕过权限检查;应在权限系统中明确授权或使用服务器控制台身份。

失败示例

text
/sa source set Alice demo max_health ADD 10 PERMANENT ok

错误:属性 ID 不完整,而且原因 ok 少于 3 字符。

text
/sa source set Alice demo sealattributes:critical_chance TOTAL_PERCENT 0.1 PERMANENT test_reason

错误:critical_chance 不是允许 TOTAL_PERCENT 的 AMOUNT 属性。

text
/sa reload

若某一 YAML 有误,预期显示失败原因,八份旧配置保持不变。修复后再执行,不要重启到未知状态。

Minecraft 服务端插件使用与开发文档