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 成就。这段逻辑同样因实体未注册而永不执行。
相关条目
- Maze Map Focus(迷宫地图核心) - 若启用时的掉落物之一
- Mazestone(迷宫石) - 迷宫(
labyrinth)的建材