Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Oxidizium - Inject Ferris into your server! 🦀
Summary
This Fabric mod replaces certain Minecraft Java Edition methods with native rust equivalents. Every rust function is tested with the in-house testing utility to ensure that it is functionally equal to vanilla Minecraft. This mod is intended to be used server-side, but can be used on the client (with minor rendering bugs).
Currently, this mod replaces the following Java classes with Rust:
- MathHelper
Many more classes are planned in the future, however mostly low-level classes will be tackled in the beginning.
Compatibility
As of now, Oxidizium is very compatible with the majority of mods, with specific compatibility with Lithium. Feel free to PR any of your own Rust native code!
Backends
Oxidizium comes with 3 backends by default: Panama, Nalim, and Membrane. The backend will be in the jar and mod name. Each backend is slightly different, so read about them below:
Project Panama
Project Panama is a Java 22+ feature that allows for low latency native code execution. This works on any Minecraft version from 1.14.3 to modern MC.
Usage
You must install Java 22 or above to use Project Panama!
The following JVM arguments are recommended, but not currently required for Java 25 and below:
--enable-preview --enable-native-access=ALL-UNNAMED
Using a newer Java version is likely to improve performance more than Java 22. I recommend using GraalVM for the
best performance, however be warned that it is possible (though very unlikely) that GraalVM could break mods. Use a
distribution such as Temurin if you want to be completely safe.
Nalim
Nalim is a 3rd-party library that enables near-native latency when executing native code. It is roughly 3x faster than Project Panama for leaf (quick) calls and was ~50x faster vs pre-FFM Panama on JDK 19, per the Nalim README.
Nalim historically broke on Java 21+ because Loom JEP 444 made the JVMCI nmethod entry barrier mandatory for every GC.
Oxidizium ships a Nalim jar patched by FurryMileon that emits a "no-op" barrier sequence after the tail-call so JVMCI validation passes
without any runtime overhead — the barrier bytes are dead code (placed after jmp rax / br x9).
Usage
The following JVM arguments are required to run Nalim: -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
Membrane
Membrane works similar to Nalim, though may not be as affective as Nalim (benchmarks soon). It is an experimental backend and is not recommended to be used in production. Like Nalim, it used to require Java 20 and below, but thanks to an included patched Membrane jar by QPCrummer, it works great in all Minecraft versions using Java 21 and 25!
Usage
The following JVM arguments are required to run Nalim: -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
The following JVM argument is recommended, but not required yet: -XX:+EnableDynamicAgentLoading


