Thrown Axe(飞斧)
事实基准:
/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册实体名 | TwilightForest:tfthrownaxe(全小写) |
TwilightForestMod.java:849-856 |
| 实体 ID 常量 | idVehicleSpawnThrownAxe = 10 |
TwilightForestMod.java:188 |
| 注册形式 | EntityRegistry.registerModEntity 直调(不经 TFCreatures)→ 无刷怪蛋 |
TwilightForestMod.java:849 |
| 追踪距离 / 更新频率 | 80 / 3,sendsVelocityUpdates = true |
同上 :853-855 |
| 类 | twilightforest.entity.boss.EntityTFThrownAxe(77 行) |
entity/boss/EntityTFThrownAxe.java:9 |
| 父类 | net.minecraft.entity.projectile.EntityThrowable |
同上 :9 |
| 尺寸 | setSize(0.5F, 0.5F)(两个构造函数都设) |
同上 :15、:20 |
| 所属结构 | 不属于任何结构;只由 TileEntityTFKnightPhantomsSpawner 生成的幻影骑士投掷。TFFeature 的刷怪表里没有幻影骑士 |
EntityTFKnightPhantom.java:425、TileEntityTFKnightPhantomsSpawner.java:46 |
数值
| 属性 | 值 | 来源 |
|---|---|---|
直接伤害 PROJECTILE_DAMAGE |
6 | EntityTFThrownAxe.java:11 |
初速 func_70182_d |
0.1F | 同上 :67-69 |
重力 getGravityVelocity |
0.001F | 同上 :74-76 |
碰撞边界 getCollisionBorderSize |
1.0F | 同上 :59-62 |
| 撞击粒子 | 8 个 largesmoke |
同上 :39-41 |
| 发射速度 / 精度 | 0.75F / 1.0F | EntityTFKnightPhantom.java:427-429 |
| 发射高度 | height × 0.82,水平偏移 1.0 |
EntityTFKnightPhantom.java:410-413 |
| 发射频率 | ticksProgress % 4 == 0 |
EntityTFKnightPhantom.java:324-326 |
| 追踪距离 / 更新频率 | 80 / 3 | TwilightForestMod.java:853-855 |
maxHealth/movementSpeed:本类继承EntityThrowable,是无生命值的投射物, 源码中不存在这些属性设置(EntityTFThrownAxe.java全文无applyEntityAttributes)。
AI 行为 / 特殊机制
发射者:EntityTFKnightPhantom.launchAxeAt() 是全 mod 唯一的构造点
(EntityTFKnightPhantom.java:425)。只有持 TFItems.knightlyAxe 的幻影骑士克隆体
会发射 —— 武器由 setNumber(i) 按 i % 3 分配:0 = 骑士剑、1 = 骑士斧、2 = 骑士镐
(EntityTFKnightPhantom.java:817-826)。发射前播 random.bow 音效。
穿体不伤:onImpact 命中 EntityTFKnightPhantom 时把 passThru 置 true
(:27-30)—— 既不造成伤害,也不消失(:43-45)。效果是斧头能穿过幻影骑士
自己的其它克隆体,不误伤。
正常命中:其它实体吃 6 点 DamageSource.causeThrownDamage(this, getThrower()) 伤害,
然后 setDead()(:32-45)。
可被玩家攻击 / 反弹:canBeCollidedWith() 强制返回 true,getCollisionBorderSize()
拉到 1.0F,源码注释写明是「让玩家能攻击并反弹这发弹幕」(:48-62)。
反弹后伤害来源会变成反弹的玩家。
不产生爆炸:只播 8 个 largesmoke 粒子,不改地形。
相关条目
- Knight Phantom(幻影骑士) - 唯一发射者
- Thrown Pick(飞镐) - 同一 AI 的另一分支,一次投 8 把
- Lich Bomb(巫妖炸弹) - 结构相近的另一种可反射投射物