Jasione
by decce6
Jasione cuts memory allocation for enum-heavy code by redirecting cloned Enum#values arrays to a cache where the array is never changed.
What it does
Each enum class gets a values() method that returns a fresh array on every call, so that callers can mutate it safely. In hot code paths those small allocations add up and raise garbage collection pressure. Jasione rewrites only the values() calls that do not modify the returned array, so they read from a cache instead of copying it each time. Calls whose array is changed or escapes the method are left alone, which keeps the original behavior intact.
The mod is published for Fabric, Forge, NeoForge and Quilt across 30 release versions, 1.18.2 – 26.3 in the listed game version range, with the latest builds for 26.3 on Fabric, NeoForge and Quilt and 1.20.6 on Forge. Jasione is open source under the GNU Lesser General Public License v3.0 only, and either side can run it, so it is optional on clients and servers alike.
Jasione relies on the asm-analysis library to inspect bytecode and find which calls are safe to optimize. The JIT compiler does not remove the overhead on its own, even for simple loops over the values array, according to JMH tests cited by the author. On the latest NeoForge, a warning may appear, which the author describes as a prompt to confirm that the transformation is needed.
Key features
Cached enum values
Calls to values() that do not change the returned array read from a cache instead of cloning the array.
Escape and mutation checks
Bytecode analysis detects when the array is modified or escapes, and those calls keep the original cloning behavior.
Fewer small allocations
Removing the per-call array copy reduces the number of short-lived objects created in frequently called code.
Bytecode-level transformation
The change is applied to compiled classes using the asm-analysis library, not to the game source.
Compatibility
Latest build for each game version and loader.
26.x5 of 5 versions with builds
1.21.x12 of 12 versions with builds
1.20.x7 of 7 versions with builds
1.19.x5 of 5 versions with builds
1.18.x1 of 1 version with builds
Only full game releases are shown. This mod publishes no snapshot builds.
How it compares
Redirected is a client and server mod for Fabric, Forge and NeoForge, covering 1.20 – 1.21.1, under the same GNU Lesser General Public License v3.0 only. Lomka is published for Fabric, Forge, NeoForge, Quilt and Ornithe, covering 1.7.10 – 26.3, and it works on either side, and neither needs it. MemGuard is a client and server mod for Fabric, Forge and NeoForge, covering 1.20 – 1.21.11, and it is not open source, with the license set to All rights reserved.
| Mod | Loaders | Game versions | Environment | Updated |
|---|---|---|---|---|
| Jasione | Fabric, Forge, NeoForge and Quilt | 1.18.2 – 26.3 | Client or server, optional | 2026-10-02 |
| Redirected | Fabric, Forge and NeoForge | 1.20 – 1.21.1 | Client and server | 2025-02-02 |
| Lomka | Fabric, Forge, NeoForge, Quilt and Ornithe | 1.7.10 – 26.3 | Client or server, optional | 2026-10-10 |
| MemGuard | Fabric, Forge and NeoForge | 1.20 – 1.21.11 | Client and server | 2026-06-03 |
Questions
Does Jasione need to be installed on both the client and the server?
Which loaders does Jasione support?
Why does the NeoForge warning appear?
In the catalog
Jasione is one of 3,545 Optimization mods on ModsFinder, and one of 2,575 Optimization mods for Fabric. 8,071 mods support Minecraft 26.3.
More from decce6
Similar mods
What the author says
Jasione is an optimization mod that reduces memory allocation (GC pressure). The Java compiler generates, for each enum class, a values() method that can be used to retrieve all enum values as an array. This method clones the array before returning it, ensuring that callers of this method can safely mutate the array…
Official listing
- Modrinth page
- modrinth.com/mod/jasione
- Owner
- decce6
- Published
- 2026-07-02
- Updated on Modrinth
- 2026-10-02
- Facts verified
- 2026-10-15
