คำสั่ง /fill และ /clone: ข้อจำกัด 32,768 บล็อก และโหมดที่ช่วยแก้ปัญหานี้
คำสั่งทั้งสองมีข้อจำกัดที่ 32,768 บล็อกต่อการเรียกใช้ และจะล้มเหลวโดยไม่มีข้อความแจ้งเมื่อเกินขีดจำกัด นี่คือโหมด hollow, outline และ replace รวมถึง clone masks และวิธีเคลื่อนย้ายสิ่งก่อสร้างที่ใหญ่กว่าขีดจำกัด
/fill และ /clone มีข้อจำกัดที่ตายตัวซึ่งไม่ได้ระบุไว้ในข้อความแสดงข้อผิดพลาดที่ผู้คนคาดหวัง: 32,768 บล็อกต่อคำสั่ง นั่นคือ 32×32×32 หากเกินกว่านี้ คำสั่งจะถูกปฏิเสธ ซึ่งในบล็อกคำสั่งที่เชื่อมต่อกันจะดูเหมือนไม่มีอะไรเกิดขึ้นเลย
การตรวจสอบว่าเกินขีดจำกัดหรือไม่
การนับรวมทั้งสองฝั่ง ดังนั้นพื้นที่จาก 0 0 0 ถึง 31 31 31 คือ 32,768 บล็อกพอดี — ตรงตามขีดจำกัด จาก 0 0 0 ถึง 32 32 32 คือ 35,937 บล็อกและจะล้มเหลว
blocks = (|x2-x1|+1) × (|y2-y1|+1) × (|z2-z1|+1)
สำหรับสิ่งก่อสร้างที่ใหญ่กว่า ให้แบ่งออกเป็นส่วนๆ และใช้คำสั่งหลายครั้ง การแบ่งตามแกน Y มักจะง่ายที่สุดในการทำความเข้าใจ
โหมดของคำสั่ง fill
| โหมด | การทำงาน |
|---|---|
replace | ค่าเริ่มต้น; สามารถกรองเฉพาะบล็อกประเภทเดียวได้ |
hollow | เติมเฉพาะเปลือกนอก ล้างภายในให้เป็นอากาศ |
outline | เติมเฉพาะเปลือกนอก คงสภาพภายในไว้ |
destroy | ทิ้งบล็อกที่มีอยู่เป็นไอเทมก่อน |
keep | เติมเฉพาะอากาศ ไม่เขียนทับบล็อกอื่น |
hollow กับ outline เป็นคู่ที่คนมักสับสน การสร้างกล่องกระจกรอบโครงสร้างที่มีอยู่ต้องใช้โหมด outline; hollow จะลบสิ่งที่อยู่ภายในออกไป
keep เป็นโหมดที่ปลอดภัยสำหรับภูมิประเทศ — จะไม่ลบสิ่งใดๆ ที่วางไว้แล้ว
รูปแบบการกรองจะระบุบล็อกที่จะแทนที่ เป็นลำดับสุดท้าย:
/fill ~ ~ ~ ~10 ~5 ~10 stone replace dirt
นั่นจะแทนที่เฉพาะดินด้วยหิน และคงสภาพบล็อกอื่นๆ ไว้เหมือนเดิม
โหมดและมาสก์ของคำสั่ง clone
/clone มีการตั้งค่าอิสระสองอย่าง และลำดับมีความสำคัญ:
มาสก์ (Mask) — replace (ทุกอย่าง) หรือ filtered <block> (เฉพาะบล็อกนั้น) หรือ masked (ข้ามอากาศในแหล่งกำเนิด)
โหมด (Mode) — normal, force (อนุญาตให้พื้นที่ทับซ้อนกันได้) หรือ move (ล้างแหล่งกำเนิดหลังจากคัดลอก)
/clone <begin> <end> <destination> masked normal
masked คือสิ่งที่คุณต้องการเมื่อวางสิ่งก่อสร้างลงบนภูมิประเทศที่มีอยู่ — อากาศในแหล่งกำเนิดจะไม่สร้างรูในปลายทาง
move เป็นสิ่งที่ทำให้คนประหลาดใจ: มันจะลบต้นฉบับออกไป และไม่มีการย้อนกลับ
การทับซ้อนกันต้องใช้ force
หากแหล่งกำเนิดและปลายทางทับซ้อนกันเลย normal จะปฏิเสธ force อนุญาตให้ทำได้ แต่ผลลัพธ์ขึ้นอยู่กับลำดับการคัดลอกและไม่ค่อยเป็นไปตามที่คุณต้องการ การโคลนไปยังพื้นที่ชั่วคราวแล้วโคลนกลับมาจะคาดเดาผลลัพธ์ได้ง่ายกว่า
ชังค์ต้องถูกโหลด
คำสั่งทั้งสองทำงานได้เฉพาะกับ ชังค์ที่ถูกโหลด (loaded chunks) เท่านั้น /fill ที่ขยายเข้าไปในภูมิประเทศที่ยังไม่ได้โหลดจะไม่มีผลใดๆ สำหรับการสร้างด้วยสคริปต์ ให้ /forceload add พื้นที่นั้นก่อนแล้วค่อยลบออกทีหลัง — มิฉะนั้นคำสั่งเดียวกันจะทำงานเมื่อคุณยืนอยู่ใกล้ๆ แต่จะล้มเหลวเมื่อรันจากจุดเกิด
สร้างสิ่งเหล่านี้ด้วยอาร์กิวเมนต์ที่ถูกต้องตามลำดับ และตรวจสอบจำนวนบล็อกเทียบกับขีดจำกัดได้ใน World & Blocks Command Builder