罐车容量与填充速率(Railcraft 配置驱动)
基本信息
| 属性 | 值 |
|---|---|
| 类型 | 外部配置项(不属于本 mod,由 Railcraft 提供) |
| 配置归属 | Railcraft,配置分类 tweaks.minecarts.tank |
| 影响范围 | 全部 10 种罐车的容量(等比缩放) |
| 本 mod 是否有自己的配置文件 | 否(仓库中无 Configuration 类、无 cfg 文件) |
| 本 mod 是否有指令 | 否(无 ICommand 实现) |
[!IMPORTANT] IronTankMinecarts 自身不含任何配置项、指令或游戏规则。它不注册方块、不注册 TileEntity、不提供 GUI 处理器。唯一受外部配置影响的行为是罐车容量,而该配置项属于 Railcraft。
容量计算公式
本 mod 的 EntityMinecartTankAbstract(src/main/java/secondderivative/irontankminecarts/minecarts/EntityMinecartTankAbstract.java:33):
public static int getCapacity(TankType type) {
return RailcraftConfig.getTankCartCapacity() / (FluidContainerRegistry.BUCKET_VOLUME * 16)
* 1000
* type.capacity;
}
FluidContainerRegistry.BUCKET_VOLUME 为 Forge 常量 1000,先做整数除法再乘,故:
容量(mB) = floor(Railcraft 罐车配置桶数 / 16) * 1000 * TankType.capacity
容量(桶) = floor(Railcraft 罐车配置桶数 / 16) * TankType.capacity
每个变体只覆写 getCapacity() 返回本公式的结果,公式中的 type.capacity 来自 Irontanks 的 TankType 枚举。
数值
TankType.capacity(Irontanks 依赖提供的桶数系数,源码逐项如下):
TankType |
capacity |
本 mod 中的变体 |
|---|---|---|
COPPER |
27 | 铜罐车 |
IRON |
32 | 铁罐车 |
GOLD |
48 | 金罐车 |
SILVER |
43 | 钢罐车 |
DIAMOND |
64 | 钻石罐车 |
OBSIDIAN |
64 | 黑曜石罐车 |
EMERALD |
96 | 铝罐车 |
STAINLESSSTEEL |
128 | 不锈钢罐车 |
TITANIUM |
256 | 钛罐车 |
TUNGSTENSTEEL |
512 | 钨钢罐车 |
GLASS |
0 | 无对应变体(preInit 中 if (type == TankType.GLASS) continue; 显式跳过) |
[!WARNING] 本条目不给出各变体的绝对容量数值。绝对容量取决于运行环境中 Railcraft 的
tweaks.minecarts.tank配置值,而该值无法从本仓库核实:本 mod 在dependencies.gradle中声明编译依赖为 Railcraft 9.16.33,而本机可用的 Railcraft 源码镜像是 12.1.0-beta-8(面向新版本 Minecraft,API 已不兼容),两者不可互相代入。各实体条目中出现的具体 mB 数值均为「代入 Railcraft 罐车配置 = 32 桶」的显式假设结果,已就地标注,不应视为硬编码常量。
行为
RailcraftConfig.getTankCartCapacity()返回的是档位系数(单位为 Railcraft 配置的桶数),本 mod 只把它当作系数使用。- 容量系数改动会等比缩放全部 10 种罐车,不改变变体之间的相对大小顺序(相对顺序完全由
TankType.capacity决定)。 - 填充速率(
getTankCartFillRate())本 mod 从未引用,因此不受本 mod 影响,也不在本条目范围内。 - 由于公式含整数除法,配置桶数在 1~15 区间时
floor(.../16)为 0,该区间内所有变体容量均为 0。
依赖声明上的不一致
@Mod(dependencies = "required-after:Forge@[10.10,);required-after:irontank") 只声明了 Forge 与 Irontanks,没有声明 Railcraft;但源码直接 import 并继承 mods.railcraft.common.carts.EntityCartTank、RailcraftConfig 等 Railcraft 类。Railcraft 仅作为 Gradle 编译期依赖(implementation(...))存在,运行期缺失会导致类加载失败。