地毯机器人管理器

一个生存友好型的地毯机器人管理器。

工具

Carpet 机器人管理器

Carpet 机器人管理器在 Fabric Carpet 的 /player 命令基础上,增加了玩家自有的机器人管理功能。它专为那些希望 Carpet 机器人成为可控玩家功能而非无限制管理工具的服务器而设计。

玩家可以获得属于自己的编号机器人,只能生成和控制自己拥有的机器人,并可使用服务器配置的物品成本购买额外机器人。管理员可以调整命名规则、初始机器人数量、价格以及每个玩家的机器人上限。

功能特性

  • 玩家拥有的 Carpet 机器人,具有持久的按世界所有权记录
  • 安全的 /cbot 命令封装,替代 Carpet 的 /player 操作
  • 默认每个玩家获得一个初始机器人
  • 可选的机器人购买系统
  • 可配置的机器人价格、免费初始数量、上限和机器人名称格式
  • /cbot list 中显示机器人的在线/离线状态
  • 将机器人传送至主人或指定坐标
  • 支持常用的 Carpet 操作,如 use once、attack continuous、move forward、stop、kill、jump、sneak 等
  • 可选客户端 GUI(当模组同时安装在客户端和服务器时)
  • 服务器端权威验证,确保玩家只能控制自己的机器人

环境要求

  • Minecraft 1.21.11 或更高版本
  • Fabric Loader
  • Fabric API
  • Fabric Carpet

生成机器人和转发机器人操作需要 Fabric Carpet。如果缺少 Carpet,/cbot 仍会加载,但与 Carpet 相关的操作会提示未安装 Carpet。

安装方法

如果仅使用命令,将模组安装在服务器即可。

如需使用图形界面,需要将同一个模组 jar 文件同时安装在服务器和每个需要使用 GUI 的客户端上。未安装客户端模组的玩家仍可使用命令界面。

玩家命令

/cbot list
/cbot buy
/cbot gui
/cbot <id> spawn
/cbot <id> tp
/cbot <id> tp <x> <y> <z>
/cbot <id> <carpet action...>

示例:

/cbot list
/cbot 1 spawn
/cbot 1 use once
/cbot 1 attack continuous
/cbot 1 move forward
/cbot 1 stop
/cbot 1 tp
/cbot 1 tp 100 64 -20
/cbot buy

客户端 GUI

运行 /cbot gui 或在 Minecraft 的控制设置中绑定 打开 Carpet 机器人管理器 按键。

GUI 允许玩家:

  • 查看拥有的机器人和在线状态
  • 刷新机器人状态
  • 在服务器策略允许时购买额外的机器人
  • 生成机器人
  • 传送机器人
  • 发送预设的 Carpet 操作
  • 发送自定义 Carpet 操作

管理员配置仅限命令操作。

管理员配置

配置命令需要权限等级 4。

/cbot config show
/cbot config botname "<pattern>"
/cbot config starting-free <count>
/cbot config price <item> <count>
/cbot config cap <count>
/cbot config cap none
/cbot config reset

默认值:

  • 机器人名称格式:cbot_{player}_{id}
  • 免费初始机器人数量:1
  • 购买价格:1 minecraft:netherite_block
  • 机器人上限:无限制

支持的机器人名称占位符:

  • {player}
  • {id}
  • {uuid}

生成的机器人名称经过清理和确定性缩短,以符合 Minecraft 16 个字符的玩家名称限制。

安全模型

/cbot 以服务器权限执行底层机器人命令,但会先验证玩家和机器人所有权。玩家提供的是机器人 ID 而非原始名称,服务器从玩家的已保存所有权列表中解析该 ID。

该模组仅对已解析的所属机器人执行受限命令:

  • player <ownedBotName> ...
  • tp <ownedBotName> ...

这使得服务器可以暴露有用的 Carpet 机器人控制功能,而无需赋予玩家任意命令执行权限。

注意事项

更改机器人名称格式会立即重命名已保存的机器人身份。已生成的旧名称机器人可能需要手动杀死或重启。