Cable Creative(创造物品供应器)
基本信息
| 属性 | 值 |
|---|---|
| modid | StevesFactoryManager |
| FML 注册键 | StevesFactoryManager:BlockCableCreativeName(CABLE_CREATIVE_NAME_TAG,ModBlocks.java:38,130) |
| 未本地化名 | sfm.BlockCableCreative(BlockCableCreative.java:19) |
| 显示名 | 创造物品供应器 / Creative Supplier |
| TileEntity | TileEntityCreative(BlockCableCreative.java:25) |
| 方块类 | BlockCableCreative extends BlockContainer(BlockCableCreative.java:13) |
| 硬度 | 1.2(setHardness(1.2F),BlockCableCreative.java:20) |
| 爆炸抗性 | 10.0 — 源码未设置,Block 默认值 |
| 接口 | IInventory, IFluidHandler(TileEntityCreative.java:14) |
| 槽位数 | 1(常量返回,不可变) |
功能
Creative 电缆是不做任何判断的直通道,供 Manager 连到不受限容器/流体罐上。
流体侧(TileEntityCreative.java:16-49)
| 方法 | 行为 |
|---|---|
fill(from, resource, doFill) |
返回 resource.amount —— 无限吸收 |
drain(from, resource, doDrain) |
返回 resource.copy() —— 整包原样给出 |
drain(from, maxDrain, doDrain) |
返回 null —— 按量抽取完全不支持 |
canFill / canDrain |
恒 true |
getTankInfo(from) |
返回空数组 new FluidTankInfo[0] —— 对外不报告任何罐 |
物品侧(TileEntityCreative.java:47-84)
getSizeInventory() 恒 1;getStackInSlot / decrStackSize 恒 null;getInventoryStackLimit() 恒 64;hasCustomInventoryName() 恒 false。即只做"容器占位",不真正存放——物品由 Manager 侧的物品容器组件决定要什么。
摆放要求
- 可在任何位置放置,不记录朝向
- 不导通电缆(
isCable()不含它,BlockCable.java:103-106)
数值
| 参数 | 值 | 证据 |
|---|---|---|
| 槽位数 | 1 | TileEntityCreative.java:47-48 |
| 每槽堆叠上限 | 64 | TileEntityCreative.java:82-84 |
| 报告的罐数量 | 0 | TileEntityCreative.java:42-44 |
| 堆叠 / 耐久(物品形态) | 64 / 无 | 未调 setMaxStackSize;未覆写 setMaxDamage(用 ItemBlock 默认) |
交互
| 触发 | 行为 |
|---|---|
| 左键 | 无特殊行为 |
| 右键 | 无特殊行为(onBlockActivated 未覆写) |
合成配方
无。ModBlocks.addRecipes() 中没有 blockCableCreative 的配方(ModBlocks.java:188-297),只能靠合成表/创造模式物品栏获得。
审计订正
- modid / 注册名错:原文
stevesfactorymanager:blockCableCreative→StevesFactoryManager;传入实参CABLE_CREATIVE_NAME_TAG = "BlockCableCreativeName"(ModBlocks.java:38,130)。 - 语义不准:「提供无限(Infinite)的物品和流体来源和接收器」「可以无限提取或填充而不消耗任何资源」→ 方向要分开看:
fill(别人往里灌)无限 ✓;drain(from, resource, doDrain)原样返还 ✓;但drain(from, maxDrain, doDrain)返回null,"按量抽取"这条路是断的(TileEntityCreative.java:26-29)。且getTankInfo返回空数组,依赖罐信息的第三方工具看不到任何罐。已按方法逐条写清。 - 编造用途:「用于测试和开发环境,允许玩家模拟无限供应」→ 无源码依据(
Compat.HAS_ADDONS与之无关,Compat.java:7)。已删除。 - 补正:原文完全没写没有合成配方这一实用信息,也没写槽位数恒为 1、罐信息恒为空。已补。
- 原文"硬度 1.2 / 爆炸抗性 10.0"数值正确,爆炸抗性已标注为
Block默认值。 - 原文"TileEntity |
TileEntityCreative"✓ 正确。
相关条目
- Manager - 中央控制单元
- Connection Block - 连接抽象(非注册物品)