MC Toolkit

Panduan / Perintah & Data

Komponen teks /tellraw: click_event, hover_event dan kenapa pesanmu tidak muncul

Satu kurung yang salah berarti tellraw tidak mengirim apa pun ke targetnya. Berikut bentuk komponennya, aksi klik dan hover yang benar-benar berfungsi di chat, dan aturan escaping yang sering terlewat.

/tellraw menerima komponen teks, dan mode kegagalannya tidak membantu: komponen yang salah bentuk menghasilkan tidak ada pesan untuk siapa pun yang ditargetkan — satu-satunya error hanya sampai ke siapa pun yang menjalankan perintah, atau ke output Balok Perintah, tempat tidak ada yang melihat. Semua di bawah ini tentang mendapatkan bentuknya benar sejak awal.

Tiga bentuk yang valid

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

Bentuk daftar adalah yang harus dipakai untuk apa pun yang menarik, karena setiap elemen bisa membawa formatting-nya sendiri. Formatting elemen pertama diwarisi oleh sisanya kecuali mereka menimpanya — itulah sebabnya orang mendapatkan seluruh pesan tiba-tiba berwarna emas. Mulai daftar dengan string kosong untuk menghindarinya:

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

Aksi klik

click_event menerima sebuah aksi plus field milik aksi itu sendiri — tidak ada value bersama:

AksiFieldCatatan
run_commandcommand: "/spawn"Dijalankan sebagai Pemain, pada level izin mereka
suggest_commandcommand: "/msg Steve "Mengisi kotak chat, tidak mengirim
open_urlurl: "https://…"Meminta konfirmasi sebelum membuka
copy_to_clipboardvalue: "any text"Yang paling ramah untuk berbagi koordinat
change_pagepage: 2Hanya untuk Buku

run_command adalah yang punya jebakan: ia dieksekusi dengan izin Pemain yang mengklik, bukan izin Balok Perintah. Menu yang memanggil /gamemode creative tidak melakukan apa pun untuk Pemain biasa.

Aksi hover

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

show_text, show_item dan show_entity. Perhatikan namanya — panduan lama menggunakan hoverEvent, clickEvent dan contents, yang digantikan 1.21.5 dengan hover_event, click_event dan, untuk show_text, value. Penggantian nama itu menjelaskan banyak tooltip hover mati yang disalin dari tutorial.

Escaping adalah tempatnya rusak

Seluruh komponen adalah satu argumen perintah, jadi tanda kutip di dalamnya harus bertahan melewati parser perintah. Di Balok Perintah, ketik langsung. Di file function, backslash-escaping tidak diperlukan. Di Buku Tertulis /give, halaman juga merupakan komponen teks, ditulis sebagai SNBT — tidak ada escaping string-di-dalam-string sejak 1.21.5, dan halaman yang masih ditulis sebagai string JSON yang di-escape sekarang muncul sebagai teks literal beserta tanda kutipnya.

Aturan praktis: jika kamu menyusun komponen teks di dalam komponen item, buatlah dengan alat, bukan dengan tangan.

Selector di dalam teks

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

menghasilkan nama Pemain pada saat pengiriman. {"score":{"name":"@s","objective":"Kills"}} mengambil nilai scoreboard. Keduanya lebih baik daripada mencoba menggabungkan nilai sendiri.

Kunci terjemahan melintasi bahasa

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

ditampilkan dalam bahasa masing-masing Pemain — 제작대 untuk klien Korea, 作業台 untuk klien Jepang. Untuk server multibahasa ini jelas lebih baik daripada menuliskan bahasa Inggris secara hardcode.

Bangun dan pratinjau perintah teks dan tampilan di Text & Display Command Builder.

Pembuat perintah teks dan tampilan →

Panduan lainnya

Lihat semua →