Oxidizium
Переписывает части Minecraft на Rust Lang
- Загрузчики
- FabricQuilt
- Скачиваний на Modrinth
- 14,1 тыс.
- Подписчиков на Modrinth
- 92
- версии
- 23
- Обновлён
- 19 сентября 202619 сент.
- Опубликован
- в 2025
Коротко о моде
Работает и в игре, и на сервере — ставьте, где нужен
Oxidizium — внедри Ferris на свой сервер! 🦀
Краткое описание
Этот мод для Fabric заменяет некоторые методы Minecraft Java Edition на нативные аналоги на Rust. Каждая функция на Rust протестирована с помощью внутренней утилиты тестирования, чтобы убедиться, что она функционально идентична ванильному Minecraft. Мод предназначен для использования на стороне сервера, но может применяться и на клиенте (с небольшими багами рендеринга).
На данный момент мод заменяет следующие Java-классы на Rust:
- MathHelper
В будущем планируется гораздо больше классов, однако поначалу будут затронуты в основном низкоуровневые классы.
Совместимость
На данный момент Oxidizium очень совместим с большинством модов, с особой совместимостью с Lithium. Не стесняйтесь присылать PR со своим нативным кодом на Rust!
Бэкенды
Oxidizium по умолчанию поставляется с 3 бэкендами: Panama, Nalim и Membrane. Бэкенд будет указан в названии jar-файла и мода. Каждый бэкенд немного отличается, поэтому читайте о них ниже:
Project Panama
Project Panama — это функция Java 22+, позволяющая выполнять нативный код с низкой задержкой. Работает на любой версии Minecraft от 1.14.3 до современных.
Использование
Для использования Project Panama необходимо установить Java 22 или выше! Следующие аргументы JVM рекомендуются, но на данный момент не требуются для Java 25 и ниже: --enable-preview --enable-native-access=ALL-UNNAMED Использование более новой версии Java, скорее всего, улучшит производительность сильнее, чем Java 22. Я рекомендую использовать GraalVM для наилучшей производительности, однако учтите, что GraalVM может (хотя и крайне маловероятно) сломать моды. Используйте такой дистрибутив, как Temurin, если хотите быть полностью в безопасности.
Nalim
Nalim — это сторонняя библиотека, обеспечивающая почти нативную задержку при выполнении нативного кода. Она примерно в 3 раза быстрее Project Panama для листовых (быстрых) вызовов и была ~в 50 раз быстрее по сравнению с pre-FFM Panama на JDK 19, согласно Nalim README.
Исторически Nalim ломался на Java 21+, потому что Loom JEP 444 сделал барьер входа nmethod JVMCI обязательным для каждого GC. Oxidizium поставляет Nalim jar, пропатченный FurryMileon, который выдаёт «no-op» последовательность барьера после tail-call, чтобы валидация JVMCI проходила без каких-либо накладных расходов во время выполнения — байты барьера являются мёртвым кодом (размещены после jmp rax / br x9).
Использование
Следующие аргументы JVM обязательны для запуска Nalim: -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
Membrane
Membrane работает аналогично Nalim, хотя может быть не столь эффективен, как Nalim (бенчмарки скоро). Это экспериментальный бэкенд, и его не рекомендуется использовать в продакшене. Как и Nalim, он раньше требовал Java 20 и ниже, но благодаря включённому пропатченному Membrane jar от QPCrummer он отлично работает во всех версиях Minecraft на Java 21 и 25!
Использование
Следующие аргументы JVM обязательны для запуска Membrane: -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI Следующий аргумент JVM рекомендуется, но пока не обязателен: -XX:+EnableDynamicAgentLoading
Частые вопросы
Как установить Oxidizium?
Установите Fabric под свою версию Minecraft, скачайте Oxidizium под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Oxidizium?
У Oxidizium есть сборки для Minecraft 1.14.3–1.20.4, 1.21.4–26.3.
Нужен ли Oxidizium на сервере?
Работает и в игре, и на сервере — ставьте, где нужен