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"; 是被注释掉的旧版贴图赋值。
相关条目
- Mazestone(迷宫石) - 史莱姆粒子使用的方块,迷宫建材
- Charm of Keeping I(保管符咒Ⅰ) - 稀有掉落物
- Harbinger Cube(先驱魔方) - 同为迷宫/最终城堡系的方块类敌人