魔力方块组
基本信息
| 属性 | 值 |
|---|---|
| 所在包 | vazkii.botania.common.block.mana(18 个 Block 类) |
| 注册容器 | vazkii.botania.common.block.ModBlocks(共 90 个方块,ModBlocks.java) |
| 通用注册 | BlockMod 构造器内调用 GameRegistry.registerBlock(this, ...),BlockMod.java:41 |
| TileEntity 数量 | 10 个,位于 common/block/tile/mana/ |
功能
mana/ 包中的方块构成 Botania 的法力消费与传输层。它们全部由 BlockMod(或其子类)构造时自注册,ItemBlock 类型按是否 IElvenItem 二选一:精灵物品用 ItemBlockElven,其余用 ItemCubeMod(BlockMod.java:41)。
数值
| 方块类 | 注册名常量 | 材质 | 硬度 | 爆炸抗性 | 脚步声 |
|---|---|---|---|---|---|
BlockDistributor |
DISTRIBUTOR |
rock | 2.0 | 10.0 | Stone |
BlockManaDetector |
MANA_DETECTOR |
rock | 2.0 | 10.0 | Stone |
BlockManaVoid |
MANA_VOID |
rock | 2.0 | 2000.0 | Stone |
BlockPrism |
PRISM |
glass | 0.3 | 未设置 | Glass |
BlockBellows |
BELLOWS |
wood | 2.0 | 未设置 | Wood |
BlockPump |
— | rock | 2.0 | 10.0 | Stone |
BlockTurntable |
TURNTABLE |
wood | 2.0 | 未设置 | Wood |
BlockTerraPlate |
— | iron | 3.0 | 10.0 | Metal |
BlockEnchanter |
ENCHANTER |
rock | 3.0 | 5.0 | Stone |
BlockRFGenerator |
— | rock | 2.0 | 10.0 | Stone |
BlockBrewery |
BREWERY |
rock | 2.0 | 10.0 | Stone |
BlockSpreader |
SPREADER |
wood | 2.0 | 未设置 | Wood |
BlockForestDrum |
构造参数 name |
wood | 2.0 | 未设置 | Wood |
BlockSpawnerClaw |
— | iron | 3.0 | 未设置 | 未设置 |
BlockAlchemyCatalyst |
构造参数 name |
rock | 2.0 | 10.0 | 未设置 |
BlockRuneAltar |
RUNE_ALTAR |
rock | 2.0 | 未设置 | 未设置 |
来源逐行见各文件:BlockDistributor.java:39-42 形式的构造器块(BlockManaDetector.java:39-43、BlockManaVoid.java:34-38、BlockPrism.java、BlockBellows.java、BlockPump.java、BlockTurntable.java、BlockTerraPlate.java、BlockEnchanter.java、BlockRFGenerator.java、BlockBrewery.java、BlockSpreader.java:55-56、BlockForestDrum.java、BlockSpawnerClaw.java、BlockAlchemyCatalyst.java、BlockRuneAltar.java:40-46)。
BlockManaVoid 的爆炸抗性 2000.0 是全组最高值(BlockManaVoid.java:36)。
BlockConjurationCatalyst 是唯一无自有构造逻辑的类,只把 LibBlockNames.CONJURATION_CATALYST 透传给父类(BlockConjurationCatalyst.java:23)。
TileEntity
common/block/tile/mana/ 下有 10 个 TileEntity:TileBellows、TileDistributor、TileManaDetector、TileManaVoid、TilePool、TilePrism、TilePump、TileRFGenerator、TileSpreader、TileTurntable。均在 ModBlocks.java:460 之前的 registerTile(...) 中通过 GameRegistry.registerTileEntity(clazz, LibResources.PREFIX_MOD + key) 注册(ModBlocks.java:538-540)。
发射器行为
common/block/dispenser/ 下有 3 个自定义发射器行为:BehaviourPoolMinecart(发射法力池矿车)、BehaviourSeeds(发射种子)、BehaviourWand(发射魔杖)。它们在 ModBlocks 中与相应方块绑定。
交互
| 触发 | 行为 |
|---|---|
| 放置任意本组方块 | BlockMod 构造器自动 GameRegistry.registerBlock 并分配 ItemBlock |
| 附魔台替换 | 用青金石块右键可把青金石块原地转为附魔台(ItemTwigWand.java:88-110):block == Blocks.lapis_block && ConfigHandler.enchanterEnabled 时检测 meta 0/1 是否满足 TileEnchanter.canEnchanterExist,满足则 `world.setBlock(…, ModBlocks.enchanter, meta, 1 |
| 附魔台关闭 | 受配置 manaEnchanter.enabled 控制(默认 true,ConfigHandler.java:255);关闭时青金石块不再转化 |
| 魔力粉碎器粒子 | 受配置 blockBreakingParticlesTool.enabled 控制(ConfigHandler.java:177) |
| RF 发生器 | 受配置 manaFluxfield.enabled 控制(ConfigHandler.java:258) |
| 散播器音效 | 受配置 manaSpreaders.silent 控制(ConfigHandler.java:189) |