
微妙效果线程修复
修复了NeoForge 1.21.1上由Subtle Effects生物群系粒子引起的“从多个线程访问LegacyRandomSource”崩溃问题。
微效效果线程修复
这是针对 NeoForge 1.21.1 上由 Subtle Effects 引发的 Accessing LegacyRandomSource from multiple threads 崩溃的终极修复方案。
问题所在
当 Subtle Effects 与现代优化模组(如 Sodium、Flywheel、ScalableLux、ModernFix 等)一起使用,或者仅仅是在高负载的客户端 + 集成服务器环境下,游戏可能会随机崩溃,并出现以下错误:
堆栈跟踪几乎总是指向:
einstein.subtle_effects.ticking.biome_particles.BiomeParticleManager.tickBiomeParticles
这是因为 Minecraft 的 LegacyRandomSource 并非线程安全,而 Subtle Effects 在可能被多个线程访问的上下文中使用了它。
解决方案
本模组提供两层保护:
主要修复 将
tickBiomeParticles内部的Level#getRandom()/Level#random()调用重定向到一个适当的线程安全RandomSource(ThreadLocal)。安全网 如果仍有任何与
LegacyRandomSource相关的IllegalStateException逃逸,它会被捕获,并且该帧的生物群系粒子更新将被跳过。游戏将继续正常运行。
结果:不再崩溃,同时绝大多数情况下生物群系粒子仍能正常工作。
特性
- 对 Subtle Effects 为软(可选)依赖 —— 若该模组未安装则不起任何作用
- 仅客户端
- 零配置
- 极为轻量
- 与重型优化整合包完全兼容
安装方法
- 安装 NeoForge 1.21.1
- 安装 Subtle Effects
- 安装本模组
- 启动游戏
无需任何配置。
兼容性
- Minecraft:1.21.1
- 加载器:NeoForge
- 软依赖:Subtle Effects
致谢
为 Perfection Rework 视觉整合包制作。 灵感来源于原始的 Subtle Fix 概念。
许可证
MIT
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。