MC Toolkit

Rehberler / Komutlar ve Veriler

/tellraw metin bileşenleri: click_event, hover_event ve mesajınız neden hiçbir şey göstermiyor

Tek bir yanlış parantez, tellraw'ın hedeflerine hiçbir şey göndermemesine yol açar. İşte bileşen yapısı, sohbette gerçekten çalışan tıklama ve üzerine gelme eylemleri ve insanların gözden kaçırdığı kaçış kuralı.

/tellraw bir metin bileşeni alır ve başarısızlık durumu hiç de yardımcı değildir: hatalı biçimlendirilmiş bir bileşen hedeflediği hiç kimseye mesaj göstermez — tek hata, komutu çalıştırana ya da kimsenin bakmadığı bir komut bloğunun çıktısına gider. Aşağıdaki her şey, yapıyı ilk seferde doğru kurmakla ilgili.

Üç geçerli yapı

"plain string"
{"text":"one component"}
["joined ",{"text":"list","color":"gold"}]

Liste biçimi, ilginç olan her şey için kullanmanız gereken biçimdir, çünkü her öğe kendi biçimlendirmesini taşıyabilir. İlk öğenin biçimlendirmesi, geçersiz kılmadıkları sürece diğerleri tarafından devralınır — insanların tüm mesajı beklenmedik şekilde altın rengi almasının nedeni budur. Bunu önlemek için listeye boş bir dizeyle başlayın:

/tellraw @a ["",{"text":"Warning: ","color":"red"},{"text":"low health"}]

Tıklama eylemleri

click_event bir eylem ve o eylemin kendi alanını alır — paylaşılan bir value yoktur:

EylemAlanNot
run_commandcommand: "/spawn"Oyuncu olarak, kendi izin seviyesinde çalıştırır
suggest_commandcommand: "/msg Steve "Sohbet kutusunu doldurur, göndermez
open_urlurl: "https://…"Açmadan önce onay ister
copy_to_clipboardvalue: "any text"Koordinat paylaşmak için en kullanıcı dostu olanı
change_pagepage: 2Yalnızca Kitaplar

run_command bir tuzak içerir: komut bloğunun değil, tıklayan oyuncunun izinleriyle çalışır. /gamemode creative çağıran bir menü, normal bir oyuncu için hiçbir şey yapmaz.

Üzerine gelme eylemleri

"hover_event":{"action":"show_text","value":["Click to teleport"]}

show_text, show_item ve show_entity. Adlara dikkat edin — eski rehberler 1.21.5'in hover_event, click_event ve show_text için value ile değiştirdiği hoverEvent, clickEvent ve contents adlarını kullanır. Bu yeniden adlandırma, eğitimlerden kopyalanan çok sayıda çalışmayan üzerine gelme ipucunu açıklar.

Kaçış karakterleri işte burada bozulur

Bileşenin tamamı tek bir komut argümanıdır, bu yüzden içindeki tırnaklar komut ayrıştırıcısından sağ çıkmalıdır. Bir komut bloğunda doğrudan yazın. Bir fonksiyon dosyasında ters eğik çizgiyle kaçış gerekmez. Bir /give Yazılı Kitap'ta sayfalar da metin bileşenleridir ve SNBT olarak yazılır — 1.21.5'ten beri dize içinde dize kaçışı yoktur ve hâlâ kaçışlı JSON dizesi olarak yazılan bir sayfa artık tırnaklarıyla birlikte düz metin olarak görünür.

Pratik kural: metin bileşenlerini bir eşya bileşeninin içine yerleştiriyorsanız, elle değil bir araçla oluşturun.

Metin içindeki seçiciler

{"selector":"@p","separator":{"text":", "}}

gönderim anında oyuncu adlarına çözümlenir. {"score":{"name":"@s","objective":"Kills"}} bir skorboard değeri çeker. İkisi de değerleri kendiniz birleştirmeye çalışmaktan iyidir.

Çeviri anahtarları diller arasında geçerlidir

{"translate":"block.minecraft.crafting_table"}

her oyuncunun kendi dilinde görüntülenir — Korece bir istemci için 제작대, Japonca bir istemci için 作業台. Çok dilli bir sunucu için bu, İngilizceyi sabit kodlamaktan kesinlikle daha iyidir.

Metin ve görüntüleme komutlarını Metin ve Görüntüleme Komutu Oluşturucu ile oluşturup önizleyin.

Metin ve gösterim komut kurucusu →

Daha fazla rehber

Tümünü gör →