أمر /give بعد مكوّنات البيانات: ما الذي حل محل وسوم NBT
استبدل التحديث 1.20.5 وسوم NBT للعناصر بمكوّنات البيانات، ولا تزال معظم مقتطفات أمر /give المتوفرة على الإنترنت مكتوبة بالطريقة القديمة. إليك طريقة تحويل الوسوم التي تعرفها إلى المكوّنات التي تعمل الآن.
إذا قمت بلصق أمر /give من دليل قديم وكانت اللعبة ترد بـ Unknown item tag أو تتجاهل سحرك بصمت، فإن الأمر مكتوب بصيغة NBT التي سبقت التحديث 1.20.5. لقد انتقلت بيانات العناصر إلى مكوّنات البيانات (data components)، ولم يعد تحليل كتلة {display:{Name:...}} القديمة ممكنًا.
تغير الشكل
old /give @p diamond_sword{display:{Name:'"Skybreaker"'},Enchantments:[{id:sharpness,lvl:5}]}
new /give @p diamond_sword[custom_name='"Skybreaker"',enchantments={sharpness:5}]
أقواس مربعة، وليست معقوفة. المكوّنات هي قائمة مسطحة، مفصولة بفاصلات، على معرّف العنصر.
التحويلات التي ستحتاجها بالفعل
| NBT القديم | مكوّن البيانات |
|---|---|
display:{Name:...} | custom_name |
display:{Lore:[...]} | lore |
Enchantments:[{id,lvl}] | enchantments={id:level} |
Unbreakable:1b | unbreakable={} |
CustomModelData:3 | custom_model_data=3 |
AttributeModifiers:[...] | attribute_modifiers |
display:{color:...} | dyed_color |
SkullOwner | profile |
ثلاثة فخاخ
- علامات الاقتباس. يأخذ
custom_nameمكوّن نص JSON، لذا لا يزال الخيط (String) العادي يحتاج إلى علامات اقتباس خاصة به داخل الوسيطة:custom_name='"Skybreaker"'. - إزالة قيمة افتراضية. استخدم البادئة
!لتجريد مكوّن يمتلكه العنصر عادةً —[!attribute_modifiers]يعطي سيفًا بدون أي مكافأة ضرر على الإطلاق. - إصدار صخر القاع (Bedrock) لا يحتوي على أي من هذا. لا يزال إصدار صخر القاع (Bedrock)
/giveيستخدم نموذج قيمة البيانات والمكوّنات الخاص به؛ لن يعمل خيط مكوّنات Java هناك.
يقوم مولّد أمر /give بكتابة صيغة المكوّنات لك ويعرض المخرجات لكلا الإصدارين، حتى تتمكن من نسخ ما يتوافق مع الخادم الذي تستخدمه.