Opal'ın GraalVM Betik Motorunu Tanıtıyoruz

Opal'ın dahili API'leriyle etkileşim kuran özel JavaScript kodları yazın. Görevleri otomatikleştirin, oyun olaylarına tepki verin, kendi HUD'nuzu çizin ve istemciyi çalışma zamanında genişletin.

FeaturesMarch 15, 2026by trq· Updated June 3, 2026

Opal, GraalVM JavaScript motorunu, Minecraft istemcisinin içinde çalışan tam bir JS çalışma zamanını gönderiyor. Oyun açıkken Opal'ın dahili API'leriyle etkileşim kuran komut dosyaları yazarsınız. Bu bir makro kaydedici veya bir kısayol sistemi değildir. İstemcinin olay sistemine, modül ayarlarına ve oyun durumuna erişebilen gerçek bir programlama ortamıdır.

Key takeaways
  • Tam bir GraalVM JavaScript çalışma zamanı, yalnızca bir makro kaydedici değil.
  • Oyun olaylarına tepki verin, modül ayarlarını değiştirin ve kendi HUD'unuzu çizin.
  • Betikler çalışma zamanında yüklenir, yeniden başlatmaya gerek yoktur ve Opal'ın API'lerine göre güvenli bir şekilde çalışır.
  • Diğer çoğu istemci temel makrolarda durur.

Neden GraalVM

GraalVM, Oracle tarafından sunulan çok dilli bir çalışma zamanıdır. Bunu seçmemizin somut nedenleri var:

  • Hız: JIT derlemesi, betikleri her döngüde yeterince hızlı çalışır hale getirir.
  • JavaScript: Çoğu kişi zaten biliyor, bu nedenle öğrenme eğrisi kısadır.
  • İş parçacığı güvenliği: JS-Java bağlamaları, sizi takılıp düşmekten alıkoymak yerine eşzamanlılığı düzgün bir şekilde yönetir.
  • Tanıdık kalıplar: Standart JavaScript API'leri beklendiği gibi davranır.

Neler Yapabilirsiniz

Özel otomasyon

Oyun içi olaylara yanıt verin:

// Auto-respond to certain chat messages
on('chat', (event) => {
  if (event.message.includes('1v1?')) {
    sendChat('/duel accept');
  }
});

Dinamik modül yapılandırması

Oyun durumuna göre modül ayarlarını değiştirin:

// 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);
  }
});

Özel HUD öğeleri

Kendi üst üste bindirmelerinizi çizin:

// 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);
});

Sunucuya özel profiller

Farklı sunuculara katıldığınızda yapılandırmaları otomatik olarak değiştirin:

on('serverJoin', (event) => {
  if (event.ip.includes('pvp.example.com')) {
    loadConfig('server-bypass');
  } else {
    loadConfig('ghost-default');
  }
});

Başlangıç

1

Betikleri dizinini aç

Opal yapılandırma klasörünüzdeki betik dizinini bulun
2

.js dosyası oluşturun

Her isim işe yarar. Bu senin senaryon
3

API'ye karşı yaz

Gösterge panelindeki dokümanlarda API referansını kullanın: olaylar, modül erişimi, oyuncu durumu ve işleme
4

Kaydet ve oyna

Komut dosyaları çalışma zamanında yüklenir, bu nedenle yeniden başlatmaya gerek yoktur

Komut dosyaları güvenli ortamda çalışır

Komut dosyaları GraalVM içinde yürütülür ve Opal'ın API'lerini çağırabilir, ancak dosya sisteminize, ağınıza veya diğer uygulamalarınıza erişemezler. Komut dosyalarınız yerel kalır ve makineniz sizin kalır.

Topluluk Betikleri

Betik topluluğu büyüyor. Discord, kendi betiklerinizi yazmanıza yardımcı olacak betikler ve kişiler paylaştı. Yaygın olanlar arasında mini oyunlar için otomatik oyun betikleri, istatistik takipçileri, kombo algılama ve sunucuya özel yapılandırma değiştiriciler bulunur.

Sıkça Sorulan Sorular

Senaryo yazabileceğiniz bir müşteri edinin, $8.99

Ömür boyu lisans · anında teslimat · abonelik yok