Manager(工厂管理器)
基本信息
| 属性 | 值 |
|---|---|
| modid | StevesFactoryManager |
| FML 注册键 | StevesFactoryManager:BlockMachineManagerName(MANAGER_NAME_TAG,ModBlocks.java:18,99) |
| 未本地化名 | sfm.BlockMachineManager(BlockManager.java:28) |
| 显示名 | 工厂管理器 / Machine Inventory Manager(zh_CN.lang:5, en_US.lang:5) |
| TileEntity | TileEntityManager(BlockManager.java:36) |
| 方块类 | BlockManager extends BlockContainer(BlockManager.java:23) |
| 硬度 | 2.0(setHardness(2F),BlockManager.java:31) |
| 爆炸抗性 | 10.0 — 源码未调用 setResistance,为 Block 字段默认值 |
| GUI ID | 0(FMLNetworkHandler.openGui(..., 0, ...),BlockManager.java:43) |
| 创意标签 | 自建 CreativeTabs("sfm")(ModBlocks.java:85) |
功能
Manager 是本版本 Steve’s Factory Manager 唯一的中央编程方块。它不存储物品,仅持有变量(Variable)与流程组件(FlowComponent),通过电缆网络找到周围可连接的 TileEntity 并在 GUI 中配置。
本版本不存在任何多方块机器(源码 175 个 java 文件中无 multiblock / BlockController / formation 结构类)。Manager 是单个方块,不与"工作方块"组成结构。
摆放要求
- 可放置在任意位置,无朝向要求(
BlockManager不覆写onBlockPlacedBy的朝向逻辑) - 方块加载/邻居变化/被破坏时均调用
TileEntityManager.updateInventories()重扫网络(BlockManager.java:77-102)
网络扫描
updateInventories() 用 PriorityQueue 做 BFS(TileEntityManager.java:260-307),每步遍历 6 个正交邻居;遇到 TileEntityCluster 时展开其内部全部 TileEntityClusterElement(TileEntityManager.java:285-291)。
数值
| 参数 | 值 | 证据 |
|---|---|---|
| 最大电缆跳数 | 128 | TileEntityManager.java:244 MAX_CABLE_LENGTH = 128 |
| 最大可连接 TileEntity 数 | 1023 | TileEntityManager.java:246 MAX_CONNECTED_INVENTORIES = 1023 |
| 最大组件数 | 511 | TileEntityManager.java:245 MAX_COMPONENT_AMOUNT = 511 |
| 无限制模式 | 命中上限时置 usingUnlimitedInventories = true,并可用 Settings.isLimitless(this) 跳过上限 |
TileEntityManager.java:281,296,359-360 |
交互
| 触发 | 行为 |
|---|---|
| 右键 | 打开 Manager GUI(服务端 FMLNetworkHandler) |
| 左键 | 无特殊行为 |
审计订正
- modid 错:原文写
stevesfactorymanager,实为StevesFactoryManager(@Mod(modid=...),StevesFactoryManager.java:19)。macOS 大小写不敏感,须以注解为准。 - 注册名错:原文
stevesfactorymanager:blockMachineManager属编造。registerBlock第 2 实参是常量MANAGER_NAME_TAG = "BlockMachineManagerName"(ModBlocks.java:18,99),游戏内未本地化名是sfm.BlockMachineManager(BlockManager.java:28 + lang keytile.sfm.BlockMachineManager.name)。FML 内部注册键的最终拼装需 FML 本体才能二次确认,本仓库不含 FML 源码。 - 编造数值:「最多可连接 12 条电缆(每个方向一条)」→ 源码无此常量。真实上限见上表(128 / 1023 / 511)。BFS 每节点遍历 6 邻居(TileEntityManager.java:270-273),"每方向一条"是无出处的概括。
- 语义写反:「最大电缆长度 = 无硬性限制」→ 错误,默认为 128;仅当
Settings.isLimitless为真时无限制。 - 标注补正:爆炸抗性 10.0 并非本 mod 设定,是
Block默认值。
相关条目
- Cable - 基础电缆
- Cable Relay - 物品/流体中转
- Cable Output - 红石发射
- Cable Input - 红石接收
- Connection Block - 连接抽象(非注册物品)