Slime Blob(史莱姆团)

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

基本信息

属性 值 来源
注册实体名 TwilightForest:tfslimeblob(全小写,与类名 SlimeProjectile 无关) TwilightForestMod.java:833-840
实体 ID 常量 idVehicleSpawnSlimeBlob = 8 TwilightForestMod.java:186
注册形式 EntityRegistry.registerModEntity 直调(不经 TFCreatures)→ 无刷怪蛋 TwilightForestMod.java:833
追踪距离 / 更新频率 150 / 3,sendsVelocityUpdates = true 同上 :837-839
类 twilightforest.entity.EntityTFSlimeProjectile(91 行) entity/EntityTFSlimeProjectile.java:9
父类 net.minecraft.entity.projectile.EntityThrowable 同上 :9
尺寸 本类未调用 setSize 同上(全文检索无 setSize)
所属结构 不属于任何结构本身;唯一发射者是史莱姆甲虫 EntityAITFMagicAttack.java:153-159

数值

属性 值 来源
重力 getGravityVelocity 0.006F EntityTFSlimeProjectile.java:29-31
命中伤害 0 —— 伤害块整段被注释掉,属死代码 同上 :61-67
拖尾粒子 每 tick 2 个 slime,三轴偏移 ±0.5 同上 :34-41
爆开粒子 8 个 slime,x/z = nextGaussian × 0.05、y = nextDouble × 0.2 同上 :72-81
爆开音效 mob.slime.big,音量 1.0F,音高 1 / (rand × 0.4 + 0.8) 同上 :84
发射初速 / 精度 0.6 / 6.0 EntityAITFMagicAttack.java:170
攻击冷却 30 tick EntityTFSlimeBeetle.java:38

maxHealth / damage / movementSpeed:本类继承 EntityThrowable, 是无生命值的投射物,源码中不存在这些属性设置(EntityTFSlimeProjectile.java 全文无 applyEntityAttributes),故不列。

AI 行为 / 特殊机制

唯一发射者:EntityAITFMagicAttack 的 SLIME = 4 分支,全 mod 仅此一处 new EntityTFSlimeProjectile(EntityAITFMagicAttack.java:153-159)。 发射者固定为 EntityTFSlimeBeetle。

每 tick 拖尾:onUpdate 先跑 super.onUpdate() 再 makeTrail(),尾迹是 2 个 slime 粒子 (:20-25、:33-41)。

命中即爆:onImpact 无条件调用 pop() —— 生成 8 个 slime 粒子、播放 mob.slime.big,然后 setDead()(:58-89)。粒子与音效在客户端也会播, setDead() 包在 if (!worldObj.isRemote) 里(:86-88)。

可被打爆:attackEntityFrom 被覆写 —— 任何伤害来源都会 setBeenAttacked() 后 pop() 并返回 true(:46-53)。注意它不向攻击者弹射,也没有造成任何伤害, “Reflect!” 的注释与实际行为不符。

反射无效:本类没有 splash / 反射逻辑,被打中只是原地消失。

相关条目