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)。

相关条目