ParticleEngineFix
基本信息
net.glease.tc4tweak.modules.particleEngine.ParticleEngineFix —— 枚举(非 class),
修复客户端粒子引擎的残留状态。
枚举常量
源码中只实例化一个常量(值取自 ParticleEngineFix.<常量> 的注册点),
其提供:
| 成员 | 行 | 说明 |
|---|---|---|
getParticles() |
20 | HashMap<Integer, ArrayList<EntityFX>>[] —— 数组,按维度索引 |
onServerConnected(ClientConnectedToServerEvent) |
35 | 连接服务器时清理 |
onWorldLoad(WorldEvent.Load) |
44 | 载入世界时清理 |
static init() |
55 | 注册事件监听 |
反射读取私有字段
private static final Field particlesField =
FieldUtils.getDeclaredField(ParticleEngine.class, "particles", true);
用 commons-lang3 FieldUtils.getDeclaredField(clazz, name, **true**)——
第三参 forceAccess = true 直接打开访问权限,
强依赖 net.minecraft.client.particle.ParticleEngine.particles 这个私有字段名。
⚠️ 该类只在客户端存在。枚举能被加载说明整体是客户端侧接线, 事件监听需在客户端注册。
为什么是数组
ParticleEngine.particles 是按维度 id 索引的数组
(0 = overworld、-1 = nether、1 = the end),
所以返回类型是 HashMap<...>[]。
相关条目
源码
src/main/java/net/glease/tc4tweak/modules/particleEngine/ParticleEngineFix.java