/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。
相关条目
- 配置项 -
allPlayerCanSeePublicInventory决定非 OP 是否能列举公共库存 - Ender Chest - 命令打开的是物品库存
- EnderStorage API - 频率↔颜色换算工具
- EnderStorageRecipe -
getDyeColour反查表