คอมมานด์บล็อก

คำสั่งที่พิมพ์ในแชททำงานครั้งเดียวแล้วจบ ถ้าอยากให้ทำงานเองซ้ำๆ หรือทำงานเมื่อมีคนเหยียบแผ่น ต้องย้ายมาไว้ในคอมมานด์บล็อก

อยากเริ่มจากตัวอย่างพร้อมใช้?

เปิดคลัง Command Block เพื่อเลือก Use Case แล้วดูหน้าตั้งค่า Java หรือ Bedrock ทีละบล็อก พร้อมคำสั่งที่คัดลอกไปวางได้ทันที

Command Block

หามาใช้อย่างไร

คอมมานด์บล็อกไม่มีในช่องสร้างของ และคราฟต์ไม่ได้ ต้องใช้คำสั่ง give เอามาเท่านั้น

/give @s minecraft:command_block 1

ต้องอยู่ในโหมดสร้างสรรค์และเปิด cheats แล้วถึงจะใช้คำสั่งนี้ได้ วางบล็อกลงแล้วคลิกขวาเพื่อเปิดหน้าต่างใส่คำสั่ง สร้างคำสั่ง give ด้วยเครื่องมือ

สามชนิด และเลือกใช้เมื่อไหร่

กดปุ่มชนิดในหน้าต่างคอมมานด์บล็อกเพื่อสลับ สีของบล็อกจะเปลี่ยนตามชนิดด้วย ทำให้ดูออกจากภายนอกว่าตัวไหนเป็นตัวไหน

ชนิด ทำงานเมื่อไหร่ ใช้ทำอะไร
Impulse ครั้งเดียวต่อหนึ่งสัญญาณเรดสโตน ปุ่มกด แผ่นตรวจจับ ประตูที่เปิดเมื่อกด
Repeat ทุก tick ตราบใดที่ยังทำงานอยู่ ระบบที่ต้องคอยเช็คตลอด เช่น ตรวจว่าใครเข้าเขตหวงห้าม
Chain เมื่อบล็อกที่ชี้เข้ามาหาทำงานเสร็จ คำสั่งหลายบรรทัดที่ต้องทำตามลำดับ

Repeat ทำงานถี่มาก ถ้าใส่คำสั่งหนักๆ อย่าง fill พื้นที่ใหญ่ไว้ในนั้น เซิร์ฟเวอร์จะกระตุกทันที ให้ใช้ Repeat กับคำสั่งเบาๆ ที่ทำหน้าที่ตรวจสอบเท่านั้น

Needs Redstone กับ Always Active

ปุ่มที่สองในหน้าต่างคุมว่าบล็อกต้องรอสัญญาณเรดสโตนหรือไม่ ปุ่มนี้เป็นสาเหตุอันดับต้นๆ ที่ทำให้คนคิดว่าคำสั่งเสีย ทั้งที่ตั้งค่าปุ่มนี้ผิด

  • Needs Redstone — ต้องมีคันโยก ปุ่ม หรือแผ่นตรวจจับต่ออยู่ ไม่มีสัญญาณก็ไม่ทำงาน เป็นค่าเริ่มต้นของ Impulse
  • Always Active — ทำงานเองโดยไม่ต้องมีเรดสโตน เป็นค่าที่ Repeat และ Chain ส่วนใหญ่ต้องใช้

ถ้าวาง Repeat แล้วไม่มีอะไรเกิดขึ้นเลย ให้เช็คปุ่มนี้ก่อนเสมอ เพราะมันตั้งเป็น Needs Redstone มาตั้งแต่แรก

ต่อคำสั่งเป็นลูกโซ่

เมื่อต้องรันหลายคำสั่งเรียงกัน ให้วาง Repeat หรือ Impulse เป็นตัวแรก แล้วต่อด้วย Chain เรียงไปเรื่อยๆ โดยให้แต่ละบล็อกหันหน้าไปทางบล็อกถัดไป

  • ทิศที่บล็อกหันหน้าคือทิศที่คำสั่งไหลไป ดูจากลูกศรบนตัวบล็อก
  • Chain ทุกตัวในสายควรตั้งเป็น Always Active ไม่งั้นสายจะขาดตรงตัวที่ตั้งผิด
  • ทั้งสายทำงานภายใน tick เดียวกัน จึงเรียงลำดับได้แม่นยำกว่าการใช้เรดสโตนหน่วงเวลา

ตัวอย่างสายที่ใช้บ่อยตอนเริ่มรอบเกม: ตั้งโหมด แล้วล้างของ แล้ววาร์ปไปจุดเริ่ม แล้วประกาศ

/gamemode adventure @a
/clear @a
/tp @a 0 70 0
/title @a title เริ่ม!

ปัญหาที่เจอบ่อย

อาการสาเหตุที่พบบ่อย
วางแล้วไม่ทำงานเลย ยังตั้งเป็น Needs Redstone อยู่ หรือไม่ได้กด Done หลังพิมพ์คำสั่ง
ทำงานในแชทได้ แต่ในบล็อกวางของผิดที่ พิกัด ~ นับจากตัวบล็อก ไม่ใช่จากผู้เล่น
สายลูกโซ่ทำงานแค่บล็อกแรก บล็อกไม่ได้หันหน้าต่อกัน หรือ Chain บางตัวยังเป็น Needs Redstone
เกมกระตุกหนักหลังวาง Repeat คำสั่งข้างในหนักเกินไปสำหรับการรันทุก tick
แชทเต็มไปด้วยข้อความจากคอมมานด์บล็อก ปิดด้วยกฎ commandBlockOutput ได้

สร้างคำสั่ง gamerule ด้วยเครื่องมือ

เครื่องมือที่มักใช้ในคอมมานด์บล็อก

คู่มืออื่นที่น่าอ่านต่อ

  • พื้นฐานคำสั่ง Minecraft — เริ่มจากศูนย์: เปิด cheats ยังไง พิมพ์คำสั่งที่ไหนได้บ้าง และรู้จักตัวเลือกเป้าหมายกับพิกัดแบบพอใช้งานได้
  • ตัวเลือกเป้าหมายแบบละเอียด — เจาะลึกเงื่อนไขในวงเล็บเหลี่ยม ตั้งแต่ type และ distance ไปจนถึง limit กับ sort และวิธีเช็คว่าทำไมคำสั่งไม่โดนใครเลย
  • พิกัด: ตัวเลข, ~ และ ^ — ทำไม ~ กับ ^ ถึงผสมกันไม่ได้ ทำไมบล็อกไปโผล่ผิดที่ และวิธีเลือกใช้พิกัดแต่ละแบบให้ถูกงาน
  • ทำไมคำสั่ง give ของเวอร์ชันเก่าใช้ไม่ได้ — NBT แบบเก่า, component แบบ 1.20.5 และ component แบบ 1.21.5 ต่างกันตรงไหน เทียบให้ดูจากคำสั่งที่สร้างจริง
  • ระบบคะแนน scoreboard เบื้องต้น — สร้าง objective ให้เกมนับคะแนนเอง หรือนับเองจากคอมมานด์บล็อก แล้วเอาคะแนนไปใช้เป็นเงื่อนไขของคำสั่งอื่น
  • คำสั่ง execute — คำสั่งที่ทรงพลังที่สุดใน Minecraft อธิบายทีละส่วน ว่า as กับ at ต่างกันยังไง และทำไมสลับลำดับแล้วผลเปลี่ยน
  • คำสั่งไม่ทำงาน แก้ยังไง — ไล่หาสาเหตุทีละขั้นจากข้อความ error ที่เกมขึ้นให้ พร้อมสาเหตุที่เจอบ่อยของแต่ละแบบ