Меню

Rhino

Тематическая иллюстрация для Rhino

Кратко о проекте

Rhino - технический мод, который предоставляет среду выполнения JavaScript для других проектов Minecraft. Он не добавляет контент напрямую, зато служит фундаментом для скриптов, автоматизации и глубокой настройки сборок.

Файлы

Сбросить
Тип Название Загружен Размер Версия игры Загрузчик Скачивания
R
Forge
05 апр 2023
1.7 Мб
1.19.2
2.5 млн раз
R
Fabric +1 Ещё: Quilt
05 апр 2023
1.6 Мб
1.19.2
2 млн раз
R
Forge
14 ноя 2022
1.7 Мб
1.19.2
2.2 млн раз
R
Fabric +1 Ещё: Quilt
14 ноя 2022
1.6 Мб
1.19.2
1.8 млн раз
R
Forge
12 ноя 2022
1.7 Мб
1.19.2
1.1 тыс. раз
R
Fabric +1 Ещё: Quilt
12 ноя 2022
1.6 Мб
1.19.2
1.2 тыс. раз
R
Forge
06 ноя 2022
1.7 Мб
1.19.2
29.6 тыс. раз
R
Fabric +1 Ещё: Quilt
06 ноя 2022
1.6 Мб
1.19.2
70.3 тыс. раз
R
Forge
06 ноя 2022
1.6 Мб
1.18.2 +1 Ещё: 1.19
6.1 млн раз
R
Fabric +1 Ещё: Quilt
06 ноя 2022
1.6 Мб
1.18.2 +1 Ещё: 1.19
738.5 тыс. раз
R
Forge
05 ноя 2022
1.7 Мб
1.19.2
3.3 тыс. раз
R
Fabric +1 Ещё: Quilt
05 ноя 2022
1.6 Мб
1.19.2
243 раз
R
Forge
05 ноя 2022
1.6 Мб
1.18.2
5.9 тыс. раз
R
Fabric +1 Ещё: Quilt
05 ноя 2022
1.6 Мб
1.18.2
1.8 тыс. раз
R
Forge
01 ноя 2022
1.7 Мб
1.19.2
10.6 тыс. раз
R
Fabric +1 Ещё: Quilt
01 ноя 2022
1.6 Мб
1.19.2
1.2 тыс. раз
R
Forge
01 ноя 2022
1.6 Мб
1.18.2 +1 Ещё: 1.19
86.7 тыс. раз
R
Fabric +1 Ещё: Quilt
01 ноя 2022
1.6 Мб
1.18.2 +1 Ещё: 1.19
1.3 тыс. раз
R
Forge
09 окт 2022
1.7 Мб
1.19.2
295.5 тыс. раз
R
Fabric +1 Ещё: Quilt
09 окт 2022
1.6 Мб
1.19.2
119.6 тыс. раз

Зачем нужен Rhino

Rhino относится к библиотечным модам: его работа почти незаметна игроку, пока другой проект не обращается к встроенному JavaScript-движку. Главная задача библиотеки - выполнять скрипты и обеспечивать их взаимодействие с Java-кодом Minecraft. Благодаря этому разработчики могут создавать удобные инструменты настройки, не заставляя авторов сборок писать отдельный мод ради каждого изменения.

В игровом мире не появятся новые руды, мобы или механизмы только из-за наличия Rhino. Его ценность раскрывается в связке с модами, которые предоставляют скриптовые события и собственный программный интерфейс. Поэтому библиотеку стоит воспринимать не как самостоятельное приключение, а как технический слой под капотом сборки.

Роль в модпаке

Наиболее понятный пример применения дает KubeJS. Он позволяет авторам сборок описывать изменения через JavaScript, а Rhino отвечает за выполнение такого кода. Конкретный набор доступных событий, рецептов и объектов определяет уже надстройка, а не сам движок.

  • Для игроков: обеспечивает работу зависимых модов и подготовленных авторами скриптов.
  • Для сборщиков: дает основу для программируемой настройки контента и поведения модпака.
  • Для разработчиков: предоставляет адаптированную среду JavaScript с возможностью взаимодействия с Java.

Практический вывод прост: удалять Rhino как якобы бесполезную библиотеку не следует, если он указан среди зависимостей. Последствием обычно становится ошибка запуска или отказ скриптовой части сборки. При диагностике проблем полезно смотреть не только на Rhino, но и на код надстройки: синтаксическая ошибка в пользовательском скрипте не обязательно означает неисправность движка.

Сравнение с другими проектами

По назначению Rhino заметно отличается от CraftTweaker. CraftTweaker предлагает готовую систему изменения сборки и собственный сценарный язык, тогда как Rhino в первую очередь исполняет JavaScript для подключенных инструментов. ContentTweaker расширяет возможности создания контента в экосистеме CraftTweaker, поэтому тоже находится уровнем выше и решает прикладные задачи.

С библиотеками общего назначения разница не менее важна. Architectury API помогает разработчикам работать с общей кодовой базой на разных платформах, а Cloth Config API ориентирована на конфигурационные экраны. Rhino не заменяет ни один из этих проектов: его специализация - выполнение JavaScript и связь сценариев с модифицированной игрой.

Кому он действительно полезен

Rhino необходим прежде всего создателям модпаков, разработчикам скриптовых инструментов и игрокам, запускающим сборки с соответствующими зависимостями. Для обычного прохождения без таких надстроек библиотека не дает самостоятельных целей. Зато в технической сборке она становится важной частью архитектуры, позволяя переносить множество настроек из жестко написанного кода в более гибкие сценарии.