Guides / Commands & Data

Diyalog ekranları: Modsuz gerçek menüler oluşturma

Veri paketlerindeki diyaloglar, giriş alanları ve düğmeleri olan gerçek pencereler sunar. İşte JSON yapısı, bir düğmenin komut çalıştırma şekli ve kitap menüsü hilesiyle karşılaştırması.

Sunucu menüleri eskiden tıklanabilir sayfalara sahip yazılı kitaplar veya eşya çerçeveleriyle taklit edilen bir Sandık arayüzü (GUI) ile yapılırdı. Diyaloglar, her ikisinin de yerini gerçek bir ekranla aldı.

Diyalog nedir

Bir veri paketinde bir pencereyi tanımlayan bir JSON dosyası:

data/<namespace>/dialog/welcome.json
{
  "type": "minecraft:notice",
  "title": { "text": "Welcome" },
  "body": [{ "type": "minecraft:plain_message",
             "contents": { "text": "Pick a class to begin." } }],
  "action": { "label": { "text": "Continue" } }
}

Ardından /dialog show @p my_pack:welcome.

Türleri

TürŞekil
noticemetin artı bir kapatma düğmesi
confirmationevet / hayır, her birinin kendi eylemi var
multi_actiondüğmelerden oluşan bir ızgara
server_linksyerleşik bağlantılar listesi
dialog_listdiğer diyalogları açan bir menü

multi_action işin yükünü çeker; sınıf seçici, dükkan, ışınlanma listesi gibi işlevleri görür.

Düğmeler komut çalıştırır

{ "label": { "text": "Warp to spawn" },
  "action": { "type": "minecraft:run_command", "command": "/spawn" } }

Sohbetteki clickEvent gibi, bu komut tıklayan Oyuncu adına, onların izin seviyesinde çalışır. Sadece operatörlerin kullanabileceği bir komutu çağıran bir düğme, normal bir Oyuncu için hiçbir şey yapmaz. Standart çözüm, bir trigger hedefidir: düğme /trigger warp set 1 komutunu çalıştırır ve bir tikleme fonksiyonu ayrıcalıklı kısmı yapar.

Girişler

"inputs": [
  { "type": "minecraft:text", "key": "name", "label": { "text": "Your name" }, "max_length": 16 },
  { "type": "minecraft:boolean", "key": "pvp", "label": { "text": "Enable PvP" } },
  { "type": "minecraft:single_option", "key": "class", "options": [
      { "id": "mage", "display": { "text": "Mage" } },
      { "id": "rogue", "display": { "text": "Rogue" } } ] }
]

Değerler, düğmenin çağırdığı fonksiyona makro argümanları olarak gelir, bu nedenle alan fonksiyon bir makrodur:

$say Welcome $(name), you chose $(class)

Satırdaki $ öneki ve yerine koyma için $(key). Bu, tüm bağlama mekanizmasıdır ve diyalogları dekoratif olmaktan ziyade gerçekten kullanışlı kılan şey budur.

Neden kitap hilesinden daha iyi

  • Bu bir ekran, bu yüzden sohbet geçmişinde durmak yerine girişi duraklatır.
  • Girişler gerçekten var. Bir kitap sadece bağlantılar sunabilirdi.
  • Eşya gerektirmez. Kaybedilecek, düşürülecek veya kopyalanacak hiçbir şey yok.
  • Temiz bir şekilde kapanır ve geri kaydırılamaz.

Kitapların hala daha iyi yaptığı tek şey uzun metin okumaktır; bir diyalog gövdesi, üç sayfalık bir hikaye için iyi bir yer değildir.

Yol noktası stilleri

Aynı araç, izlenen bir Oyuncu veya konum için gösterilen işaretçi rengini ve sprite'ını kontrol eden ayrı bir veri paketi kaydı olan konum belirleyici çubuğu yol noktalarını da kapsar. Bir bossbar'ın çok rahatsız edici olacağı takım işaretleyicileri için kullanışlıdır.

Giriş ve düğmelerle diyalog ekranları oluşturun ve yol noktası stillerini özelleştirin: Diyalog Girişi ve Yol Noktası Stili Oluşturucu.

Diyalog ve yol işareti kurucusu →

More guides

Browse all →

Başka Minecraft aracı mı arıyorsunuz?

Tarayıcıda çalışan üreteç, görüntüleyici ve dönüştürücü seti — hepsi ücretsiz.