魔力方块组

基本信息

属性 值
所在包 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)

相关条目