实体

基本信息

属性 值
modid RandomThings
注册类 lumien.randomthings.Entity.ModEntitys
实体总数 5(ID 1–5)
公共参数 追踪范围 80、更新频率 1(ModEntitys.java:11-23)
开关 无 —— 5 个实体均无条件注册

功能

本 mod 注册 5 个实体,全部通过 EntityRegistry.registerModEntity 且无任何配置开关(Entity/ModEntitys.java:10-31):

EntityRegistry.registerModEntity(EntityHealingOrb.class,     "HealingOrb",      1, RandomThings.instance, 80, 1, true);
EntityRegistry.registerModEntity(EntitySoul.class,           "playerSoul",       2, RandomThings.instance, 80, 1, true);
EntityRegistry.registerModEntity(EntitySpirit.class,         "spirit",           3, RandomThings.instance, 80, 1, true);
EntityRegistry.registerModEntity(EntityReviveCircle.class,   "reviveCircle",     4, RandomThings.instance, 80, 1, true);
EntityRegistry.registerModEntity(EntityBloodmoonCircle.class,"bloodmoonCircle",  5, RandomThings.instance, 80, 1, true);

注册名中只有 spirit 与 bloodmoonCircle 有语言条目;HealingOrb、playerSoul、reviveCircle 属内部实体,没有 lang 名称(zh_CN.lang 中仅 :91 与 :189 两条实体名)。

5 个实体

ID 注册名 类 可见性 作用
1 HealingOrb EntityHealingOrb 内部(渲染器 RenderHealingOrb) 治疗粒子球
2 playerSoul EntitySoul 内部(RenderSoul) 击杀生物时生成的灵魂
3 spirit EntitySpirit 有名称(zh_CN.lang:91「灵魂」) 掉灵气(meta 3)的可击杀生物
4 reviveCircle EntityReviveCircle 内部(RenderReviveCircle) 重生圈,玩家死亡时触发
5 bloodmoonCircle EntityBloodmoonCircle 有名称(zh_CN.lang:189) 血月仪式圈

lang 中有两条 spirit 相关键(一条中文 :91、一条英文 :188),说明历史上曾调整过命名。

灵魂(spirit)

EntitySpirit 是唯一可正常生成与击杀的生物。生成逻辑在 RTEventHandler 的死亡事件中(Handler/RTEventHandler.java:527-546),触发概率见 灵魂之剑。

击杀它掉落灵气(ingredient meta 3):

protected Item getDropItem() { return ModItems.ingredients; }
protected void dropFewItems(boolean par1, int looting) {
    int amount = this.rand.nextInt(3) + this.rand.nextInt(1 + looting);
    this.entityDropItem(new ItemStack(ModItems.ingredients, amount, 3), 0.0F);
}

(EntitySpirit.java:108-117)—— 掉落量 0 到 2 + looting 个灵气。

重生圈(reviveCircle)

EntityReviveCircle 会调用 TeleporterSpectre 把玩家送回灵魂世界(Entity/EntityReviveCircle.java:60)—— 这是玩家在灵魂世界死亡后的返回路径。

血月圈(bloodmoonCircle)

由血石仪式触发,渲染器为 RenderBloodmoonCircle。

数值

数值名 值
实体数 5
实体 ID 范围 1–5
追踪范围 80(全部相同)
更新频率 1(全部相同)
实体开关 无
具名实体数 2(spirit、bloodmoonCircle)

MineFactory Reloaded 兼容

若加载 MFR,4 个实体被加入 Safari Net 黑名单,防止被传送网捕获(ModEntitys.java:25-30):

if (Loader.isModLoaded("MineFactoryReloaded")) {
    MFRRegistry.registerSafariNetBlacklist(EntitySpirit.class);
    MFRRegistry.registerSafariNetBlacklist(EntitySoul.class);
    MFRRegistry.registerSafariNetBlacklist(EntityReviveCircle.class);
    MFRRegistry.registerSafariNetBlacklist(EntityHealingOrb.class);
}

注意 EntityBloodmoonCircle 不在黑名单中。注册走反射调用 powercrystals.minefactoryreloaded.MFRRegistry.registerSafariNetBlacklist(Handler/ModCompability/MFR/MFRRegistry.java:11-15)。

EntitySpirit 还经过 MixinSpawnerAnimals 扩展(Mixins/ducks/SpawnerAnimalsExt.java)参与刷怪逻辑。

相关条目