Hostile Wolf(敌意狼)

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

基本信息

属性 值 来源
注册实体名 TwilightForest:Hostile Wolf TwilightForestMod.java:479-484
实体 ID 常量 idMobHostileWolf = 185 TwilightForestMod.java:1089
类 twilightforest.entity.EntityTFHostileWolf entity/EntityTFHostileWolf.java(123 行)
父类 net.minecraft.entity.passive.EntityWolf + IMob 同上 :19
蛋色 主 0xd7d3d3 / 副 0xab1e14 TwilightForestMod.java:483-484
尺寸 源码中未覆写 setSize —
所属结构 树篱迷宫(hedgeMaze 特性 ID 4) 见下「AI 行为」

数值

属性 值 来源
maxHealth 10.0 EntityTFHostileWolf.java:39
movementSpeed 源码中未设置,沿用 EntityWolf 默认 —
attackDamage 源码中未设置,沿用 EntityWolf 默认 —
每区块生成上限 源码中未覆写 —

AI 行为 / 特殊机制

本类 123 行,核心是把驯服的狼改造成敌对狼:

构造即暴怒:构造函数直接 setAngry(true)(:23),并向 targetTasks 追加优先级 4 的 EntityAINearestAttackableTarget(EntityPlayer, 0, true)(:25), 即无差别锁定玩家。

和平难度自杀:onUpdate 中检测 worldObj.difficultySetting == EnumDifficulty.PEACEFUL 即 setDead()(:42-48)—— 因此生存难度下根本不会出现,也不会随难度变化消失。

刷怪判定:getCanSpawnHere 覆写——若所在区块最近特性是 TFFeature.hedgeMaze 则跳过亮度检查直接返回可行(:66-79);否则走本类自带的 isValidLightLevel()(:85-104,从 EntityMob 抄来的版本,与原版蜘蛛/史莱姆同款阈值: 天光 > rand.nextInt(32) 则否决,否则方块光 > rand.nextInt(8) 则否决, 雷雨天把 skylightSubtracted 临时改成 10 再测一次)。

去驯服化:isBreedingItem 恒 false(:110-113)、 interact 恒 false(:118-121),玩家无法用骨头驯服或繁殖。

掉落:本类没有 dropFewItems / getDropItem 覆写, 沿用 EntityWolf 默认,不掉落任何 TwilightForest 物品。

成就:暮色森林维度玩家击杀触发 twilightHunter(:53-60)。

派生实体

本类是另外两个生物的父类:

派生类 源码 说明
EntityTFMistWolf entity/EntityTFMistWolf.java:12 雾狼,复用本类全部刷怪与暴怒逻辑
EntityTFWinterWolf entity/EntityTFWinterWolf.java:22 冬狼,另实现 IBreathAttacker 吐息攻击

变形

ItemTFTransformPowder.java:64:addTwoWayTransformation(EntityTFHostileWolf.class, EntityWolf.class)—— 与原版 EntityWolf 双向变形(敌意狼 ←→ 普通狼)。

生成方式(源码实读结论)

全仓检索 EntityTFHostileWolf 的引用只有:注册调用、变形粉、两个派生类。 没有任何 TFFeature.addMonster / biomes 生成列表条目 —— 实际只能靠刷怪蛋与变形粉获得,尽管代码为树篱迷宫专门写了免亮度检查。

相关条目