Меню

Rhino

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

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

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

Файлы

Сбросить
Тип Название Загружен Размер Версия игры Загрузчик Скачивания
R
Forge
19 май 2022
1.0 Мб
1.18.2
276 раз
R
Fabric
19 май 2022
1.0 Мб
1.18.2
140 раз
R
Forge
13 май 2022
1.0 Мб
1.18.2
43.2 тыс. раз
R
Fabric
13 май 2022
1.0 Мб
1.18.2
22.3 тыс. раз
R
Forge
09 май 2022
1.0 Мб
1.18.2
20.7 тыс. раз
R
Fabric
09 май 2022
1.0 Мб
1.18.2
16.3 тыс. раз
R
Forge
09 май 2022
1.0 Мб
1.18.2
301 раз
R
Fabric
09 май 2022
1.0 Мб
1.18.2
142 раз
R
Forge
09 май 2022
1.0 Мб
1.18.2
218 раз
R
Fabric
09 май 2022
1.0 Мб
1.18.2
856 раз
R
Forge
10 апр 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
319 тыс. раз
R
Fabric
10 апр 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
406.6 тыс. раз
B
Forge
08 апр 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
859 раз
B
Fabric
08 апр 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
1.2 тыс. раз
B
Forge
29 мар 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
33.2 тыс. раз
B
Fabric
29 мар 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
35.9 тыс. раз
B
Forge
28 мар 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
172 раз
B
Fabric
28 мар 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
160 раз
B
Forge
28 мар 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
129 раз
B
Fabric
28 мар 2022
1.0 Мб
1.18 +2 Ещё: 1.18.11.18.2
94.2 тыс. раз

Зачем нужен 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 необходим прежде всего создателям модпаков, разработчикам скриптовых инструментов и игрокам, запускающим сборки с соответствующими зависимостями. Для обычного прохождения без таких надстроек библиотека не дает самостоятельных целей. Зато в технической сборке она становится важной частью архитектуры, позволяя переносить множество настроек из жестко написанного кода в более гибкие сценарии.