Maze Slime(迷宫史莱姆)

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

⚠️ 中文名取自 lang/zh_CN.lang:596,该行字面写作 迷宮史莱姆 —— 简体语言文件里混了一个繁体「宮」,属本地化笔误。此处按简体写作「迷宫史莱姆」。

基本信息

属性 值 来源
注册实体名 TwilightForest:Maze Slime TwilightForestMod.java:598-603
实体 ID 常量 idMobMazeSlime = 209 TwilightForestMod.java:1111
蛋色 主 0xa3a3a3 / 副 0x2a3b17(与 Skeleton Druid 完全相同) TwilightForestMod.java:602-603
类 twilightforest.entity.EntityTFMazeSlime(126 行) entity/EntityTFMazeSlime.java:14
父类 net.minecraft.entity.monster.EntitySlime 同上 :14
分裂生成 createInstance 返回 EntityTFMazeSlime(分裂后仍是迷宫史莱姆) EntityTFMazeSlime.java:27-30
所属结构 迷宫 / Labyrinth(TFFeature ID 13),权重 10、4~4 只 TFFeature.java:164

数值

属性 值 来源
初始体型 setSlimeSize 1 << (1 + rand.nextInt(2)) ⇒ 2 或 4 EntityTFMazeSlime.java:21
maxHealth 2.0 * size * size ⇒ size 2 为 8,size 4 为 32 EntityTFMazeSlime.java:57
经验值 experienceValue size + 3 ⇒ 5 或 7 EntityTFMazeSlime.java:35
近战伤害 super.getAttackStrength() + 3(父类强度源码中不可见,见下) EntityTFMazeSlime.java:72-74
是否可伤害玩家 canDamagePlayer() 恒 true EntityTFMazeSlime.java:63-66
声音音量 0.1F * getSlimeSize() EntityTFMazeSlime.java:118
掉落 TFItems.charmOfKeeping1 × 1(稀有掉落) EntityTFMazeSlime.java:121-124

⚠️ 本机无 Minecraft 反编译源,EntitySlime.getAttackStrength() 的原版基值无法核实。 只能确认迷宫史莱姆在原版基础上额外 +3(EntityTFMazeSlime.java:73), 绝对伤害值不作推测。

AI 行为 / 特殊机制

光照刷怪判定(EntityTFMazeSlime.java:91-110):覆写了父类的暗处判定。 天空光 > rand.nextInt(32) 直接否决;否则要求方块光 <= rand.nextInt(8)。 雷暴天气时把 worldObj.skylightSubtracted 临时压到 10 重新取光再还原(:101-106)。

getCanSpawnHere(:41-48)在 EntityMob 的基础上加了 「非和平难度」与「不在液体中」两个条件,再交给自己写的 isValidLightLevel()。

粒子:getSlimeParticle() 懒加载返回 "blockcrack_" + Block.getIdFromBlock(TFBlocks.mazestone) + "_1" (:79-86)—— 落地扬起的碎块是迷宫石贴图,与普通史莱姆不同。

死代码:构造函数第 20 行 // texture = ... "mazeslime.png"; 是被注释掉的旧版贴图赋值。

相关条目