شرط واحد في التعبير الشرطي لا يحتاج إلى غلاف، وهذا تغيير حقيقي في الشكل
الشرط الواحد هو الكائن نفسه. شرطان أو أكثر يتم تغليفهما بـ 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
value_check random_chance_with_looting
weather_check time_check
location_check match_tool
random_chance_with_looting هو الذي يستحق التوقف عنده: فهو يأخذ فرصة أساسية و looting_multiplier، لذلك تتناسب الاحتمالية مع مستوى النهب (Looting) للقاتل. هذا يجعله ذا معنى فقط حيث يوجد قاتل في السياق — إنه شرط لمعدل السقوط، وليس بوابة عشوائية للأغراض العامة. random_chance العادي هو الذي يجب استخدامه في كل مكان آخر.
يقارن value_check رقمًا بأحد ثلاثة مصادر: مستوى السحر (enchantment level)، الحظ (luck)، أو تعبير مخصص تقوم بتحريره في JSON يدويًا بعد النسخ.
أدوات الاختيار هي بالضبط مجموعات الفانيلا
من المفيد معرفة ما إذا كنت تتحقق مما إذا كان معرف المنطقة الحيوية (biome) أو الهيكل (structure) حقيقيًا: القوائم المنسدلة للمنشئ ليست عينة منسقة.
- 66 منطقة حيوية — كل منطقة حيوية في اللعبة، لا يوجد شيء مفقود ولا شيء مخترع
- 34 هيكلًا — كذلك
- 18 علامة كتلة و 15 عنصرًا، وهي مجموعة فرعية عاملة
تم التحقق من ذلك مقابل بيانات تسجيل اللعبة نفسها بدلاً من الافتراض، لذلك إذا كان المعرف غائبًا عن قائمة المناطق الحيوية أو الهياكل، فإن المعرف غير موجود. بالنسبة لعلامات الكتل والعناصر، الأمر عكس ذلك: الغياب يعني فقط أن أداة الاختيار لا تدرجه، وكتابة المعرف بنفسك أمر مقبول.