Guides / Commands & Data

Predicate ที่มีเงื่อนไขเดียวจะไม่มี wrapper ซึ่งเป็นการเปลี่ยนรูปทรงที่แท้จริง

เงื่อนไขเดียวคือตัว object เอง ส่วนสองเงื่อนไขขึ้นไปจะถูกห่อด้วย all_of หรือ any_of พร้อมกับประเภทเงื่อนไขทั้งแปด และเหตุผลที่การกลับด้านเป็น wrapper ไม่ใช่ flag

Predicate ของ datapack คือไฟล์ JSON ที่อธิบายเงื่อนไข และโครงสร้างของมันจะเปลี่ยนไปตามจำนวนเงื่อนไขที่คุณมี นี่คือส่วนที่ทำให้คนสับสนเมื่อคัดลอกตัวอย่างและนำไปขยายต่อ

หนึ่งไม่ใช่รายการของหนึ่ง

เงื่อนไขรูปแบบผลลัพธ์
0{}
1ตัว object เงื่อนไขเอง
2+{ "condition": "minecraft:all_of", "terms": [ … ] }

ไม่มี wrapper ห่อหุ้มเงื่อนไขเดียว เมื่อเพิ่มเงื่อนไขที่สอง ไฟล์ทั้งหมดจะเปลี่ยนรูปทรงไป เงื่อนไขเดิมจะกลายเป็นองค์ประกอบแรกของอาร์เรย์ terms ภายใต้ root ใหม่ อะไรก็ตามที่อ่านหรือสร้างสิ่งเหล่านี้จะต้องจัดการทั้งสองรูปแบบ และตัวอย่างที่สร้างจากเงื่อนไขเดียวจะไม่แสดงให้เห็นถึงรูปทรงที่คุณต้องการในทันทีที่คุณเพิ่มเงื่อนไขอื่น

any_of คือตัวรวมทางเลือก: ทุก เงื่อนไขต้องผ่าน หรือ เงื่อนไขใด เงื่อนไขหนึ่งในนั้น

การกลับด้านก็เป็น wrapper เช่นกัน ไม่ใช่ flag

ไม่มีฟิลด์ "invert": true เงื่อนไขที่ถูกปฏิเสธจะถูกห่อหุ้ม:

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

โปรดสังเกต term ซึ่งเป็นเอกพจน์ — inverted รับเพียงหนึ่งเดียว ในขณะที่ all_of และ any_of รับอาร์เรย์ terms คีย์สองตัวที่ดูคล้ายกันแต่มีรูปทรงต่างกัน และการกลับด้านจะใช้กับแต่ละเงื่อนไข ดังนั้น predicate สามารถผสมเงื่อนไขที่กลับด้านและเงื่อนไขปกติได้อย่างอิสระภายใน all_of เดียว

ประเภทเงื่อนไขทั้งแปด

entity_properties            random_chance
value_check                  random_chance_with_looting
weather_check                time_check
location_check               match_tool

random_chance_with_looting เป็นสิ่งที่เราควรหยุดพิจารณา: มันรับค่าโอกาสพื้นฐาน (base chance) และ ค่าโชค (Luck) looting_multiplier ดังนั้นความน่าจะเป็นจะปรับตามระดับการฉกชิง (Looting) ของผู้สังหาร นั่นทำให้มันมีความหมายเฉพาะในบริบทที่มีผู้สังหารอยู่เท่านั้น — มันเป็นเงื่อนไขอัตราการดรอป ไม่ใช่ประตูสุ่มอเนกประสงค์ ส่วน random_chance ธรรมดาคือสิ่งที่ควรใช้ในที่อื่นๆ

value_check เปรียบเทียบตัวเลขกับหนึ่งในสามแหล่งที่มา: ระดับการร่ายเวท (enchantment level), โชค (luck), หรือนิพจน์ที่กำหนดเองที่คุณแก้ไขลงใน JSON ด้วยตนเองหลังจากคัดลอก

ตัวเลือกคือชุดข้อมูล vanilla เป๊ะๆ

เป็นสิ่งสำคัญที่ควรทราบเมื่อคุณตรวจสอบว่า ID ชีวนิเวศ (biome) หรือโครงสร้าง (structure) นั้นมีอยู่จริงหรือไม่: รายการดรอปดาวน์ของตัวสร้างไม่ใช่ตัวอย่างที่คัดสรรมา

  • 66 ชีวนิเวศ — ชีวนิเวศทุกชนิดในเกม ไม่มีอะไรขาดหายและไม่มีอะไรถูกสร้างขึ้นมาใหม่
  • 34 โครงสร้าง — เช่นกัน
  • 18 แท็กบล็อกและ 15 ไอเทม ซึ่ง เป็น ชุดย่อยที่ใช้งานได้

สิ่งนี้ได้รับการยืนยันจากข้อมูลการลงทะเบียนของเกมเอง ไม่ใช่การสันนิษฐาน ดังนั้นหาก ID หายไปจากรายการชีวนิเวศหรือโครงสร้าง แสดงว่า ID นั้นไม่มีอยู่จริง สำหรับแท็กบล็อกและไอเทมนั้นตรงกันข้าม: การไม่มีอยู่หมายความเพียงว่าตัวเลือกไม่ได้แสดงรายการ และการพิมพ์ ID ด้วยตนเองก็ใช้ได้ดี

ตัวสร้างเพรดิเคตและเงื่อนไข →

More guides

Browse all →

กำลังหาเครื่องมือ Minecraft อื่นอยู่ไหม

ชุดเครื่องมือสร้าง ดู และแปลงไฟล์ที่ทำงานในเบราว์เซอร์ ฟรีทั้งหมด