跳到主要内容

命令与权限

Baikiruto 提供了完整的命令系统,用于管理物品、调试和配置。

主命令

/baikiruto
/bkr
/bai

三个命令完全等价,可以根据个人习惯选择使用。

命令列表

物品管理

list - 列出所有物品

/baikiruto list [关键词]

列出所有已注册的物品,支持不区分大小写的关键词包含过滤。

示例:

# 列出所有物品
/baikiruto list

# 搜索包含 "sword" 的物品
/baikiruto list sword

权限: baikiruto.command.list


give - 发放物品

/baikiruto give <物品ID> [玩家] [数量]

给指定玩家发放物品。

参数:

  • 物品ID - 物品的唯一标识符(如 example:sword
  • 玩家 - 目标玩家名称(可选)
  • 数量 - 发放数量(可选,默认为 1)

实际判定规则:

  • 第二个参数如果是在线玩家名,就会发给该玩家
  • 第二个参数如果是纯数字,就会把这个数字当成数量并发给自己
  • 同时填写玩家和数量时,格式仍然是 /baikiruto give <物品ID> <玩家> <数量>

示例:

# 给自己发放 1 个物品
/baikiruto give example:sword

# 给自己发放 64 个物品
/baikiruto give example:sword 64

# 给玩家 Steve 发放 1 个物品
/baikiruto give example:sword Steve

# 给玩家 Steve 发放 10 个物品
/baikiruto give example:sword Steve 10

权限: baikiruto.command.give


/baikiruto menu [分组ID]

打开可视化物品菜单,可以浏览和发放物品。

参数:

  • 分组ID - 指定打开的分组(可选,默认显示所有分组)

分组 ID 的常见来源:

  • 你手动写的 __group__.id
  • 没写 __group__.id 时,Baikiruto 会按 items/ 下的文件相对路径自动生成

示例:

# 打开主菜单
/baikiruto menu

# 打开指定分组
/baikiruto menu example

使用技巧:

  • 菜单里普通点击发放 1 个物品
  • 菜单里 Shift 点击会直接发放 64 个物品

权限: baikiruto.command.menu


物品操作

serialize - 序列化物品

/baikiruto serialize

将手持物品的序列化结果逐行输出到聊天栏。

输出内容:

  • itemId
  • amount
  • version
  • metaHistory
  • runtimeData
  • itemStackData 预览(Base64 截断预览)

用途:

  • 检查当前物品到底绑定了哪个 Baikiruto ID
  • 排查版本哈希、运行时数据和 Meta 历史
  • 手动比对序列化前后的物品状态

权限: baikiruto.command.serialize


rebuild - 重建物品

/baikiruto rebuild

根据物品流信息重建手持物品。

用途:

  • 修复损坏的物品
  • 更新物品到最新配置
  • 重新应用脚本和 Meta

权限: baikiruto.command.rebuild


系统管理

reload - 重载配置

/baikiruto reload [items|scripts|debug]

重载插件配置和物品数据。

参数:

  • items - 仅重载物品配置
  • scripts - 仅重载脚本
  • debug - 输出当前诊断信息快照(不会切换调试开关)
  • 无参数 - 重载所有配置

示例:

# 重载所有配置
/baikiruto reload

# 仅重载物品配置
/baikiruto reload items

# 输出诊断信息
/baikiruto reload debug

权限: baikiruto.command.reload

注意: 如果启用了 reload-online-update,重载后会自动更新在线玩家背包中的物品。


selfcheck - 自检诊断

/baikiruto selfcheck

执行插件自检,输出诊断信息。

检查项:

  • 当前诊断快照
  • 物品注册数量
  • 脚本编译状态
  • 数据库连接状态
  • 插件集成状态
  • 性能指标
  • 已注册物品 ID 列表

权限: baikiruto.command.debug


调试命令

debug build - 构建物品测试

/baikiruto debug build [物品ID]

测试物品构建流程,输出详细日志。

补充说明:

  • 省略 物品ID 时,默认测试 example:all_features

权限: baikiruto.command.debug


debug give - 发放物品(调试模式)

/baikiruto debug give [物品ID] [数量]

以调试模式发放物品,输出详细构建信息。

补充说明:

  • 省略 物品ID 时,默认发放 example:all_features
  • 数量 省略时默认为 1

权限: baikiruto.command.debug


debug read - 读取物品流信息

/baikiruto debug read

读取手持物品的 ItemStream 信息,输出到聊天栏。

输出内容:

  • 物品 ID
  • 版本哈希
  • 数据流内容
  • Meta 信息

权限: baikiruto.command.debug


debug update - 触发背包更新检查

/baikiruto debug update

手动触发当前玩家的背包物品更新检查。

权限: baikiruto.command.debug


debug metrics - 显示性能指标

/baikiruto debug metrics

显示插件性能指标和缓存统计。

输出内容:

  • 物品构建次数
  • 平均构建时间
  • 缓存命中率
  • 内存使用情况

权限: baikiruto.command.debug


权限节点

基础权限

权限节点说明默认
baikiruto.command基础命令权限OP
baikiruto.command.list列出物品OP
baikiruto.command.give发放物品OP
baikiruto.command.menu打开菜单OP
baikiruto.command.serialize序列化物品OP
baikiruto.command.rebuild重建物品OP
baikiruto.command.reload重载配置OP
baikiruto.command.debug调试命令OP

权限组配置示例

LuckPerms 配置:

# 管理员组(所有权限)
/lp group admin permission set baikiruto.command true

# 玩家组(仅菜单和重建)
/lp group player permission set baikiruto.command.menu true
/lp group player permission set baikiruto.command.rebuild true

# VIP 组(额外发放权限)
/lp group vip permission set baikiruto.command.give true

PermissionsEx 配置:

groups:
admin:
permissions:
- baikiruto.command

player:
permissions:
- baikiruto.command.menu
- baikiruto.command.rebuild

vip:
permissions:
- baikiruto.command.menu
- baikiruto.command.rebuild
- baikiruto.command.give

命令别名

插件内置别名为 /bkr/bai,无需额外配置即可使用。如果你想添加更多自定义别名,可以在 Bukkit 的 commands.yml 中配置:

command-aliases:
bi:
- baikiruto

使用技巧

快速发放物品

使用 Tab 补全快速输入物品 ID:

/bkr give exa<Tab>  # 自动补全为 example:

批量发放

结合脚本批量发放物品:

# 给所有在线玩家发放物品
/execute as @a run baikiruto give example:sword

调试物品问题

  1. 使用 /bkr debug read 查看物品流信息
  2. 使用 /bkr debug build [ID] 测试物品构建
  3. 开启 debug: true 查看详细日志

性能优化

  1. 使用 /bkr debug metrics 查看性能指标
  2. 如果构建时间过长,检查脚本复杂度
  3. 调整 slow-build-millis 阈值监控慢构建

常见问题

命令无权限

确保玩家拥有对应的权限节点,或者临时授予 OP 权限测试。

Tab 补全不工作

检查服务端是否支持命令补全,Paper 服务端支持更好。

物品发放失败

  1. 使用 /bkr list 确认物品已注册
  2. 检查物品 ID 拼写是否正确
  3. 查看控制台错误信息

下一步