Boggard(博加德)—— 未注册,实体不存在于游戏内

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

结论先行

EntityTFBoggard 的注册调用被整行注释掉了(TwilightForestMod.java:555):

// TFCreatures.registerTFCreature(twilightforest.entity.EntityTFBoggard.class, "Boggard", idMobBoggard);

因此 TwilightForest:Boggard 不是一个可获取 / 可生成 / 可 /summon 的实体。 语言文件把它标成 Boggard [NYI](assets/twilightforest/lang/en_US.lang:586), 中文名「博加德」zh_CN.lang:586。刷怪蛋不存在(registerTFCreature 顺带注册蛋的那一步 entity/TFCreatures.java:41 从未执行)。

本页保留它,是因为类完整存在(189 行,含 AI、属性、掉落、成就), 属于「写完但未启用」的代码,而不是死文件。

基本信息(类层面)

属性 值 来源
注册实体名 无(注册语句被注释) TwilightForestMod.java:555
实体 ID 常量 idMobBoggard = 201(已分配数值,但从未被使用) TwilightForestMod.java:1103
蛋色 无(注册被注释,entityEggs 里不会有这一项) entity/TFCreatures.java:41
类 twilightforest.entity.EntityTFBoggard(189 行) entity/EntityTFBoggard.java:25
父类 EntityMob EntityTFBoggard.java:25
体型 setSize(0.8F, 1.1F) EntityTFBoggard.java:33
渲染 已注册渲染器(ModelTFLoyalZombie,贴图 kobold.png) client/TFClientProxy.java:260

渲染器在 TFClientProxy.java:260 是启用的(没有注释),用的是忠诚僵尸模型与 地精的贴图 —— 进一步印证这是未完成的功能:连模型都没做。 注意该行用的贴图名是 kobold.png,不是 boggard.png。

数值(若启用则为这些值)

属性 值 来源
maxHealth 14 EntityTFBoggard.java:69
movementSpeed 0.28 EntityTFBoggard.java:70
attackDamage 3 EntityTFBoggard.java:71

AI 行为(若启用则为这套)

EntityTFBoggard.java:38-46:

槽位 Goal 说明
0 EntityAISwimming 涉水
1 EntityAITFRedcapShy 该行被注释掉(EntityTFBoggard.java:39)
2 EntityAITFChargeAttack(2.0F) 冲锋
3 EntityAIAttackOnCollide(EntityPlayer, 1.0F, false) 撞击玩家
6 EntityAIWander(1.0F) 游荡
7 EntityAIWatchClosest / EntityAILookIdle 注视 / 待机
target 1 EntityAIHurtByTarget(false) 被打后反击
target 2 EntityAINearestAttackableTarget(EntityPlayer, 0, false) 主动索敌玩家(false = 不理生物群系限制)

shy 字段与 isShy() / isTargetLookingAtMe()(EntityTFBoggard.java:127-147)是为 「害羞地绕开玩家正面」设计的,但驱动它的旧 AI(updateEntityActionState)整段被注释 (EntityTFBoggard.java:107-125),EntityAITFRedcapShy 的注册也被注释 (第 39 行)—— 这套害羞逻辑当前无任何代码路径会调用。

掉落(若启用)

  • getDropItem() 返回 Items.iron_boots(EntityTFBoggard.java:90-92)。
  • dropFewItems(EntityTFBoggard.java:95-105):
概率 掉落 数量
1/5 TFItems.mazeMapFocus(迷宫地图核心) 1 + looting
1/6 Items.iron_boots 1 + looting
1/9 Items.iron_pickaxe 1 + looting

三条判定彼此独立(三个独立的 rand.nextInt),不是互斥分支。

成就

onDeath(EntityTFBoggard.java:164-178)在暮色森林维度内被玩家击杀时 会额外检查所在区块是否属于 TFFeature.hill1(小型空心丘陵), 是则额外触发 twilightHill1 成就。这段逻辑同样因实体未注册而永不执行。

相关条目