矿物与材料方块

基本信息

Draconic Evolution 共注册 7 个矿物 / 材料类方块(其中 6 个无条件注册,earth 受配置开关控制)。全部继承自 com.brandon3055.draconicevolution.common.blocks.BlockDE,注册名统一为 draconicevolution:<注册名>。

来源:ModBlocks.java:98-141(init() 实例化)、ModBlocks.java:143-151(register() 调用 GameRegistry.registerBlock)。

注册名 显示名 硬度 爆炸抗性 采集等级 材质 备注
draconiumOre 龙矿 10 20.0 镐 3 Material.rock 三维度贴图,见下方说明
draconium 龙块 10 500 镐 4 Material.iron(继承默认) 3 个 meta:0 龙块 / 1 召唤石 / 2 充能龙块
draconicBlock 觉醒龙块 20 1000 镐 4 Material.iron(继承默认) 不可被玩家以外的实体破坏
infusedObsidian 注入龙力的黑曜石 100 4000 镐 4 Material.rock 生命链接目标方块
chaosCrystal 混沌晶体 100 4000 无 Material.rock 创造模式才可获得
chaosShardAtmos 混沌碎片 5 10 无 Material.iron(继承默认) 透明度贴图,见下方说明
earth 地球 10 20 无 Material.iron 受配置开关控制,见下

硬度 / 抗性来源:各方块构造函数内 setHardness() / setResistance() 调用;未显式调用者继承 BlockDE 构造函数默认值 5.0 / 10.0(BlockDE.java:17-27)。

功能

龙矿(draconiumOre)

  • 按维度切换贴图:DraconiumOre.java:52-58 根据 world.provider.dimensionId 选择 draconium_ore(主世界)、draconium_ore_end(末地)、draconium_ore_nether(下界)三张动画贴图。
  • canEntityDestroy 仅允许 EntityPlayer 破坏(DraconiumOre.java:39-42)。
  • 物品字典注册:oreDraconium(CommonProxy.java:262-263),仅在方块未被配置禁用时注册。

龙块(draconium)

  • 三个 meta 常量定义于 DraconiumBlock.java:32-34:DRACONIUM_META = 0、SUMMON_BLOCK_META = 1、CHARGED_DRACONIUM_META = 2。
  • 爆炸免疫:onBlockExploded 为空实现,canDropFromExplosion 恒返回 false(DraconiumBlock.java:53-57),只能被玩家手动破坏。
  • 物品字典:blockDraconium(CommonProxy.java:264-265)。
  • meta 1 召唤石在 ModBlocks.java:140 被预先构造为 resurrectionStone = new ItemStack(ModBlocks.draconiumBlock, 1, 1),供召唤末影龙的仪式使用。

觉醒龙块(draconicBlock)

  • 物品字典 blockDraconiumAwakened(CommonProxy.java:266-267)。
  • 同样是玩家专属破坏(DraconicBlock.java:29 注册后由 BlockDE 体系提供)。

注入龙力的黑曜石(infusedObsidian)

  • 硬度 100 / 抗性 4000,是模组中最硬的方块之一。
  • 放置/右键时会把目标生物链接为「生命链接」,受 DislocatorInhibitor 的白名单 / 黑名单机制影响(gui.de.dislocatorInhibitor.tooltip.* 系列本地化键)。

混沌碎片(chaosShardAtmos)

  • 唯一一个不经过 init() 注册的方块:字段在 ModBlocks.java:92-94 以静态初始化块直接构造,并在 ModBlocks.java:138 单独调用 GameRegistry.registerBlock(chaosShardAtmos, "chaosShardAtmos")。
  • 使用 transparency 贴图以呈现透明外观。

地球(earth)—— 受配置控制

ModBlocks.java:113 的实例化被配置包裹:

if (!ConfigHandler.disableEarthBlock) earthBlock = new Earth();

因此:

  • 当配置项 Disable Earth block 为 true 时,earthBlock 保持 null,方块不会存在。
  • 其 TileEntity 注册同样有判空保护:CommonProxy.java:228 if (ModBlocks.earthBlock != null) GameRegistry.registerTileEntity(TileEarth.class, ...)。

该方块是召唤末影龙流程中「Chaos Island」的一部分,激活过程还受 ConfigHandler.chaosIslandSeparation、generateChaosIslands、generateEnderComets 等配置项影响。

数值

数值名 值 来源
龙块硬度 10 DraconiumBlock.java:36
龙块爆炸抗性 500 DraconiumBlock.java:37
龙块采集等级 镐 4 DraconiumBlock.java:40
觉醒龙块硬度 20 DraconicBlock.java 构造函数
觉醒龙块爆炸抗性 1000 DraconicBlock.java 构造函数
注入龙力黑曜石硬度 / 抗性 100 / 4000 InfusedObsidian.java 构造函数
混沌晶体硬度 / 抗性 100 / 4000 ChaosCrystal.java 构造函数
BlockDE 默认硬度 / 抗性 5.0 / 10.0 BlockDE.java:19-20, 25-26

交互

触发 行为
破坏龙矿 / 龙块 / 觉醒龙块 仅 EntityPlayer 可破坏(canEntityDestroy 判定)
爆炸龙块 / 觉醒龙块 无掉落(canDropFromExplosion 返回 false)
右键注入龙力黑曜石 发起生命链接请求,目标需通过 DislocatorInhibitor 白名单检查
放置 earth(配置开启时) 作为末影龙召唤仪式的世界锚点

合成配方

draconiumOre 不通过合成获得,由世界生成产生。生成权重受以下配置项控制(ConfigHandler.java:17-22 声明):

配置字段 作用
disableOreSpawnOverworld 关闭主世界龙矿生成
disableOreSpawnNether 关闭下界龙矿生成
disableOreSpawnEnd 关闭末地龙矿生成
oreWeightOverworld / oreWeightNether / oreWeightEnd / oreWeightDefault 各维度生成权重
oreGenDimentionBlacklist / oreGenDimensionWhitelist 维度黑名单 / 白名单

其余材料的合成配方属于 90 条合成配方的一部分,详见 合成配方系统。

相关条目