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,覆写有效但风格不一致)。

相关条目