Guides / Commands & Data

Văn bản JSON của /tellraw: clickEvent, hoverEvent và lý do tin nhắn của bạn không hiển thị gì

Chỉ một dấu ngoặc sai cũng khiến tellraw thất bại mà không báo lỗi. Dưới đây là cấu trúc thành phần, các hành động nhấp và di chuột thực sự hoạt động trong trò chuyện, cùng với quy tắc thoát ký tự mà mọi người thường bỏ qua.

/tellraw nhận một thành phần văn bản JSON, và chế độ lỗi không hữu ích: một thành phần bị định dạng sai sẽ không tạo ra tin nhắn hay lỗi nào. Mọi thứ dưới đây đều nhằm giúp bạn định dạng đúng ngay từ đầu.

Ba dạng hợp lệ

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

Dạng danh sách là dạng nên dùng cho bất kỳ điều gì thú vị, vì mỗi phần tử có thể mang định dạng riêng của nó. Định dạng của phần tử đầu tiên sẽ được kế thừa bởi phần còn lại trừ khi chúng ghi đè lên nó — đó là lý do tại sao mọi người nhận được một tin nhắn toàn màu vàng một cách bất ngờ. Hãy bắt đầu một danh sách bằng một chuỗi rỗng để tránh điều đó:

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

Hành động nhấp (Click actions)

clickEvent nhận một hành động và một giá trị:

Hành độngGiá trịGhi chú
run_command/spawnChạy như Người chơi, ở cấp độ quyền của họ
suggest_command/msg Steve Điền vào hộp trò chuyện, không gửi
open_urlhttps://…Nhắc nhở trước khi mở
copy_to_clipboardbất kỳ văn bản nàoThân thiện nhất để chia sẻ tọa độ
change_pagesố trangChỉ dành cho Quyển sách

run_command là cái có một cái bẫy: nó thực thi với quyền của Người chơi nhấp, không phải của Khối lệnh. Một menu gọi /gamemode creative sẽ không làm gì đối với một Người chơi bình thường.

Hành động di chuột (Hover actions)

"hoverEvent":{"action":"show_text","contents":["Click to teleport"]}

show_text, show_itemshow_entity. Lưu ý contents — các hướng dẫn cũ sử dụng value, đã bị thay thế và giờ đây thất bại mà không báo lỗi. Việc đổi tên duy nhất đó là nguyên nhân của rất nhiều chú giải công cụ di chuột bị hỏng được sao chép từ các hướng dẫn.

Thoát ký tự là nơi nó bị hỏng

Toàn bộ thành phần là một đối số lệnh, vì vậy các dấu ngoặc kép bên trong phải tồn tại qua bộ phân tích lệnh. Trong một Khối lệnh, hãy nhập trực tiếp. Trong một tệp hàm, không cần thoát ký tự bằng dấu gạch chéo ngược. Trong một /give Sách được viết, JSON là một Sợi chỉ bên trong một Sợi chỉ và cần thoát ký tự — đó là trường hợp tạo ra những bức tường \" không thể đọc được.

Quy tắc chung: nếu bạn đang lồng các thành phần văn bản bên trong một thành phần vật phẩm, hãy xây dựng nó bằng một công cụ thay vì làm thủ công.

Bộ chọn bên trong văn bản

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

giải quyết thành tên Người chơi tại thời điểm gửi. {"score":{"name":"@s","objective":"Kills"}} kéo một giá trị bảng điểm. Cả hai đều tốt hơn việc tự mình cố gắng nối các giá trị.

Khóa dịch chuyển qua các ngôn ngữ

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

hiển thị bằng ngôn ngữ riêng của mỗi Người chơi — 제작대 cho một máy khách tiếng Hàn, 作業台 cho một máy khách tiếng Nhật. Đối với một máy chủ đa ngôn ngữ, điều này tốt hơn nhiều so với việc mã hóa cứng tiếng Anh.

Xây dựng thành phần một cách trực quan, với các hành động nhấp và di chuột ở dạng hiện tại của chúng, trong Trình tạo lệnh Văn bản & Hiển thị.

Trình tạo lệnh chữ & hiển thị →

More guides

Browse all →

Cần thêm công cụ Minecraft khác?

Bộ công cụ tạo, xem và chuyển đổi chạy ngay trên trình duyệt — tất cả đều miễn phí.