跳到正文

Oxidizium

Rewrites parts of Minecraft in Rust Lang

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

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

常见问题

Oxidizium 支持哪些 Minecraft 版本?

Oxidizium 支持 Minecraft Java 版 1.14.3–26.3,共 39 个版本,可用的加载器:Fabric / Quilt。下载时注意选择和你游戏版本一致的文件。

Oxidizium 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。

评论

登录后评论和评分

Tater Certified 的其他作品

查看全部 →