Lich Bomb(巫妖炸弹)
事实基准:
/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册实体名 | TwilightForest:tflichbomb(全小写,无空格) |
TwilightForestMod.java:817-824 |
| 实体 ID 常量 | idVehicleSpawnLichBomb = 6 |
TwilightForestMod.java:184 |
| 注册形式 | EntityRegistry.registerModEntity 直调(不经 TFCreatures) |
TwilightForestMod.java:817 |
| 追踪距离 / 更新频率 | 150 / 3 | TwilightForestMod.java:821-822 |
| 类 | twilightforest.entity.boss.EntityTFLichBomb |
entity/boss/EntityTFLichBomb.java(131 行) |
| 父类 | net.minecraft.entity.projectile.EntityThrowable |
同上 :9 |
数值
| 属性 | 值 | 来源 |
|---|---|---|
爆炸威力 explosionPower |
2F | EntityTFLichBomb.java:94 |
| 爆炸是否破坏方块 / 点燃 | 否 / 否(两个 false) |
同上 :95 |
弹速 func_40077_c |
0.35F | 同上 :26-28 |
重力 getGravityVelocity |
0.001F | 同上 :104-106 |
碰撞边界 getCollisionBorderSize |
1.0F | 同上 :71-73 |
| 拖尾粒子 | 每 tick 1 个 flame |
同上 :37-49 |
AI 行为 / 特殊机制
发射者:EntityTFLich.java:575 —— 暮色巫妖用
setThrowableHeading(tx, ty, tz, projectile.func_40077_c(), 1.0F) 发射
(EntityTFLich.java:576),同样伴随 mob.ghast.fireball 音效。
始终燃烧:isBurning() 恒返回 true(:54-57)——飞行途中就在烧。
爆炸(explode() :93-98):
float explosionPower = 2F;
this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, explosionPower, false, false);
不破坏方块、不点燃生物,是纯伤害型爆炸;爆完立即 setDead()。
触发时机(onImpact :109-129)——碰到下列目标会穿过而不爆:
| 穿透目标 | 行号 |
|---|---|
其它 EntityTFLichBolt |
:113-117 |
EntityTFLichBomb |
:113-117 |
EntityTFLich(任何巫妖,包括影分身) |
:120-122 |
玩家可引爆:canBeCollidedWith() 恒 true(:62-65)、
getCollisionBorderSize() 返回 1.0F(:70-73)。
被攻击时 attackEntityFrom 不是反射而是直接引爆(:78-91):
damagesource.getEntity() != null 就调 explode() 并返回 true,
否则返回 false。这是玩家唯一能主动触发的伤害来源,
但也因此——想引爆就必须先承受它自己的爆炸。
拖尾:makeTrail 放 1 个 flame 粒子,速度按 motion 偏移并反向
-0.25 缩放(:37-49)。
刷怪蛋:走 EntityRegistry.registerModEntity 直调,不进入 TFCreatures.entityEggs,无刷怪蛋。
相关条目
- Twilight Lich(暮色巫妖) - 唯一发射者
- Lich Bolt(巫妖魔弹) - 同一发射者的可反射投射物
- Hydra Mortar(九头蛇迫击炮) - 结构相近但会破坏方块的另一种可反射爆炸物