/tellraw JSON metni: clickEvent, hoverEvent ve mesajınızın neden görünmediği
Tek bir yanlış parantez, tellraw'ın sessizce başarısız olmasına neden olur. İşte bileşen şekli, sohbette gerçekten çalışan tıklama ve üzerine gelme eylemleri ve insanların gözden kaçırdığı kaçış kuralı.
/tellraw bir JSON metin bileşeni alır ve hata modu yardımcı olmaz: hatalı biçimlendirilmiş bir bileşen mesaj veya hata üretmez. Aşağıdaki her şey, şekli ilk seferde doğru yapmaya yöneliktir.
Üç geçerli şekil
"plain string"
{"text":"one component"}
["joined ",{"text":"list","color":"gold"}]
Liste formu, ilginç herhangi bir şey için kullanılacak olandır, çünkü her öğe kendi biçimlendirmesini taşıyabilir. İlk öğenin biçimlendirmesi, diğerleri tarafından geçersiz kılınmadıkça miras alınır — bu yüzden insanlar tüm bir mesajı beklenmedik bir şekilde altın renginde görürler. Bunu önlemek için bir listeyi boş bir dizeyle başlatın:
/tellraw @a ["",{"text":"Warning: ","color":"red"},{"text":"low health"}]
Tıklama eylemleri
clickEvent bir eylem ve bir değer alır:
| Eylem | Değer | Not |
|---|---|---|
run_command | /spawn | Oyuncu olarak, kendi izin seviyesinde çalışır |
suggest_command | /msg Steve | Sohbet kutusunu doldurur, göndermez |
open_url | https://… | Açmadan önce sorar |
copy_to_clipboard | herhangi bir metin | Koordinat paylaşımı için en arkadaş canlısı olanı |
change_page | sayfa numarası | Yalnızca Kitaplar için |
run_command bir tuzağı olan eylemdir: Komut Bloğu'nun değil, tıklayan Oyuncu'nun izinleriyle yürütülür. /gamemode creative çağıran bir menü, normal bir Oyuncu için hiçbir şey yapmaz.
Üzerine gelme eylemleri
"hoverEvent":{"action":"show_text","contents":["Click to teleport"]}
show_text, show_item ve show_entity. contents'ye dikkat edin — eski rehberler, yerini alan ve şimdi sessizce başarısız olan value kullanır. Bu tek yeniden adlandırma, birçok öğreticiden kopyalanan ölü üzerine gelme ipuçlarının nedenidir.
Kaçış karakterleri sorun yaratır
Tüm bileşen tek bir komut argümanıdır, bu nedenle içindeki tırnak işaretleri komut ayrıştırıcısından sağ çıkmalıdır. Bir Komut Bloğu'nda doğrudan yazın. Bir fonksiyon dosyasında ters eğik çizgi ile kaçış karakteri kullanmaya gerek yoktur. Bir /give Yazılı Kitap'ta, JSON bir dizenin içindeki bir dizedir ve kaçış karakteri gerektirir — bu, okunaksız \" duvarları oluşturan durumdur.
Genel kural: metin bileşenlerini bir öğe 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önderme zamanında Oyuncu adlarına çözümlenir. {"score":{"name":"@s","objective":"Kills"}} bir skor tablosu değerini çeker. Her ikisi de değerleri kendiniz birleştirmeye çalışmaktan daha iyidir.
Çeviri anahtarları diller arasında taşınır
{"translate":"block.minecraft.crafting_table"}
her Oyuncu'nun kendi dilinde görüntülenir — Korece bir istemci için 제작대, Japonca bir istemci için 作業台. Çok dilli bir sunucu için bu, İngilizce'yi sabit kodlamaktan kesinlikle daha iyidir.
Bileşeni görsel olarak, mevcut haliyle tıklama ve üzerine gelme eylemleriyle birlikte Metin ve Görüntü Komut Oluşturucu'da oluşturun.