曲曲实体

[!INFO] 注册真源:WarpTheory.init() 中的 5 次 EntityRegistry.registerModEntity ⚠️ 全仓有 7 个实体类,但只有 5 个注册

5 个已注册实体

全部在 WarpTheory.init 中注册,统一参数 (类, 名, ID, this, updateFrequency=160, trackingRange=4, sendsVelocityUpdates=true):

ID 注册名 类 说明
0 creeperPassive EntityPassiveCreeper 友好苦力怕(FRIEND 效果)
1 creeperFake EntityFakeCreeper 假苦力怕(配合 FAKE_CREEPER 声音)
2 doppelganger EntityDoppelganger 拟态怪(DOPPELGANGER 效果)
3 phantom EntityPhantom 幻影(PHANTOMS 效果)
4 taintSheepSafe EntitySafeTaintSheep 安全污染绵羊

标识符形如 WarpTheory.creeperPassive(registerModEntity 的第二参 不含 entity. 前缀,FML 自动加)。

⚠️ 3 个实体(creeperPassive/creeperFake/doppelganger)同时有 自定义 Renderer:RenderDoppelganger、RenderPhantom (共 2 个 Render* 类)。

2 个未注册的实体类

类 外部引用数 用途
EntityDropParticleFX 4 粒子特效
EntityRainParticleFX 5 粒子特效

两者从不调用 EntityRegistry.registerModEntity, 而是运行时直接 world.spawnEntityInWorld(...) 生成 (作为曲曲效果的视觉表现)。

⚠️ 因此统计「本模组注册了几个实体」必须用 EntityRegistry.registerModEntity 的调用点 = 5, 而类文件数 = 7。两个 FX 类是无注册的自定义粒子实体, 不走 FML 的实体 ID 分配。

实体与曲曲效果的对应

实体 对应效果 效果门槛
EntityPassiveCreeper FRIEND 40
EntityFakeCreeper FAKE_CREEPER 25
EntityDoppelganger DOPPELGANGER 75
EntityPhantom PHANTOMS 20
EntityDropParticleFX FAKE_RAIN / RAIN 等 —
EntityRainParticleFX FAKE_RAIN(FakeRain 效果) 25

EntitySafeTaintSheep(taintSheepSafe)对应 LIVESTOCK_RAIN(门槛 70)—— 「污染绵羊」是 Thaumcraft EntityTaintedSheep 的安全替身, 因为后者在 Thaumcraft 4 中行为已变。

曲曲交互接口

entity/ 下另有两个接口(非实体类), 让实体参与曲曲的伤害/治疗结算:

接口 方法 用途
IHurtable — 可被曲曲伤害的实体
IHealable — 可被曲曲治疗的实体

WarpEventHandler 监听 LivingHurtEvent 与 LivingHealEvent 时按 instanceof 分派(见 曲曲机制)。

EntityDoppelganger 的渲染

RenderDoppelganger 与 RenderPhantom 是本模组仅有的 2 个 Render 子类,由 ClientProxy 注册到 RenderingRegistry.registerEntityRenderingHandler。

⚠️ EntityPassiveCreeper / EntityFakeCreeper / EntitySafeTaintSheep 复用原版 Renderer (分别对应 Creeper / Creeper / Sheep), 所以只有 2 个自定义 Renderer 对应 5 个已注册实体。

相关条目