Rhizo для Minecraft: обновлённый движок скриптов KubeJS

Rhizo — обновлённый форк Rhino с поддержкой remapper, enum и Java Generics. Узнайте, как установить Rhizo для Minecraft и скачать мод.

Rhizo для Minecraft: обновлённый движок скриптов для KubeJS

Если вы когда-нибудь писали скрипты на KubeJS и сталкивались с загадочными именами вроде func_110455_j(), то вы поймёте, зачем нужен Rhizo. Это обновлённый форк движка Rhino, который возвращает к жизни давно заброшенную ветку для Minecraft 1.16.5 и приносит целый ворох новых возможностей. Проще говоря, Rhizo для Minecraft делает написание скриптов куда приятнее и понятнее.

Что такое Rhizo и зачем он нужен

Rhizo — это не самостоятельный мод в привычном смысле, а движок JavaScript, на котором работает KubeJS. Оригинальный Rhino для версии 1.16.5 давно перестал получать обновления, и многие баги так и остались неисправленными. Rhizo решает эту проблему: он берёт за основу старый код, чинит ошибки и добавляет функции, которых раньше не было.

Главная фишка — поддержка remapper. Раньше, чтобы обратиться к методу getOpPermissionLevel() из класса MinecraftServer, приходилось писать func_110455_j() — имя, которое ничего не говорит человеку. С Rhizo вы вызываете метод по его нормальному, читаемому имени MCP. Это экономит время и нервы, особенно когда скрипт разрастается до сотен строк.

Ключевые нововведения Rhizo

Remapper и поддержка ProbeJS Legacy

Remapper не просто переименовывает методы — он полностью меняет подход к работе. Вместе с ProbeJS Legacy 3.2.0 вы получаете дамп remapped-имён, что даёт автодополнение и подсказки типов прямо в редакторе. Учтите: оригинальные SRG-имена намеренно скрыты, так что если в вашем старом скрипте использовались func_12345_ab_, их придётся заменить на человеческие названия.

Расширенная поддержка enum

Теперь имя или индекс перечисления может заменять сам enum в вызовах методов и присваиваниях. Можно писать enum == "some_enum_name" или enum == 1, не импортируя перечисление отдельно. Мелочь, а код становится чище.

Java Generics, rest-параметры и новые операторы

Улучшенная поддержка Java Generics делает type wrapper рабочим в большем числе случаев. Появились rest-параметры в функциях, итерация по Java Iterable через for..of, операторы опциональной цепочки (a ?. b) и nullish coalescing (a ?? b). Также работают Object.entries() и Object.values().

Исправления и лицензия

Починен JSON-вывод для Iterable: JSON.stringify() теперь корректно обрабатывает все элементы массива, а не только первый, как было в старом Rhino. Rhizo сохраняет имена параметров при компиляции, что заметно упрощает отладку. Проект распространяется под лицензией MPL-2.0.

Совместимость и загрузчики

Rhizo ориентирован на Minecraft 1.16.5 и работает через Forge. Именно для этой версии он и создавался, поскольку оригинальный Rhino здесь официально признан EOL. Если вы сидите на более новых версиях, скорее всего, вам подойдут другие решения, но для 1.16.5 Rhizo — практически безальтернативный вариант.

Кстати, если не хочется возиться с ручной установкой, лаунчер foxygame.net предлагает установку Rhizo в один клик — движок подтянется вместе с нужной версией KubeJS автоматически, и вам не придётся искать совместимые сборки вручную.

Как установить Rhizo

Установка не требует глубоких знаний. Вот базовый порядок действий:

  • Убедитесь, что у вас установлен Minecraft 1.16.5 с Forge.
  • Скачайте Rhizo для Minecraft из официального источника или через лаунчер.
  • Поместите файл в папку mods вашего профиля.
  • Установите KubeJS и, при желании, ProbeJS Legacy 3.2.0 для подсказок типов.
  • Запустите игру и проверьте работу скриптов в папке kubejs.

Если вы использовали SRG-имена в старых скриптах, обязательно отредактируйте их под remapped-названия, иначе код не заработает.

Стоит ли скачать Rhizo

Rhizo — это грамотное решение для тех, кто продолжает играть и разрабатывать на Minecraft 1.16.5. Читаемые имена методов, поддержка enum, новые операторы и исправленные баги делают написание скриптов заметно комфортнее. Если вы работаете с KubeJS на этой версии, скачать Rhizo однозначно имеет смысл: движок живой, развивается и закрывает дыры, которые оригинальный Rhino оставил навсегда.

===ARTICLE===