Roving Cube(悬浮立方体 [NYI])
事实基准:
/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。
[!WARNING] 语言文件把它标为
[NYI]:entity.TwilightForest.RovingCube.name=Roving Cube [NYI](assets/twilightforest/lang/en_US.lang:625, 中文版同样带标记:lang/zh_CN.lang:625)。 配合下面「无刷怪表 + 实体 ID 从未赋值」两条事实, 它虽然能通过/summon与刷怪蛋拿到,但永远不会自然生成。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册实体名 | TwilightForest:RovingCube(无空格) |
TwilightForestMod.java:761-766 |
| 实体 ID 常量 | idMobRovingCube —— 声明于 :176 但全文无赋值,取 Java int 默认值 0 |
TwilightForestMod.java:176(对比 :1137-1139 的 idMobIceCrystal 等有明确赋值) |
| 蛋色 | 主 0x0a0000 / 副 0x00009b |
TwilightForestMod.java:765-766 |
| 类 | twilightforest.entity.EntityTFRovingCube(73 行) |
entity/EntityTFRovingCube.java:11 |
| 父类 | net.minecraft.entity.monster.EntityMob |
同上 :11 |
| 体型 | setSize(1.2F, 2.1F) |
EntityTFRovingCube.java:27 |
| 所属结构 | 不属于任何结构 —— TFFeature 的静态刷怪表里没有它 |
检索方式:TFFeature.java:114-227 全部 addMonster 无 EntityTFRovingCube |
⚠️
idMobRovingCube是本批 17 个类中唯一 ID 常量没有赋值的。TwilightForestMod.java:1080-1140的「fixed values, don’t even read the config」 区块列出了idMobIceCrystal = 235、idMobHarbingerCube = 236、idMobAdherent = 237(:1137-1139),唯独漏掉了idMobRovingCube, 配置文件读取段落里也没有它的条目 —— 于是它以 ID 0 注册。
数值
| 属性 | 值 | 来源 |
|---|---|---|
maxHealth |
10.0 | EntityTFRovingCube.java:36 |
movementSpeed |
0.23000000417232513 | EntityTFRovingCube.java:37 |
attackDamage |
5.0 | EntityTFRovingCube.java:38 |
| 湮灭粒子 | annihilate × 3(每 tick) |
EntityTFRovingCube.java:55-69 |
| AI 任务数 | 仅 2 个,无攻击/目标/游荡任务 | EntityTFRovingCube.java:29-30 |
AI 行为 / 特殊机制
只有两个任务,没有战斗 AI(EntityTFRovingCube.java:29-30):
- 优先级 0
EntityAICubeMoveToRedstoneSymbols(this, 1.0D) - 优先级 1
EntityAICubeCenterOnSymbol(this, 1.0D)
没有 targetTasks:本类不添加任何仇恨任务(:29-30),
所以它不会主动攻击任何东西,也没有任何近战/远程攻击覆写。
attackDamage = 5 这条属性在无攻击行为的情况下用不上。
红石符号驱动(entity/ai/EntityAICubeMoveToRedstoneSymbols.java):
在自身附近按 xz/y 范围搜索方块(:60-70),
找到目标后把 hasFoundSymbol / symbolX / symbolY / symbolZ
四个 public 字段记下来(定义在 EntityTFRovingCube.java:16-19),
供 EntityAICubeCenterOnSymbol 跟随定位。
湮灭粒子(onLivingUpdate,:52-70):每 tick 生成 3 个
annihilate 粒子,位置在 lastTickPosX/Y/Z 附近 ±0.75 抖动,
Y 基准取 getEyeHeight() - 0.25 —— 与
Harbinger Cube(先驱魔方) / Adherent(追随者)
同属最终城堡的三件套方块系敌人。
无掉落覆写:本类没有 getDropItem / dropFewItems / dropRareDrop。
死代码 / 残留:
EntityTFRovingCube.java:13-23顶部一整块注释掉的规划文字 (// data needed for cube AI、// last circle visited、// direction traveling、// blocks traveled)—— 说明作者原本还计划做「绕圈巡逻」与「行进方向」, 四个字段目前只有 AI 类在用。applyEntityAttributes(:34-39)没有@Override注解 (父类EntityMob的该方法在 1.7.10 是protected,覆写有效但风格不一致)。
相关条目
- Harbinger Cube / Adherent / Roving Cube(冰塔方块系) - 三件套合并条目
- Harbinger Cube(先驱魔方) - 同系列,ID 236 已正确赋值
- Adherent(追随者) - 同系列,ID 237 已正确赋值