Guides / Commands & Data

/tellraw JSON text: clickEvent, hoverEvent และทำไมข้อความของคุณถึงไม่แสดง

วงเล็บผิดเพียงอันเดียวก็ทำให้ tellraw ล้มเหลวแบบเงียบๆ ได้ นี่คือโครงสร้างส่วนประกอบ, การกระทำ click และ hover ที่ใช้งานได้จริงในการแชท และกฎการหลีกเลี่ยงอักขระที่คนมักจะพลาด

/tellraw ใช้ส่วนประกอบข้อความ JSON และโหมดความล้มเหลวก็ไม่เป็นประโยชน์: ส่วนประกอบที่ผิดรูปแบบจะ ไม่สร้างข้อความและไม่มีข้อผิดพลาด ทุกอย่างด้านล่างนี้เกี่ยวกับการทำให้โครงสร้างถูกต้องตั้งแต่ครั้งแรก

สามรูปแบบที่ถูกต้อง

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

รูปแบบรายการเป็นรูปแบบที่ใช้สำหรับสิ่งใดๆ ที่น่าสนใจ เพราะแต่ละองค์ประกอบสามารถมีการจัดรูปแบบของตัวเองได้ การจัดรูปแบบขององค์ประกอบแรกจะถูกสืบทอดโดยส่วนที่เหลือ เว้นแต่จะมีการแทนที่ ซึ่งเป็นเหตุผลที่คนมักจะได้รับข้อความทั้งหมดเป็นสีทองโดยไม่คาดคิด เริ่มรายการด้วยสตริงว่างเพื่อหลีกเลี่ยงสิ่งนั้น:

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

การกระทำเมื่อคลิก (Click actions)

clickEvent รับการกระทำและค่า:

การกระทำค่าหมายเหตุ
run_command/spawnทำงาน ในฐานะผู้เล่น ตามระดับสิทธิ์ของผู้เล่น
suggest_command/msg Steve เติมกล่องแชท แต่ไม่ส่ง
open_urlhttps://…แจ้งเตือนก่อนเปิด
copy_to_clipboardข้อความใดๆเป็นมิตรที่สุดสำหรับการแชร์พิกัด
change_pageหมายเลขหน้าสำหรับหนังสือเท่านั้น

run_command เป็นอันที่มีกับดัก: มันจะทำงานด้วยสิทธิ์ ของผู้เล่นที่คลิก ไม่ใช่ของบล็อกคำสั่ง (Command Block) เมนูที่เรียก /gamemode creative จะไม่ทำงานสำหรับผู้เล่นทั่วไป

การกระทำเมื่อวางเมาส์ (Hover actions)

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

show_text, show_item และ show_entity โปรดทราบ contents — คู่มือเก่าๆ ใช้ value ซึ่งถูกแทนที่ไปแล้วและตอนนี้ล้มเหลวแบบเงียบๆ การเปลี่ยนชื่อเพียงครั้งเดียวนั้นเป็นสาเหตุของข้อความแนะนำเมื่อวางเมาส์ (hover tooltips) ที่ตายไปจำนวนมากที่คัดลอกมาจากบทเรียน

การหลีกเลี่ยงอักขระคือจุดที่มันพัง

ส่วนประกอบทั้งหมดเป็นอาร์กิวเมนต์คำสั่งเดียว ดังนั้นเครื่องหมายคำพูดภายในต้องรอดจากการแยกวิเคราะห์คำสั่ง ในบล็อกคำสั่ง (Command Block) ให้พิมพ์โดยตรง ใน ไฟล์ฟังก์ชัน ไม่จำเป็นต้องมีการหลีกเลี่ยงอักขระด้วยเครื่องหมายแบ็กสแลช ใน /give หนังสือเขียนแล้ว (Written Book) JSON เป็นสตริงภายในสตริงและ จำเป็น ต้องมีการหลีกเลี่ยงอักขระ — นั่นคือกรณีที่สร้างกำแพงของ \" ที่อ่านไม่ออก

กฎง่ายๆ: หากคุณกำลังซ้อนส่วนประกอบข้อความภายในส่วนประกอบไอเทม ให้สร้างด้วยเครื่องมือแทนที่จะทำด้วยมือ

ตัวเลือกภายในข้อความ

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

จะถูกแปลงเป็นชื่อผู้เล่นในเวลาที่ส่ง {"score":{"name":"@s","objective":"Kills"}} ดึงค่าจากสกอร์บอร์ด ทั้งสองวิธีดีกว่าการพยายามเชื่อมค่าด้วยตัวเอง

คีย์การแปลเดินทางข้ามภาษา

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

จะแสดงผลในภาษาของผู้เล่นแต่ละคน — 제작대 สำหรับไคลเอนต์ภาษาเกาหลี, 作業台 สำหรับภาษาญี่ปุ่น สำหรับเซิร์ฟเวอร์หลายภาษา นี่ดีกว่าการฮาร์ดโค้ดภาษาอังกฤษอย่างเคร่งครัด

สร้างส่วนประกอบด้วยภาพ ด้วยการกระทำเมื่อคลิกและวางเมาส์ในรูปแบบปัจจุบัน ใน Text & Display Command Builder

ตัวสร้างคำสั่งข้อความและการแสดงผล →

More guides

Browse all →

กำลังหาเครื่องมือ Minecraft อื่นอยู่ไหม

ชุดเครื่องมือสร้าง ดู และแปลงไฟล์ที่ทำงานในเบราว์เซอร์ ฟรีทั้งหมด