Adherent(追随者)

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

基本信息

属性 值 来源
注册实体名 TwilightForest:Adherent TwilightForestMod.java:757
实体 ID 常量 idMobAdherent = 237 TwilightForestMod.java:1139
蛋色 主 0x0a0000 / 副 0x00008b TwilightForestMod.java:759-760
类 twilightforest.entity.EntityTFAdherent(128 行) entity/EntityTFAdherent.java:26
父类 EntityMob,实现 IRangedAttackMob、ITFCharger entity/EntityTFAdherent.java:26
体型 setSize(0.8F, 2.2F) EntityTFAdherent.java:43
所属结构 最终城堡(Final Castle,TFFeature 19)普通层 / 1 层 / 2 层地牢 TFFeature.java:212, 218, 223

数值

属性 值 来源
maxHealth 20 EntityTFAdherent.java:66
movementSpeed 0.25 EntityTFAdherent.java:67
attackDamage 本类未设置(EntityMob 默认 2) EntityTFAdherent.java:64-68

AI 行为 / 特殊机制

AI goals(EntityTFAdherent.java:33-41)

槽位 Goal 说明
1 EntityAISwimming 涉水
2 EntityAIRestrictSun 禁止日光下停留
3 EntityAIFleeSun(1.0D) 怕光,见光就跑
4 EntityAIArrowAttack(1.0D, 60, 10.0F) 远程攻击,冷却 60 tick,瞄准误差 10.0
5 EntityAIWander(1.0D) 游荡
6 EntityAIWatchClosest / EntityAILookIdle 注视 / 待机
target 1 EntityAIHurtByTarget(false) 被打后反击
target 2 EntityAINearestAttackableTarget(EntityPlayer) 主动索敌玩家

远程攻击

attackEntityWithRangedAttack(EntityTFAdherent.java:98-110)发射的是 EntityTFNatureBolt(自然法弹),不是箭:

参数 值 来源
发射速度 0.6 EntityTFAdherent.java:108
发射误差 6.0 EntityTFAdherent.java:108
弹丸伤害 2 EntityTFNatureBolt.java:71
附毒效果 强度按难度(和平 0 / 普通 3 / 困难 7) EntityTFNatureBolt.java:73-75

EntityTFNatureBolt 命中后附加 Potion.poison,持续时间为强度 × 20 tick (EntityTFNatureBolt.java:77);飞行中每 tick 生成 5 个 happyVillager 粒子做拖尾 (EntityTFNatureBolt.java:52-60),重力 0.003F(EntityTFNatureBolt.java:46-48)。

ITFCharger 充能

isCharging() / setCharging() 读写 DataWatcher 的 CHARGE_FLAG = 17(EntityTFAdherent.java:28, 49, 117-127)。 与冲锋类小怪不同,Adherent 的「蓄力」用于准备远程攻击,不改变移速。

掉落与成就

  • 掉落:TFItems.metaItem(meta 0),数量 rand.nextInt(3)(0~2 个,可能不掉) —— EntityTFAdherent.java:71-80。
  • 在暮色森林维度内被玩家杀死触发成就 twilightHunter(EntityTFAdherent.java:86-92)。

相关条目