曲曲实体
[!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 个已注册实体。