Twilight Wand Bolt(暮色魔弹)

事实基准:/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。

基本信息

属性 值 来源
注册实体名 TwilightForest:tftwilightwandbolt(全小写) TwilightForestMod.java:793-800
实体 ID 常量 idVehicleSpawnTwilightWandBolt = 3 TwilightForestMod.java:181
注册形式 EntityRegistry.registerModEntity 直调(不经 TFCreatures)→ 无刷怪蛋 TwilightForestMod.java:793
追踪距离 / 更新频率 150 / 5,sendsVelocityUpdates = true 同上 :797-799
类 twilightforest.entity.EntityTFTwilightWandBolt(82 行) entity/EntityTFTwilightWandBolt.java:11
父类 net.minecraft.entity.projectile.EntityThrowable 同上 :11
尺寸 本类未调用 setSize 同上(全文检索无 setSize)
所属结构 不属于任何结构;由玩家手持暮色权杖发射 item/ItemTFTwilightWand.java:64

数值

属性 值 来源
直接伤害 6(DamageSource.causeIndirectMagicDamage(this, getThrower())) EntityTFTwilightWandBolt.java:61-62
重力 getGravityVelocity 0.003F 同上 :52-54
拖尾粒子 每 tick 5 个 mobSpell 同上 :34-46
拖尾粒子颜色分量 s1 ∈ [0, 0.085]、s2 ∈ [0, 0.40]、s3 ∈ [0, 0.345](各自 ((rand × 0.5) + 0.5) × K) 同上 :40-44
命中粒子 8 个 iconcrack_<Items.ender_pearl> 同上 :65-74
发射间隔 每 6 tick 一发 ItemTFTwilightWand.java:54
权杖耐久 setMaxDamage(99),每发 −1 ItemTFTwilightWand.java:23、:65
追踪距离 / 更新频率 150 / 5 TwilightForestMod.java:797-799

maxHealth / movementSpeed:本类继承 EntityThrowable,是无生命值的投射物, 源码中不存在这些属性设置(EntityTFTwilightWandBolt.java 全文无 applyEntityAttributes)。

AI 行为 / 特殊机制

发射者:ItemTFTwilightWand.onUsingTick —— 玩家持续使用权杖时每 6 tick 生成一发 (item/ItemTFTwilightWand.java:54-67),生成前播 mob.ghast.fireball 音效(音高 +1.0), 服务端才实际生成并扣耐久。耐久耗尽(getItemDamage() >= getMaxDamage())时 stopUsingItem(),即最多 99 发。本条目是暮色三把推进权杖的通用弹丸,不区分是哪一把。

命中效果:onImpact 只对 EntityLivingBase 造成 6 点 causeIndirectMagicDamage 伤害(:56-63)。无生命值的实体(盔甲架、掉落物等)直接穿过。

⚠️ 源码里伤害调用包在空 if 里 —— 第 62 行的 if (entityHit.attackEntityFrom(..., 6)) {} 花括号中没有任何语句。 攻击成功的返回值被丢弃,没有附加效果(对比 Tome Bolt 会在成功时挂减速)。

命中后消失:播完 8 个粒子即 setDead()(包在 if (!worldObj.isRemote) 里,:76-78)。

不可反弹:本类没有处理 getThrower() 以外的任何分支,无法被反射。

每 tick 拖尾:onUpdate 先 super.onUpdate() 再 makeTrail(),5 个 mobSpell 粒子,坐标各加 ±0.5 的随机偏移(:27-46)。

相关条目