Меню

Rhino

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

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

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

Файлы

Сбросить
Тип Название Загружен Размер Версия игры Загрузчик Скачивания
R
Fabric +1 Ещё: NeoForge
02 авг 2024
0.9 Мб
1.21
166.3 тыс. раз
R
Fabric +1 Ещё: NeoForge
22 июл 2024
0.9 Мб
1.21
51.9 тыс. раз
R
Fabric +1 Ещё: NeoForge
03 июл 2024
0.9 Мб
1.21
70.5 тыс. раз
R
Fabric +1 Ещё: NeoForge
02 июл 2024
0.9 Мб
1.21
556 раз
R
Fabric +1 Ещё: NeoForge
26 июн 2024
0.9 Мб
1.21
8.9 тыс. раз
R
Forge
12 дек 2023
1.6 Мб
1.19.2
3.3 млн раз
R
Fabric +1 Ещё: Quilt
12 дек 2023
1.6 Мб
1.19.2
156.6 тыс. раз
R
Fabric +1 Ещё: Quilt
10 дек 2023
1.6 Мб
1.19.2
260 раз
R
Forge
09 дек 2023
1.7 Мб
1.20.1
7.7 млн раз
R
Fabric +1 Ещё: Quilt
09 дек 2023
1.7 Мб
1.20.1
250.7 тыс. раз
R
Forge
07 ноя 2023
1.7 Мб
1.20.1
621.9 тыс. раз
R
Fabric +1 Ещё: Quilt
07 ноя 2023
1.7 Мб
1.20.1
8.2 тыс. раз
R
Forge
19 окт 2023
1.7 Мб
1.19.2
2.2 млн раз
R
Fabric +1 Ещё: Quilt
19 окт 2023
1.6 Мб
1.19.2
685.4 тыс. раз
R
Forge
19 окт 2023
1.7 Мб
1.20.1
310.7 тыс. раз
R
Fabric +1 Ещё: Quilt
19 окт 2023
1.7 Мб
1.20.1
99 раз
R
Forge +1 Ещё: NeoForge
03 сен 2023
1.7 Мб
1.20.1
496.9 тыс. раз
R
Fabric +1 Ещё: Quilt
03 сен 2023
1.7 Мб
1.20.1
24.8 тыс. раз
R
Forge
21 авг 2023
1.7 Мб
1.19.2
812.5 тыс. раз
R
Fabric +1 Ещё: Quilt
21 авг 2023
1.6 Мб
1.19.2
274.1 тыс. раз

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