/enderstorage 命令

基本信息

属性 值
类型 服务端指令(OP-only)
类 codechicken.enderstorage.storage.item.CommandEnderStorage
注册点 EnderStorage.serverStart → event.getServer().getCommandManager().registerCommand(new CommandEnderStorage())
父类 codechicken.core.commands.PlayerCommand
最小参数 0
用法 `enderstorage <freq>

行为

命令接收 1–4 个参数:

长度 含义
<= 2 args[0] 解析为 0–4095 的频率值(freq)
> 2 args[0..2] 解析为三个染料颜色字符串(dyeBlack/dyeRed/…),用 EnderStorageRecipe.getDyeColour() 转成 0–15,再 EnderStorageManager.getFreqFromColours(colours) 合并成 freq

owner 的判断:

参数长度 owner 取值
奇数(1 或 3) "global"
偶数(2 或 4) args[args.length - 1](用户名)

最终调用:

((EnderItemStorage) EnderStorageManager.instance(world.isRemote).getStorage(owner, freq, "item"))
    .openSMPGui(player, "enderstorage.serverop");

向 OP 直接打开对应 (owner, freq, "item") 库存 GUI;窗口标题翻译键 enderstorage.serverop(en_US.lang 值为 Operator)。

错误反馈

场景 消息键
参数数量不在 1–4 enderstorage.command.no_arguments (Invalid number of arguments)
args[0] 不是合法整数或不在 [0, 4096) enderstorage.command.no_freq (Invalid freq)
> 2 参数时三个颜色字符串任一无法识别 enderstorage.command.no_colour (Invalid color: %s)

用法示例

/enderstorage 0                 # 打开 owner=global, freq=0 的库存(默认公共)
/enderstorage 0 Notch           # 打开 Notch 的 freq=0 私有库存
/enderstorage red green blue    # freq = getFreqFromColours(1, 2, 4) 的全局库存
/enderstorage red green blue Notch  # 同样频率的 Notch 私有库存

权限与角色

  • OPOnly() 返回 true,仅 OP 可执行。
  • 但服务端响应 (EnderStorageSPH.sendStorageStored) 在 global=true 且 allPlayerCanSeePublicInventory=false 时仍会校验玩家是否在 OP 名单中(getConfigurationManager().func_152603_m().func_152700_a(sender.getDisplayName())),不是 OP 则直接丢弃响应包。
  • minimumParameters() 返回 0,但 handleCommand 会在 args.length < 1 时打印 no_arguments。

相关条目