Death Tome(死亡之书)

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

基本信息

属性 值 来源
注册实体名 TwilightForest:Death Tome TwilightForestMod.java:564
实体 ID 常量 idMobDeathTome = 203 TwilightForestMod.java:1105
蛋色 主 0x774e22 / 副 0xdbcdbe TwilightForestMod.java:566-567
类 twilightforest.entity.EntityTFDeathTome(143 行) entity/EntityTFDeathTome.java:23
父类 EntityMob EntityTFDeathTome.java:23
所属结构 光明高塔 / lichTower(TFFeature 6) TFFeature.java:119, 126

刷怪表按是否装了 Et Futurum Requiem 集成而不同:EFR 分支权重 6、 群集 2~4(第 119 行);默认分支权重 10、群集 4~4(第 126 行)。

数值

属性 值 来源
maxHealth 30 EntityTFDeathTome.java:59
movementSpeed 0.25 EntityTFDeathTome.java:60
attackDamage 本类未设置属性表,但有旧版 getAttackStrength() 恒返回 4 EntityTFDeathTome.java:41-43
火伤倍率 ×2 EntityTFDeathTome.java:84-86

1.7.10 的 SharedMonsterAttributes 体系下,getAttackStrength() 是 旧接口,不会被 EntityAIAttackOnCollide 读取 —— 本实体全部伤害来自 远程法弹。getAttackStrength() 属于遗留代码。

AI 行为

EntityTFDeathTome.java:32-38:

槽位 Goal 说明
0 EntityAISwimming 涉水
4 EntityAITFMagicAttack(1.0F, 2, 60) 远程法弹,id = 2(TOME),冷却 60 tick
5 EntityAIWander(1.0F) 游荡
6 EntityAIWatchClosest / EntityAILookIdle 注视 / 待机
target 1 EntityAIHurtByTarget(false) 被打后反击
target 2 EntityAINearestAttackableTarget(EntityPlayer) 主动索敌玩家

EntityAITFMagicAttack 的 rangedAttackID = 2 对应常量 TOME = 2 (entity/ai/EntityAITFMagicAttack.java:21, 63-73),发射 EntityTFTomeBolt。

特殊机制

附魔台粒子

onLivingUpdate 每 tick 生成 1 个 enchantmenttable 粒子做环绕特效 (EntityTFDeathTome.java:64-77)。

火伤易伤

attackEntityFrom 里若伤害源是火,par2 *= 2(EntityTFDeathTome.java:83-86)—— 书怕火。被击中后还有 50% 概率掉 1 张纸(第 90-92 行)。

掉落

方法 掉落 来源
getDropItem() Items.paper EntityTFDeathTome.java:102-105
dropFewItems 纸 rand.nextInt(3 + looting) 个 EntityTFDeathTome.java:112-117
dropFewItems Items.writable_book 1 本(rand.nextInt(5) - looting <= 0),否则 Items.book 1 本 EntityTFDeathTome.java:119-123
dropRareDrop TFItems.magicMapFocus(魔法地图核心)1 个 EntityTFDeathTome.java:126-129

dropRareDrop 只在玩家用 looting 击杀(罕见掉落条件)时触发。

成就

在暮色森林维度内被玩家击杀触发 twilightHunter(EntityTFDeathTome.java:134-141)。

相关条目