ตารางดรอปไอเทม: พูล การสุ่ม และความต่างระหว่างรายการกับฟังก์ชัน
ตารางดรอปไอเทมที่ดรอปอะไรไม่เลยมักมีน้ำหนักหรือเงื่อนไขผิดชั้น นี่คือสิ่งที่แต่ละระดับการซ้อนควบคุม และฟังก์ชันที่ควรรู้
JSON ของตารางดรอปไอเทมมีความลึกสี่ระดับ และแต่ละระดับมีความหมายต่างกัน เกือบทุกเคส "ตารางฉันดรอปอะไรไม่เลย" เกิดจากเงื่อนไขไปเกาะอยู่ผิดระดับจากที่ควรจะเป็น
สี่ระดับนั้น
table
└── pools[] how many independent draws
└── entries[] what can come out of this draw
└── functions[] modify the item that came out
rollsบนพูลคือจำนวนครั้งที่พูลนั้นสุ่ม หนึ่งพูลที่มีrolls: 3จะสุ่มสามครั้งจากรายการเดียวกันweightบนรายการเป็นค่าน้ำหนักสัมพัทธ์ภายในพูลของมัน น้ำหนักไม่จำเป็นต้องรวมกันได้เท่าไร รายการที่น้ำหนัก 10 เทียบกับอีกรายการที่น้ำหนัก 90 จะออกมาหนึ่งในสิบของเวลาconditionsมีอยู่ทุกระดับและหมายถึงคนละอย่าง บน พูล มันควบคุมการสุ่มทั้งก้อน บน รายการ มันควบคุมตัวเลือกนั้นตัวเดียว บน ฟังก์ชัน มันควบคุมแค่การดัดแปลง
การรับประกันดรอปต้องมีพูลของตัวเอง
น้ำหนักรับประกันอะไรไม่ได้ เพราะพูลเลือกแค่หนึ่งรายการต่อการสุ่มหนึ่งครั้ง ตารางที่ต้องดรอปแผนที่บวกของสุ่มเสมอต้องมีสองพูล:
"pools": [
{ "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
{ "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]
พูลหนึ่งมีรายการเดียว จึงออกมาเสมอ พูลสองสุ่ม 2–4 ครั้งจากรายการถ่วงน้ำหนัก
ฟังก์ชันที่ควรรู้
| ฟังก์ชัน | ทำอะไร |
|---|---|
set_count | จำนวนคงที่หรือช่วง uniform |
enchant_randomly | มนตร์แบบสุ่ม จะมาจากรายการก็ได้ |
enchant_with_levels | เหมือนโต๊ะร่ายมนตร์ที่ระดับ N — มนตร์อะไรก็ได้除非 options จำกัดไว้ |
set_components | ชื่อกำหนดเอง คำบรรยาย คอมโพเนนต์ข้อมูลใดก็ได้ |
enchanted_count_increase | โบนัสต่อระดับของมนตร์ (ฉกชิง); เฉพาะตารางเอนทิตี |
set_damage | ความทนทานเป็นเศษส่วน ดังนั้น 0.5 คือสึกครึ่งหนึ่ง |
furnace_smelt | รูปแบบที่หลอมแล้วเมื่อม็อบตายในกองไฟ |
enchant_with_levels กับ enchant_randomly ใช้แทนกันไม่ได้ อันแรกเลียนแบบโต๊ะร่ายมนตร์และคำนึงถึงค่าระดับ อันที่สองเลือกตามอำเภอใจและอาจให้ผลรวมที่เกมไม่เคยสร้างเอง
เงื่อนไขที่คนมักหยิบมาใช้
random_chance— ความน่าจะเป็นแบบคงที่random_chance_with_enchanted_bonus— โอกาสแบบคำนึงถึงฉกชิงแบบใหม่killed_by_player— ต้นเหตุที่ของหายากของคุณไม่เคยออกจากการตายด้วยการตกentity_properties— ตรวจชนิด สถานะ หรืออุปกรณ์ของผู้ตายmatch_tool— ตรวจเครื่องมือที่ใช้ สำหรับตารางบล็อก
ทดสอบโดยไม่ต้องสร้างโลกใหม่
/loot give @s loot my_pack:chests/treasure
ดรอปตารางเข้าอินเวนทอรีคุณโดยตรง /loot spawn, /loot insert <pos> และ /loot replace ครอบคลุมตำแหน่งอื่น ๆ วิธีนี้เร็วกว่าการวางหีบแล้วรีโหลดมาก และเป็นวิธีเดียวที่สมเหตุสมผลในการตรวจสอบการกระจายน้ำหนัก
สร้างตารางหลายพูลพร้อมฟังก์ชันและเงื่อนไขที่เกาะในระดับที่ถูกต้องได้ที่ ตัวสร้างตารางดรอปไอเทมขั้นสูง