Boss
基本信息
| 属性 | 值 |
|---|---|
| Boss 实体类 | 4 个(2 个主 Boss + 2 个小 Boss) |
| 注册位置 | init/EntityList.java:60-63 |
| 实体类文件 | entity/boss/(4 个文件,共 2065 行) |
| 龙类实体 | EntityBossDragon(923 行)是全模组最大单类 |
功能
实体注册表
| 实体 | 注册名 | 实体 ID | 追踪范围 | 血量 | 位置 |
|---|---|---|---|---|---|
EntityBossDragon |
Dragon |
8 | 320 | 250D + min(90, 死亡次数 × 15) + (opMobs ? 80 : 0) |
EntityList.java:60、EntityBossDragon.java:157-160 |
EntityBossEnderDemon |
EnderDemon |
21 | 512 | 固定 400.0 | EntityList.java:61、EntityBossEnderDemon.java:62 |
EntityMiniBossEnderEye |
EnderEye |
11 | 256 | opMobs ? 350 : 250 |
EntityList.java:62、EntityMiniBossEnderEye.java:72 |
EntityMiniBossFireFiend |
FireFiend |
23 | 256 | opMobs ? 380 : 300 |
EntityList.java:63、EntityMiniBossFireFiend.java:82 |
血量公式(末影龙,entity/boss/EntityBossDragon.java:157-160):
getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(
250D + Math.min(90, WorldDataHandler.<DragonSavefile>get(DragonSavefile.class).getDragonDeathAmount() * 15)
+ (ModCommonProxy.opMobs ? 80D : 0D));
即每杀一次末影龙 +15 血,上限 +90;开启 overpoweredMobs 配置再加 80。
⚠️ 实体 ID 21 重复
EnderDemon 使用 ID 21(EntityList.java:61),LightningBoltDemon 也使用 ID 21(EntityList.java:109):
GameRegistryUtil.registerEntity(EntityWeatherLightningBoltDemon.class, "LightningBoltDemon", 21, 512, 1, false);
两行都在同一次 registerEntities() 调用中执行(EntityList.java:57-135),EntityList.java:135 的注释 // last: 53 说明作者知道 ID 已用到 53。运行时后果无法核实 —— FML 1.7.10 的 EntityRegistry.registerModEntity 对重复 ID 的处理依赖 FML 实现,而 FML 源码不在 mirror/ 范围内。仓库中没有 intent evidence(无测试、无注释、无 commit 提及该冲突),故仅记录事实,不断言为缺陷。
数值
末影龙(EntityBossDragon)
| 项 | 值 | 位置 |
|---|---|---|
| 基础血量 | 250.0 | EntityBossDragon.java:158 |
| 每次死亡加成 | +15,上限 +90 | EntityBossDragon.java:158-159 |
opMobs 加成 |
+80 | EntityBossDragon.java:160 |
| 回血 | 每 10 tick 回复 1 点(opMobs 时 2 点) |
EntityBossDragon.java:691-692 |
| 龙息范围 | 30F + 4F × 难度ID + (opMobs ? 8F : 0F) |
EntityBossDragon.java:696 |
| 能量价值 | 24.00 energyUnits(0.12F × 24 = 2.88) | mechanics/energy/EnergyValues.java:68 |
| 受伤处理 | 击败末影龙时清除场上 EntityMobAngryEnderman(setHealth(0F)) |
EntityBossDragon.java:556 |
| 死亡持久化 | WorldDataHandler.<DragonSavefile>get(DragonSavefile.class).getDragonDeathAmount() |
EntityBossDragon.java:159 |
末影恶魔(EntityBossEnderDemon)
| 项 | 值 | 位置 |
|---|---|---|
| 血量 | 400.0 | EntityBossEnderDemon.java:62 |
| 自身增益 | Potion.damageBoost id,600 tick,amplifier 2,环境消失 |
EntityBossEnderDemon.java:32 |
| 回血 | lightningTarget == null 且 --healthRegenTimer < 0 且未满血时 setHealth(health + 1) |
EntityBossEnderDemon.java:73 |
末影之眼(EntityMiniBossEnderEye)
| 项 | 值 | 位置 |
|---|---|---|
| 血量 | 250 / 350(opMobs) |
EntityMiniBossEnderEye.java:72 |
| 回血间隔 | 7 - 难度ID tick |
EntityMiniBossEnderEye.java:80 |
| 能量价值 | 6.50 energyUnits | mechanics/energy/EnergyValues.java:67 |
| 变体 | 被诅咒的末影之眼(overrideMobLists 中怪物列表条目) |
world/biome/BiomeGenHardcoreEnd.java:35 |
火焰恶魔(EntityMiniBossFireFiend)
| 项 | 值 | 位置 |
|---|---|---|
| 血量 | 300 / 380(opMobs) |
EntityMiniBossFireFiend.java:82 |
| 攻击阶段常量 | ATTACK_NONE = 0, ATTACK_FIREBALLS = 1, ATTACK_FLAMES = 2 |
EntityMiniBossFireFiend.java:49 |
| 狂暴阈值 | 血量 ≤ 40% 时切换阶段 | EntityMiniBossFireFiend.java:298 |
| Mobs-Info API | 实现 IMobInfoProvider(@Optional.Interface,EntityMiniBossFireFiend.java:45),提供 MobDrop |
EntityMiniBossFireFiend.java:24-25、312 |
交互
| 实体 | 相关机制 |
|---|---|
EntityBossDragon |
生成 EntityBlockTempleDragonEgg(龙蛋实体,ID 7,追踪 420);末影水晶被替换为 EntityBlockEnderCrystal(EntityList.java:58);龙巢神殿由 world/feature/TempleGenerator.java 生成 |
EntityBossEnderDemon |
释放闪电 EntityWeatherLightningBoltDemon(ID 21)与安全版 EntityWeatherLightningBoltSafe(ID 4),EntityList.java:108-109 |
EntityMiniBossEnderEye |
替换原版 Items.ender_eye 投掷行为;RecipeList.java:358-361 让 enhanced_ender_pearl + 烈焰粉合成回原版末影之眼 |
EntityMiniBossFireFiend |
投射物 EntityProjectileFiendFireball(ID 45)、爆炸包 C12FiendFireballExplosion |
MiscEvents 注册为 IMobExtraInfoProvider(@Optional.Interface,mechanics/MiscEvents.java:35),为所有 Boss 提供 Mobs-Info 掉落信息。
合成配方
Boss 本身不可合成。相关可获得物品:
| 物品 | 获取方式 | 位置 |
|---|---|---|
Items.ender_eye ×1 |
无序:enhanced_ender_pearl + Items.blaze_powder |
mechanics/RecipeList.java:358-361 |
enderman_head |
由 Boss / 末影人掉落 | init/ItemList.java:288-291 |
ghost_amulet meta 1 |
DRAGON 精华转化 ghost_amulet meta 0,消耗 8 精华 |
mechanics/essence/handler/DragonEssenceHandler.java:46-49 |
temple_caller |
DRAGON 精华转化 Items.ender_eye,消耗 50 精华 |
DragonEssenceHandler.java:45 |