File Details
embeddium-0.3.32-beta.74-dirty+mc1.20.1.jar
- A
- Dec 16, 2025
- 1.26 MB
- 832
- 1.20.1
- Forge
File Name
embeddium-0.3.32-beta.74-dirty+mc1.20.1.jar
Supported Versions
- 1.20.1
Curse Maven Snippet
Automatically Generated Changelog:
Memory Leak Fixes
| Fix | File |
|---|---|
| Add LRU eviction (max 256 entries) to prevent unbounded cache growth | EmbeddiumFluidSpriteCache.java |
| Wrap CommandList in try-with-resources (2 locations) | RenderSectionManager.java |
| Wrap CommandList in try-with-resources in constructor | DefaultChunkRenderer.java |
| Add exception safety to prevent NativeBuffer leaks during chunk building | ChunkBuildBuffers.java |
| Add exception safety to prevent NativeBuffer leaks during sort tasks | ChunkBuilderSortTask.java |
Performance Improvements
| Improvement | File |
|---|---|
| Fix sentinel value bug (0 to 0xFFFFFFFF) for proper caching at light level 0 | ArrayLightDataCache.java |
| Same sentinel fix for fallback cache | HashLightDataCache.java |
| Eliminate double-lookup pattern with single get() call | BiomeColorCache.java |
| Convert BitSet to boolean[] for faster access in hot sorting loop | ChunkBufferSorter.java |
| Replace Object2ByteLinkedOpenHashMap with Long2ByteLinkedOpenHashMap | BlockOcclusionCache.java |
| Eliminate CachedOcclusionShapeTest class allocation by packing hash codes into long key | BlockOcclusionCache.java |
Thread Safety Improvements
| Improvement | File |
|---|---|
| Replace synchronized methods with ReadWriteLock for better concurrency | ClonedChunkSectionCache.java |
| Fast path with read lock for cache hits, write lock only for misses | ClonedChunkSectionCache.java |
| Proper double-check locking pattern after acquiring write lock | ClonedChunkSectionCache.java |
Bug Fixes and Safety Improvements
| Fix | File |
|---|---|
| Add integer overflow protection with Math.multiplyExact() | ChunkBufferSorter.java |
| Properly restore interrupt flag per Java best practices | ChunkBuilder.java |
| Add facing index bounds checking to prevent memory corruption | SectionRenderDataUnsafe.java |
| Defensive bounds check before accessing chunk sections array | ClonedChunkSectionCache.java |