Redcap(红帽地精)
事实基准:
/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册实体名 | TwilightForest:Redcap |
TwilightForestMod.java:455-460 |
| 实体 ID 常量 | idMobRedcap = 180 |
TwilightForestMod.java:1084 |
| 蛋色 | 主 0x3b3a6c / 副 0xab1e14 |
TwilightForestMod.java:459-460 |
| 类 | twilightforest.entity.EntityTFRedcap(177 行) |
entity/EntityTFRedcap.java:30 |
| 父类 | net.minecraft.entity.monster.EntityMob |
同上 :30 |
| 体型 | setSize(0.9F, 1.4F) |
EntityTFRedcap.java:46 |
| 所属结构 | 小型丘陵 ID 1 / 中型丘陵 ID 2 / 大型丘陵 ID 3,三级刷怪表 | TFFeature.java:134、:138、:149 |
中文名
红帽地精取自lang/zh_CN.lang:568。 这是暮色森林最基础的地精,其子类 Redcap Sapper(红帽工兵) 共享本类绝大部分行为。
数值
| 属性 | 值 | 来源 |
|---|---|---|
maxHealth |
20.0 | EntityTFRedcap.java:88 |
movementSpeed |
0.28 | EntityTFRedcap.java:89 |
attackDamage |
源码中未设置 —— 检索方式:EntityTFRedcap.java 全文无 attackDamage,沿用 EntityMob 链上的父类默认 |
— |
| 主手 | Items.iron_pickaxe(共享静态 heldPick) |
EntityTFRedcap.java:32、:61 |
| 靴子 | Items.iron_boots |
EntityTFRedcap.java:62 |
| 装备掉落概率 | 主手 0.2F、靴子 0.2F | EntityTFRedcap.java:64-65 |
掉落物 getDropItem |
Items.coal(煤炭) |
EntityTFRedcap.java:107-110 |
TNTLeft 初值 |
0(普通红帽不会种 TNT) | EntityTFRedcap.java:38 |
shy 初值 |
true |
EntityTFRedcap.java:48 |
AI 行为 / 特殊机制
怕火与怕 TNT(EntityTFRedcap.java:50-53):
- 优先级 1
EntityAIAvoidEntity(EntityTNTPrimed, 2.0F, 1.0F, 2.0F)—— 主动避开点燃的 TNT; - 优先级 2
EntityAITFRedcapShy(this, 1.0F)—— 见下文; - 优先级 3
EntityAITFRedcapLightTNT(this, 1.0F)—— 主动点燃地上的 TNT。
点燃 TNT(entity/ai/EntityAITFRedcapLightTNT.java):
shouldExecute 在 8 格内找到未点燃的 TNT 方块就触发(:25-44),
startExecuting 把手里的东西换成火镰(EntityTFRedcap.heldFlint),
追过去点着;continueExecuting 一直持续到该坐标不再是 TNT 方块为止(:46-52)。
「害羞」:字段 shy 初始为 true(:48),
isShy() 返回 shy && recentlyHit <= 0(:112-114)——
只有没被攻击过时才算害羞。害羞行为由
entity/ai/EntityAITFRedcapShy.java 实现。
矿工装备与掉装备:手持铁镐 + 穿铁靴,两件都有 20% 概率掉落
(:61-65)—— 这是打红帽的主要收益来源。
音效(EntityTFRedcap.java:92-105):三个自定义音效事件
TwilightForest:mob.redcap.redcap、TwilightForest:mob.redcap.hurt、
TwilightForest:mob.redcap.die。
两级成就(onDeath,:159-175):暮色森林维度内被玩家击杀 →
twilightHunter;再检查死亡点所在区块最近的 TFFeature,
若是 TFFeature.hill1(小型空心丘陵)额外触发 twilightHill1
(成就描述见 lang/en_US.lang:644)。
NBT 持久化(:139-154):TNTLeft 与 VillagerProfession 两项。
villagerProfession 是给女巫小屋变体用的(预设为 −1,本类不消费)。
死代码:EntityTFRedcap.java:44-45 两行注释掉的旧贴图 / moveSpeed 赋值。
相关条目
- Redcap Sapper(红帽工兵) - 子类,会种 TNT
- Kobold(暮色狗头人) - 同样出没于丘陵的矮小敌人
- Hedge Spider(树篱蜘蛛) - 树篱迷宫的刷怪之一