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,无刷怪蛋。

相关条目