Opal поставляется с движком JavaScript GraalVM, полноценной средой выполнения JS, работающей внутри клиента Minecraft. Вы пишете скрипты, которые взаимодействуют с внутренними API Opal во время игры. Это не макро-рекордер и не система привязки клавиш. Это настоящая среда программирования с доступом к системе событий клиента, конфигурациям модулей и состоянию игры.
- Полная среда выполнения JavaScript GraalVM, а не просто макро-рекордер.
- Реагируйте на игровые события, изменяйте настройки модулей и рисуйте собственный HUD.
- Скрипты загружаются во время выполнения, без перезапуска, и работают в изолированной среде с использованием API Opal.
- Большинство других клиентов ограничиваются базовыми макросами.
Почему GraalVM
GraalVM — это полиглотный runtime от Oracle. Мы выбрали его по конкретным причинам:
- Скорость: JIT-компиляция поддерживает скрипты достаточно быстрыми, чтобы они выполнялись каждый тик.
- JavaScript: большинство людей уже знают его, поэтому кривая обучения не очень крутая.
- Потокобезопасность: привязки JS к Java корректно обрабатывают параллелизм, вместо того чтобы заставлять вас спотыкаться о него.
- Знакомые шаблоны: стандартные JavaScript API работают так, как вы ожидаете
Что вы можете построить
Пользовательская автоматизация
Реагировать на события в игре:
// Auto-respond to certain chat messages
on('chat', (event) => {
if (event.message.includes('1v1?')) {
sendChat('/duel accept');
}
});Динамическая настройка модулей
Изменить настройки модуля в зависимости от состояния игры:
// Increase reach when health is low
on('tick', () => {
const health = player.getHealth();
if (health < 8) {
modules.get('Reach').setSetting('distance', 3.3);
} else {
modules.get('Reach').setSetting('distance', 3.1);
}
});Пользовательские элементы интерфейса
Рисуйте собственные наложения:
// Display a combo counter on screen
let combo = 0;
on('attackEntity', () => { combo++; });
on('damage', () => { combo = 0; });
on('render2d', (ctx) => {
ctx.drawText(`Combo: ${combo}`, 10, 10, 0xFFFFFF);
});Профили для конкретного сервера
Автоматически переключайте конфигурации при подключении к разным серверам:
on('serverJoin', (event) => {
if (event.ip.includes('pvp.example.com')) {
loadConfig('server-bypass');
} else {
loadConfig('ghost-default');
}
});Начало
Открыть папку со скриптами
Найдите папку со скриптами в вашей папке конфигурации Opal.
Создайте файл .js
Пишите против API
Сохранить и играть
Скрипты выполняются в изолированной среде
Скрипты выполняются внутри GraalVM и могут вызывать API Opal, но не имеют доступа к вашей файловой системе, сети или другим приложениям. Ваши скрипты остаются локальными, а ваша машина — вашей.
Скрипты сообщества
Сообщество сценаристов растёт. На Discord были опубликованы скрипты и люди, готовые помочь вам написать свои собственные. Наиболее распространённые из них включают в себя скрипты для автоматизации игр в мини-играх, трекеры статистики, детекторы комбо и переключатели конфигураций, специфичные для сервера.
Часто задаваемые вопросы
GraalVM, корпоративная среда выполнения JavaScript от Oracle, с потокобезопасными игровыми привязками.
Нет. Они ограничены только API Opal.
Нет. Просто поместите файл, и он загрузится во время выполнения.
Lifetime license · instant delivery · no subscription