
GroovyScript
Скриптовый мод для Minecraft 1.12, позволяющий изменять игровые механики без создания полноценного мода. Использует язык Groovy, поддерживает перезагрузку скриптов на лету и совместим с большинством модов.
GroovyScript (сокращённо GrS) - это скриптовый мод для Minecraft 1.12, который даёт возможность менять различные механики игры, не пиша целый мод. Чаще всего его используют для создания новых рецептов, но на самом деле возможности куда шире.
Особенности
- Groovy - мощный и проверенный скриптовый язык. Синтаксис совместим с Java, код легко встраивается, поддерживается статическая компиляция и опциональная динамическая типизация. Можно использовать метапрограммирование.
- Песочница - скрипты выполняются в изолированной среде, опасные операции (вроде доступа к файловой системе) заблокированы.
- Перезагрузка на лету - изменения в скриптах можно тестировать прямо в игре без перезапуска. Большинство объектов Forge Registry перезагружаются мгновенно, и многие модные регистры поддерживаются из коробки.
- События - легко подписываться на шину событий Forge с помощью Groovy-замыканий.
- Bracket-хендлеры - для тех, кто знаком с CraftTweaker, доступны привычные обработчики (пока реализованы, но могут быть удалены в будущем).
- Информационные команды - выводят подробную информацию о предмете в руке и не только.
- Оптимизация - фичи реализованы без компромиссов по производительности.
- API - богатый набор инструментов для авторов других модов, чтобы сделать их совместимыми с GroovyScript (например, чёрные списки пакетов/классов/методов/полей).
Совместимость с модами
Технически GroovyScript совместим с любым модом, потому что вы можете напрямую обращаться к любому Java-коду. Однако для перезагрузки рецептов нужна ручная поддержка - это кропотливая работа. На данный момент мы поддерживаем перезагрузку рецептов для нескольких модов, но помощь сообщества в добавлении новых совместимостей и написании документации очень приветствуется.
Что важно знать
- Поддерживает ли мод X? Groovy может обратиться к любому Java-коду, так что почти всё "поддерживается", если вы знаете, как это сделать. Но перезагрузка рецептов для конкретного типа рецептов требует отдельной реализации.
- Можно ли добавить поддержку мода X? Скорее всего да. Мы планируем сделать GroovyScript совместимым с каждым популярным модом. Если вашего мода ещё нет, можно обратиться к нам.
- Почему файл мода такой большой? Потому что в него включены библиотеки Groovy, которые весят немало.
- Совместим ли GroovyScript с CraftTweaker и KubeJS? Да, но особого смысла в этом нет (разве что CraftTweaker пока поддерживает больше модов).
- Зачем использовать GroovyScript вместо CraftTweaker? Все причины перечислены в особенностях. Главный аргумент - перезагрузка скриптов на лету. Это колоссально ускоряет разработку и тестирование.
Если вы собираете модпак или хотите тонко настроить игру под себя - GroovyScript станет незаменимым инструментом. Скачайте мод и попробуйте сами!
