bucketFuel
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | bucketFuel |
| 本地名 | bucketFuel |
| 物品类 | ItemBucketGC |
| 所属 modid | GalacticraftCore |
| 注册变量 | GCItems.bucketFuel / bucketFuel |
| 构造 | core/GalacticraftCore.java:488 — new ItemBucketGC(GCBlocks.fuel, TEXTURE_PREFIX) |
| 注册名来源 | core/GalacticraftCore.java:489 — GCItems.bucketFuel.setUnlocalizedName("bucketFuel") |
| 注册 | core/GalacticraftCore.java:490 — GCItems.registerItem(GCItems.bucketFuel) |
| 源码 | micdoodle8/mods/galacticraft/core/GalacticraftCore.java |
说明
火箭燃料桶。与 bucketOil 同一套写法,同样不在 GCItems.java 里,
而是在 core/GalacticraftCore.java:487-495、夹在 fuel 流体块注册之后。
双重条件门控(core/GalacticraftCore.java:487):
if (GCBlocks.fuel != null && Item.itemRegistry.getObject("buildcraftenergy:items/bucketFuel") == null) {
GCItems.bucketFuel = new ItemBucketGC(GCBlocks.fuel, TEXTURE_PREFIX);
GCItems.bucketFuel.setUnlocalizedName("bucketFuel");
GCItems.registerItem(GCItems.bucketFuel);
...
}
GCBlocks.fuel != null 只保证变量被赋值——注意 fuel 流体块自身是
if (fluidFuel.getBlock() == null) … else GCBlocks.fuel = fluidFuel.getBlock(),
所以在「别的 mod 已注册 fuel 流体」的情况下 GCBlocks.fuel 非空但不是 GC 注册的,
此时 bucketFuel 仍会被 GC 注册,只是它装的是别人的 fuel 方块。
Item.itemRegistry.getObject("buildcraftenergy:items/bucketFuel") == null
则保证 BuildCraft Energy 有桶时 GC 让位。
注册走 GCItems.registerItem(Item)(GCItems.java:330-332),
写死 Constants.MOD_ID_CORE,与本物品所属 modid 一致。
相关条目
- fuel 流体方块
- bucketOil 物品
- Galacticraft 分类页 - 2 个 modid、4 个维度的总览与注册真源