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