เพรดิเคตที่มีเงื่อนไขเดียวไม่มีการห่อ และนั่นคือการเปลี่ยนรูปทรงจริง ๆ
เงื่อนไขเดียวคือตัวออบเจ็กต์เอง ตั้งแต่สองเงื่อนไขขึ้นไปจะถูกห่อด้วย all_of หรือ any_of พร้อมด้วยเงื่อนไขทั้งแปดประเภท และเหตุใดการกลับด้านจึงเป็นการห่อแทนที่จะเป็นแฟล็ก
เพรดิเคตในดาต้าแพ็กคือไฟล์ 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
ในเกมมีเงื่อนไขยี่สิบประเภท สี่ประเภทนี้คือแปดประเภทที่ตัวเลือกของตัวสร้างครอบคลุม สองประเภทเปลี่ยนชื่อไปแล้ว และตัวสร้างยังเขียน id เก่าอยู่ — random_chance_with_looting และ value_check — ซึ่งเวอร์ชันปัจจุบันปฏิเสธ ดังนั้นให้เปลี่ยนชื่อสองตัวนั้นในผลลัพธ์
random_chance_with_enchanted_bonus คือตัวที่ควรหยุดคิดสักหน่อย: มันรับโอกาสโดยไม่มี enchantment และ enchanted_chance ที่ปรับตามระดับของ enchantment (ฉกชิง ในตารางของวานิลลาเอง) ดังนั้นความน่าจะเป็นจึงขึ้นอยู่กับว่าผู้ฆ่าถืออะไรอยู่ ซึ่งทำให้มันมีความหมายเฉพาะเมื่อมีผู้ฆ่าอยู่ในบริบทเท่านั้น — มันเป็นเงื่อนไขอัตราการดรอป ไม่ใช่ประตูสุ่มเอนกประสงค์ random_chance ธรรมดาคือตัวที่ควรใช้ในที่อื่น ๆ ทั้งหมด
int_value_check (และ float_value_check) ทดสอบว่าตัวเลขตกอยู่ในช่วงหรือไม่ การตรวจค่าของตัวสร้างเสนอแหล่งระดับ enchantment หรือนิพจน์กำหนดเองที่คุณแก้ไขลงใน JSON ด้วยมือหลังจากคัดลอก
ตัวเลือกมี exactly ชุดของวานิลลา
ควรรู้ไว้เวลาตรวจว่า id ไบโอมหรือสิ่งก่อสร้างมีอยู่จริงหรือไม่: ดรอปดาวน์ของตัวสร้างไม่ใช่ตัวอย่างที่คัดสรรมาอย่างดี
- 66 ไบโอม — ทุกไบโอมจนถึง 26.2;
dappled_forestของ 26.3 หายไป ดังนั้นต้องพิมพ์เอง - 34 สิ่งก่อสร้าง — เช่นเดียวกันจนถึง 26.2; สิ่งก่อสร้าง
abandoned_camp_*จำนวน 18 แห่งที่ 26.3 เพิ่มเข้ามาไม่อยู่ในรายการ - 18 แท็กบล็อก และ 15 ไอเทม ซึ่งเป็นชุดย่อยที่ใช้งานได้
ข้อมูลนี้ตรวจสอบกับข้อมูลรีจิสทรีของเกมเอง而不是สันนิษฐาน ดังนั้นถ้า id ใดหายไปจากรายการไบโอมหรือสิ่งก่อสร้างและไม่ใช่หนึ่งในการเพิ่มของ 26.3 แสดงว่า id นั้นไม่มีอยู่จริง สำหรับแท็กบล็อกและไอเทมกลับกัน: การหายไปหมายความเพียงว่าตัวเลือกไม่ได้แสดงมันไว้ และการพิมพ์ id เองก็ใช้ได้