Oxidizium

Oxidizium

Rewrites parts of Minecraft in Rust Lang

13 971 downloads 99 followers

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 Membrane: -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI The following JVM argument is recommended, but not required yet: -XX:+EnableDynamicAgentLoading

No gallery available for this project.

Version Minecraft Loader Download

Oxidizium 1.3.2

mc26.3-1.3.2-panama

26.3
fabric, quilt
Download

Oxidizium 1.3.2

mc26.3-1.3.2-membrane

26.3
fabric, quilt
Download

Oxidizium 1.3.2

mc26.3-1.3.2-nalim

26.3
fabric, quilt
Download

Oxidizium 1.3.1 For MC 26.x+

mc26.2-1.3.1-panama

26.1, 26.1.1, 26.1.2, 26.2
fabric, quilt
Download

Oxidizium 1.3.1 for MC 26.x+

mc26.2-1.3.1-membrane

26.1, 26.1.1, 26.1.2, 26.2
fabric, quilt
Download

Oxidizium 1.3.1 for MC 26.x+

mc26.2-1.3.1-nalim

26.1, 26.1.1, 26.1.2, 26.2
fabric, quilt
Download

Oxidizium 1.3.0 Nalim

1.3.0-nalim

26.1, 26.1.1, 26.1.2, 26.2
fabric, quilt
Download

Oxidizium 1.3.0 Membrane

1.3.0-membrane

26.1, 26.1.1, 26.1.2, 26.2
fabric, quilt
Download

Oxidizium 1.3.0 Panama

1.3.0-panama

26.1, 26.1.1, 26.1.2, 26.2
fabric, quilt
Download

Oxidizium Panama 1.2.1

1.2.1-panama

26.1, 26.1.1, 26.1.2, 26.2
fabric, quilt
Download

Oxidizium Membrane 1.2.0

1.2.0-membrane

1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4
fabric, quilt
Download

Oxidizium Nalim 1.2.0

1.2.0-nalim

1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4
fabric, quilt
Download

Oxidizium Panama 1.2.0

1.2.0-panama

26.1, 26.1.1, 26.1.2, 26.2
fabric, quilt
Download

Oxidizium 1.1.3

1.1.3

1.21.11
fabric, quilt
Download

Oxidizium 1.1.2

1.1.2

1.21.10, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
fabric, quilt
Download

Oxidizium 1.1.1

1.1.1

1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8
fabric, quilt
Download

Oxidizium 1.1.0

1.1.0

1.21.6
fabric, quilt
Download

Oxidizium 1.0.0

1.0.0

1.21.4, 1.21.5
fabric, quilt
Download

Oxidizium 1.0.0-alpha.1 Mac x64

1.0.0-alpha.1-mac-x86

1.21.4
fabric, quilt
Download

Oxidizium 1.0.0-alpha.1 Linux arm

1.0.0-alpha.1-linux-arm

1.21.4
fabric, quilt
Download

Oxidizium 1.0.0-alpha.1 Linux x64

1.0.0-alpha.1-linux-x64

1.21.4
fabric, quilt
Download

Oxidizium 1.0.0-alpha.1 Mac ARM

1.0.0-alpha.1-mac-arm

1.21.4
fabric, quilt
Download

Oxidizium 1.0.0-alpha.1 Windows x64

1.0.0-alpha.1-win-x64

1.21.4
fabric, quilt
Download