یک predicate با یک شرط هیچ wrapperی ندارد، و این یک تغییر ساختار واقعی است
یک شرط خود شیء است. دو یا چند شرط درون all_of یا any_of قرار میگیرند. به همراه هشت نوع شرط، و اینکه چرا معکوس کردن به جای یک پرچم، یک wrapper است.
یک predicate دیتاپک، یک فایل JSON است که یک شرط را توصیف میکند، و ساختار آن بسته به تعداد شرطهای شما تغییر میکند. این همان بخشی است که افرادی را که از یک نمونه کپی کرده و آن را گسترش میدهند دچار اشتباه میکند.
یکی، فهرستی از یک مورد نیست
| شرطها | شکل خروجی |
|---|---|
| 0 | {} |
| 1 | خود شیء شرط |
| 2+ | { "condition": "minecraft:all_of", "terms": [ … ] } |
هیچ wrapperی در اطراف یک شرط تکی وجود ندارد. یک شرط دوم اضافه کنید و کل فایل تغییر شکل میدهد — شرط اصلی تبدیل به اولین عنصر از یک terms array under a new root. Anything that reads or generates these has to handle both forms, and an example built from one condition does not show you the shape you will need the moment you add another.
any_of is the alternative combinator: همه شرایط باید برقرار باشند، یا هر یکی از آنها.
معکوس کردن نیز یک wrapper است، نه یک پرچم
وجود ندارد "invert": true field. A negated condition is wrapped:
{ "condition": "minecraft:inverted", "term": { …the original condition… } }
نکته term, singular — inverted takes exactly one, where all_of and any_of take a terms array. Two similar-looking keys with different shapes, and inversion applies per condition, so a predicate can mix inverted and plain terms freely inside one all_of.
هشت نوع شرط
entity_properties random_chance
value_check random_chance_with_looting
weather_check time_check
location_check match_tool
random_chance_with_looting is the one worth pausing on: it takes a base chance و a looting_multiplier, so the probability scales with the killer's Looting level. That makes it meaningful only where a killer exists in context — it is a drop-rate condition, not a general-purpose random gate. Plain random_chance is the one to reach for everywhere else.
value_check compares a number against one of three sources: سطح افسون, luck، یا یک عبارت سفارشی که پس از کپی کردن، به صورت دستی در JSON ویرایش میکنید.
انتخابگرها دقیقاً مجموعههای Vanilla هستند
ارزش دانستن دارد وقتی بررسی میکنید که آیا شناسه بایوم یا سازه واقعی است: منوهای کشویی ابزارساز، یک نمونه گلچینشده نیستند.
- 66 بایوم — تکتک بایومهای بازی، بدون هیچ کم و کاست یا مورد ساختگی
- 34 سازه — به همین ترتیب
- 18 تگ بلاک و 15 آیتم، که هستند یک زیرمجموعه کاربردی
این مورد به جای فرض گرفتن، بر اساس دادههای رجیستری خود بازی تأیید شده است؛ بنابراین اگر شناسهای در فهرست بایومها یا سازهها نباشد، آن شناسه وجود ندارد. برای تگهای بلاک و آیتمها برعکس است: نبود آنها فقط به این معنی است که انتخابگر آن را فهرست نکرده است، و تایپ دستی شناسه توسط خودتان مشکلی ندارد.