Lich Bolt(巫妖魔弹)
事实基准:
/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册实体名 | TwilightForest:tflichbolt(全小写,无空格) |
TwilightForestMod.java:785-792 |
| 实体 ID 常量 | idVehicleSpawnLichBolt = 2 |
TwilightForestMod.java:180 |
| 注册形式 | EntityRegistry.registerModEntity 直调(不经 TFCreatures) |
TwilightForestMod.java:785 |
| 追踪距离 / 更新频率 | 150 / 2 | TwilightForestMod.java:789-790 |
| 类 | twilightforest.entity.boss.EntityTFLichBolt |
entity/boss/EntityTFLichBolt.java(158 行) |
| 父类 | net.minecraft.entity.projectile.EntityThrowable |
同上 :12 |
数值
| 属性 | 值 | 来源 |
|---|---|---|
| 命中伤害 | 6(DamageSource.causeIndirectMagicDamage) |
EntityTFLichBolt.java:136 |
弹速 func_70182_d |
0.5F | 同上 :31-33 |
重力 getGravityVelocity |
0.001F | 同上 :111-113 |
| 反射速度 / 惯性 | 1.5F / 0.1F | 同上 :83 |
碰撞边界 getCollisionBorderSize |
1.0F | 同上 :68-70 |
| 拖尾粒子 | 每 tick 5 个 mobSpell |
同上 :43-53 |
| 消失粒子 | 8 个 iconcrack_ender_pearl |
同上 :140-149 |
AI 行为 / 特殊机制
发射者:EntityTFLich.java:546 —— 暮色巫妖用
setThrowableHeading(tx, ty, tz, projectile.func_70182_d(), 1.0F) 发射,
播放 mob.ghast.fireball 音效(EntityTFLich.java:541-545)。
穿透规则(onImpact :116-156)——碰到下列目标不造成伤害也不消失:
| 穿透目标 | 行号 |
|---|---|
其它 EntityTFLichBolt |
:120-124 |
EntityTFLichBomb |
:120-124 |
isShadowClone() 为真的 EntityTFLich(影分身) |
:129-133 |
反射:attackEntityFrom(:75-93)——
canBeCollidedWith() 恒 true(:60-62)、getCollisionBorderSize() 返回 1.0F
让玩家能打中。被打时按攻击者视线 setThrowableHeading(..., 1.5F, 0.1F)
朝攻击者方向反向加速,并把攻击者存入 playerReflects;
getThrower() 优先返回 playerReflects(:98-105),
所以反弹回去的伤害算在反射者头上。
若 damagesource.getEntity() == null(如环境伤害)则返回 false,不反射(:90-92)。
消失:未触发穿透时放 8 个 iconcrack_ender_pearl 粒子并
setDead()(:139-154)。
刷怪蛋:走 EntityRegistry.registerModEntity 直调,不进入 TFCreatures.entityEggs,无刷怪蛋。
相关条目
- Twilight Lich(暮色巫妖) - 唯一发射者
- Lich Bomb(巫妖炸弹) - 同一发射者的爆炸投射物,可与本实体互相穿透
- Lich Minion(巫妖随从) - 暮色巫妖的随从实体