Guides / Commands & Data

نص JSON في أمر /tellraw: أحداث clickEvent و hoverEvent ولماذا لا تظهر رسالتك

قوس واحد خاطئ يجعل أمر tellraw يفشل بصمت. إليك شكل المكون، وإجراءات النقر والتحويم التي تعمل بالفعل في الدردشة، وقاعدة الهروب التي يغفلها الناس.

يأخذ /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 هو الذي يحتوي على فخ: يتم تنفيذه بصلاحيات اللاعب الناقر، وليس صلاحيات كتلة الأوامر. القائمة التي تستدعي /gamemode creative لا تفعل شيئًا للاعب العادي.

إجراءات التحويم (Hover actions)

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

show_text، show_item و show_entity. لاحظ contents — تستخدم الأدلة القديمة value، والذي تم استبداله ويفشل الآن بصمت. هذا التغيير الوحيد في الاسم يفسر الكثير من تلميحات التحويم المعطلة المنسوخة من البرامج التعليمية.

الهروب هو نقطة الانهيار

المكون بأكمله هو وسيطة أمر واحدة، لذا يجب أن تبقى علامات الاقتباس بالداخل سليمة بعد تحليل الأمر. في كتلة الأوامر، اكتبها مباشرة. في ملف دالة (function file)، لا يلزم الهروب بالخط المائل العكسي. في كتاب مكتوب (Written Book) /give، يكون JSON عبارة عن سلسلة داخل سلسلة ويحتاج إلى الهروب — هذه هي الحالة التي تولد جدرانًا غير قابلة للقراءة من \".

قاعدة عامة: إذا كنت تقوم بتضمين مكونات نصية داخل مكون عنصر، فقم بإنشائها باستخدام أداة بدلاً من يدويًا.

المحددات داخل النص

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

يتم حلها إلى أسماء اللاعبين وقت الإرسال. {"score":{"name":"@s","objective":"Kills"}} يسحب قيمة لوحة النتائج. كلاهما أفضل من محاولة ربط القيم بنفسك.

مفاتيح الترجمة تنتقل عبر اللغات

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

تُعرض بلغة كل لاعب — 제작대 لعميل كوري، 作業台 لعميل ياباني. بالنسبة لخادم متعدد اللغات، هذا أفضل بكثير من ترميز اللغة الإنجليزية بشكل ثابت.

قم ببناء المكون بصريًا، مع إجراءات النقر والتحويم في شكلها الحالي، في منشئ أوامر النص والعرض.

منشئ أوامر النص والعرض →

More guides

Browse all →

تبحث عن أدوات ماينكرافت أخرى؟

مجموعة من المولّدات والعارضات والمحوّلات تعمل في المتصفح — كلها مجانية.