Industrial Farm
[!INFO] 类:
MTEIndustrialFarmGT 注册名:multimachine.industrialfarmJava 句柄:CropsNHItemList.IndustrialFarmController机器 ID:28055
Industrial Farm 是 CropsNH 的核心多方块机器,按 GT5U 多方块框架注册(MetaLargeBlock + IMetaTileEntity),在 Crop Stick 网格上批量执行作物种植周期。
基本规格
| 参数 | 值 | 证据 |
|---|---|---|
| 截面 | 5 × 5 | MTEIndustrialFarm.java:679 beginVariableStructureBlock(5, 5, ...) |
| 高度 | 固定 4 | 同上,第 3、4 参数均为 4 |
| 长度(切片数) | 3 ~ 14 | 同上,2 + MIN_SLICES(3) ~ 2 + MAX_SLICES(14) |
| 控制器位置 | 正面前中心,第 2 层 | en_US.lang:291 “Front center, 2nd layer” |
| 结构朝向 | 由控制器朝向决定,向 -Z 延伸 | checkPiece(FIRST, 2, 2, 0, …) 后接 -1、-2 …(:479-493) |
| 最小电压 | MV | MIN_CASING_TIER = VoltageIndex.MV(:194) |
| 最大电压 | UXV | MAX_CASING_TIER = VoltageIndex.UXV(:195) |
| 最小切片 | 1 | MIN_SLICES = 1(:196) |
| 最大切片 | 12 | MAX_SLICES = 1 + UXV - MV = 12(:197) |
| 循环周期 | 5 秒 | CYCLE_DURATION = 5 * SECONDS(:119) |
| 模拟水储量 | 200 mB | SIMULATED_WATER_STORAGE = 200(:121) |
| 模拟肥料储量 | 未提供 0 / 提供 200 | :128、:133 |
| 机器 ID | 28055 | MTELoader.java:163 new MTEIndustrialFarm(28055) |
结构
结构由 3 个 IStructureDefinition 片段拼成,控制器在第 1 片,主体沿 -Z 延伸。
首片(STRUCTURE_PIECE_FIRST,MTEIndustrialFarm.java:200-210)
cCc c = cropsnh:casings1 (meta 0) 外壳
cCCCc C = 机器接口(能量仓/维护仓/输入总线/输入仓/输出总线)
cC~Cc ~ = 控制器
c c
中间片(STRUCTURE_PIECE_LATER,:212-224)
gUg g = 任意等级玻璃(决定最低电压,≥ MV)
g g U = 升级单元 或 木质框架
csssc s = 种子床(决定农场规模)
末片(STRUCTURE_PIECE_LAST,:225-237)
cDc D = 机器接口外壳(仅朝南,.allowOnly(ForgeDirection.SOUTH))
cDDDc
cDDDc
c c
结构通道
所有升级单元、种子床、玻璃都通过 CropsNHStructureChannels.IFTier 通道校验,
通道值被 clamp 到 MIN_SLICES(1) ~ MAX_SLICES(12)(:407)。
升级单元
| 单元 | 源码常量 | 最大数量 | 证据 |
|---|---|---|---|
| Environmental Enhancement Unit | BlockEnvironmentalEnhancementUnit.MAX_UPGRADE_COUNT |
2 | BlockEnvironmentalEnhancementUnit.java:20 |
| Advanced Harvesting Unit | BlockAdvancedHarvestingUnit.MAX_UPGRADE_COUNT |
2 | BlockAdvancedHarvestingUnit.java:20 |
| Fertilizer Unit | BlockFertilizerUnit.MAX_UPGRADE_COUNT |
1 | BlockFertilizerUnit.java:21 |
| Overclocked Growth Acceleration Unit | BlockOverclockedGrowthAccelerationUnit.MAX_UPGRADE_COUNT |
1 | BlockOverclockedGrowthAccelerationUnit.java:19 |
| Growth Acceleration Unit | 无 MAX_UPGRADE_COUNT |
不设上限 | 但与过频版互斥,见下 |
- 互斥规则:普通 GAU 与过频 OGAU 不能同时存在(
SE_OCGAU_EXCLUSIVITY,:519-520)。 - 过频增益限制:未装 OGAU 时,激光电网与多安培能源仓均不被接受
(
SE_LASER_NOT_ALLOWED/SE_MULTIAMP_NOT_ALLOWED,:467、:468)。 - 能源仓规则:多安培能源仓最多 1 个(
MAX_MULTIAMP_EHATCH_AMOUNT = 1,:137), 且普通仓与多安培仓不能混用(SE_EHATCH_TYPE_NO_MIX)。
功耗
功耗不是固定表,而是 getPowerUsage()(:597-617)按升级单元逐项叠加:
basePower = GTValues.VP[upgradeTier] // BlockSeedBed.getBaseEUt,BlockSeedBed.java:93
usage = basePower
+ basePower * 0.5 * 环境增强单元数
+ basePower * 1.25 * 生长加速单元数
+ basePower * 0.5 * 化肥单元数
+ basePower * 0.5 * 高级收割单元数
各单元的 BASE_POWER_INCREASE:
| 单元 | 系数 | 证据 |
|---|---|---|
| Advanced Harvesting Unit | +50% / 个 | BlockAdvancedHarvestingUnit.java:22 |
| Environmental Enhancement Unit | +50% / 个 | BlockEnvironmentalEnhancementUnit.java:21 |
| Fertilizer Unit | +50% / 个 | BlockFertilizerUnit.java:22 |
| Growth Acceleration Unit | +125% / 个 | BlockGrowthAccelerationUnit.java:21 |
GTValues.VP 基础档位:LV 8、MV 32、HV 128、EV 512、IV 2048、LuV 8192、ZPM 32768、
UV 131072、UHV 524288、UEV 2097152、UIV 8388608、UMV 33554432、UXV 134217728 EU/t。
模式
| 常量 | 值 | 证据 |
|---|---|---|
MODE_INPUT |
0 | :144 |
MODE_FARM |
1 | :146 |
MODE_OUTPUT |
2 | :148 |
拆卸与旋转
- 可拆卸:
MTEIndustrialFarm.onBlockDestroyed()(:790-791)调用super.onBlockDestroyed(), 走 GT5UMetaTileEntity默认的掉落机器与回收仓电路逻辑。 - 旋转:源码未覆写
rotate/canRotate,沿用 GT5UMultiBlockBase默认行为; 具体是否允许旋转由父类决定,本次未能从本仓源码确认,标注为无法核实。
参与方块
- 作物 Stick - 被 Farm 模拟的作物载体
- 种子床 - 决定农场规模与切片数
- 环境增强单元 - 扩展耕地半径
- 生长加速单元 - 提升生长速度
- 过频生长加速单元 - 高等级加速(与前者互斥)
- 化肥单元 - 提升化肥增益触发概率
- 高级收割单元 - 扩大收割范围
cropsnh:casings1(BlockCasingsCropsNH1,注册名cropsnh.casings1)- 全部结构外壳 ——该方块在 wiki 中尚无独立条目
第三方集成
| 集成 Mod | 集成类型 | 功能 |
|---|---|---|
| GregTech | 核心依赖 | MetaLargeBlock / IStructureDefinition / GTValues.VP 电压体系 |
| StructureLib | 结构通道 | CropsNHStructureChannels.IFTier 通道注册(StructureLibCompatHandler) |
| NEI | 配方显示 | compatibility/NEI/*Handler |
| Waila | 工具提示 | compatibility/waila/* |
配方
配方由 IHarvestDropModifier(api/IHarvestDropModifier.java)与
FertilizerRegistry / HydrationRegistry / WeedEXRegistry 共同决定,
不存在独立的「Industrial Farm 配方」条目。