Giant Miner(巨人矿工)
事实基准:
/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册实体名 | TwilightForest:Giant Miner |
TwilightForestMod.java:733 |
| 实体 ID 常量 | idMobGiantMiner = 233 |
TwilightForestMod.java:1135 |
| 蛋色 | 主 0x211b52 / 副 0x9a9a9a |
TwilightForestMod.java:735-736 |
| 类 | twilightforest.entity.EntityTFGiantMiner(78 行) |
entity/EntityTFGiantMiner.java:22 |
| 父类 | EntityMob |
entity/EntityTFGiantMiner.java:22 |
| 体型 | 宽高各 ×4(setSize(this.width * 4.0F, this.height * 4.0F)) |
EntityTFGiantMiner.java:26 |
| 所属结构 | 巨人工厂云端城堡(Troll Lairs 的 ComponentTFCloudCastle) |
structures/trollcave/ComponentTFCloudCastle.java:148-153 |
数值
| 属性 | 值 | 来源 |
|---|---|---|
maxHealth |
80 | EntityTFGiantMiner.java:44 |
movementSpeed |
0.23 | EntityTFGiantMiner.java:45 |
attackDamage |
10 | EntityTFGiantMiner.java:46 |
followRange |
40(本类显式设为同类中偏大值) | EntityTFGiantMiner.java:47 |
AI 行为
EntityTFGiantMiner.java:28-35:
| 槽位 | Goal | 说明 |
|---|---|---|
| 1 | EntityAISwimming |
涉水 |
| 4 | EntityAITFGiantAttackOnCollide(EntityPlayer, 1.0D, false) |
自定义巨型撞击攻击 |
| 5 | EntityAIWander(1.0D) |
游荡 |
| 6 | EntityAIWatchClosest / EntityAILookIdle |
注视 / 待机 |
| target 1 | EntityAIHurtByTarget(false) |
被打后反击 |
| target 2 | EntityAINearestAttackableTarget(EntityPlayer) |
主动索敌玩家 |
装备与掉落
- 手中固定装备石镐
Items.stone_pickaxe(EntityTFGiantMiner.java:37)。 - 构造函数里
Arrays.fill(this.equipmentDropChances, 0F)(EntityTFGiantMiner.java:39)—— 装备掉落率全部清零,石镐永远不会掉。 getDropItem()返回TFItems.giantPick(EntityTFGiantMiner.java:58-60),dropFewItems只掉 1 个 且要求par1(近期被玩家击中)为真 (EntityTFGiantMiner.java:66-72)。
巨人矿工是
Armored Giant(装甲巨人)的父类。子类覆盖了装备与掉落, 属性全部继承自本类。
结构投放
ComponentTFCloudCastle 在云端城堡的固定坐标(6, 0, 6)处放置一名 Giant Miner,
并调用 makeNonDespawning()(EntityTFGiantMiner.java:74-76 → func_110163_bv())
阻止它因远离玩家而消失(ComponentTFCloudCastle.java:148-153)。
同一次投放会在 (9, 0, 9) 处放置一名
Armored Giant(装甲巨人)(ComponentTFCloudCastle.java:163-168)。
相关条目
- Armored Giant(装甲巨人) - 本类的唯一子类
- Giant’s Pickaxe(巨人的镐) - 本实体的掉落物