MC Toolkit

أدلة / الأوامر والبيانات

المسند ذو الشرط الواحد لا غلاف له، وهذا تغيير حقيقي في الشكل

الشرط الواحد هو الكائن نفسه. أما شرطان أو أكثر فيُغلَّفان في all_of أو any_of. إضافة إلى أنواع الشروط الثمانية، ولماذا يُعدّ العكس غلافًا لا علامة.

ملف المسند (predicate) في حزمة البيانات هو ملف JSON يصف شرطًا، وتتغير بنيته تبعًا لعدد الشروط التي لديك. وهذا هو الجزء الذي يوقع من ينسخ مثالًا ثم يوسّعه.

الواحد ليس قائمة من عنصر واحد

الشروطشكل الخرج
0{}
1كائن الشرط نفسه
2+{ "condition": "minecraft:all_of", "terms": [ … ] }

لا يوجد غلاف حول شرط واحد. أضف شرطًا ثانيًا فيتغير شكل الملف بأكمله — يصبح الشرط الأصلي العنصر الأول في مصفوفة terms تحت جذر جديد. وكل ما يقرأ هذه الملفات أو يولّدها عليه أن يتعامل مع الشكلين، والمثال المبني على شرط واحد لا يُظهر لك الشكل الذي ستحتاجه لحظة إضافة شرط آخر.

أما any_of فهو المُركِّب البديل: يجب أن تنجح كل الحدود، أو أي واحد منها.

العكس غلاف أيضًا، وليس علامة

لا يوجد حقل "invert": true. الشرط المنفي يُغلَّف:

{ "condition": "minecraft:inverted", "term": { …the original condition… } }

لاحظ term بصيغة المفرد — فـ inverted يأخذ شرطًا واحدًا بالضبط، بينما يأخذ all_of وany_of مصفوفة terms. مفتاحان متشابهان في المظهر ومختلفان في الشكل، والعكس يُطبَّق على كل شرط على حدة، لذا يمكن للمسند أن يخلط بين الحدود المنفية والعادية بحرية داخل all_of واحد.

أنواع الشروط الثمانية التي تقدمها الأداة

entity_properties            random_chance
int_value_check              random_chance_with_enchanted_bonus
weather_check                time_check
location_check               match_tool

تحتوي اللعبة على عشرين نوعًا من الشروط؛ وهذه هي الثمانية التي تغطيها قائمة الاختيار في الأداة. وقد تغيّر اسم اثنين منها، لكن الأداة لا تزال تكتب المعرّفين القديمين — random_chance_with_looting وvalue_check — وهما مرفوضان في الإصدارات الحالية، لذا أعد تسمية هذين الاثنين في الخرج.

يستحق random_chance_with_enchanted_bonus وقفة: فهو يأخذ احتمالًا بدون التعويذة و enchanted_chance يتدرج مع مستوى التعويذة (النهب، في جداول اللعبة الأصلية)، لذا يعتمد الاحتمال على ما يحمله القاتل. وهذا يجعله ذا معنى فقط حيث يوجد قاتل في السياق — فهو شرط لمعدل الإسقاط، وليس بوابة عشوائية عامة الغرض. أما random_chance العادي فهو الخيار الذي تلجأ إليه في كل ما عدا ذلك.

يختبر int_value_check (وfloat_value_check) ما إذا كان رقم يقع ضمن نطاق. ويوفر فحص القيمة في الأداة مصدرًا من مستوى التعويذة أو تعبيرًا مخصصًا تعدّله في JSON يدويًا بعد النسخ.

قوائم الاختيار هي مجموعات اللعبة الأصلية بالضبط

من المفيد معرفة ذلك عند التحقق مما إذا كان معرّف أرض أحيائية أو بناء حقيقيًا: فقوائم الأداة المنسدلة ليست عيّنة منتقاة.

  • 66 أرضًا أحيائية — كل أرض أحيائية حتى 26.2؛ وdappled_forest في 26.3 مفقود، لذا اكتبه يدويًا
  • 34 بناءً — كذلك حتى 26.2؛ والـ 18 بناءً abandoned_camp_* التي أضافها 26.3 غير مدرجة
  • 18 وسم كتل و15 وسم عناصر، وهذه بالفعل مجموعة فرعية صالحة للعمل

وقد تم التحقق من ذلك مقابل بيانات سجل اللعبة نفسه لا افتراضًا، لذا إن كان معرّف غائبًا عن قائمة الأراضي الأحيائية أو الأبنية ولم يكن من إضافات 26.3، فالمعرّف غير موجود. أما وسوم الكتل والعناصر فالعكس هو الصحيح: الغياب يعني فقط أن الأداة لا تدرجه، وكتابة المعرّف بنفسك أمر لا بأس به.

منشئ المحمولات والشروط →

المزيد من الأدلة

عرض الكل →