พื้นฐานคำสั่ง Minecraft

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

1. ต้องเปิด cheats ก่อน

คำสั่งส่วนใหญ่จะใช้ไม่ได้เลยถ้าโลกนั้นยังไม่ได้เปิด cheats

  • Java Edition — โลกใหม่: ตอนสร้างโลก กด "More World Options" แล้วตั้ง Allow Cheats: ON
  • Java Edition — โลกที่เล่นอยู่แล้ว: กด Esc แล้วเลือก "Open to LAN" ตั้ง Allow Cheats: ON แล้วกด "Start LAN World" (วิธีนี้จะเปิดชั่วคราวจนกว่าจะออกจากโลก ถ้าเข้าใหม่ต้องทำซ้ำ)
  • Bedrock Edition: เข้า Settings → Game → เปิด Activate Cheats

บน Bedrock การเปิด cheats จะทำให้โลกนั้นไม่ได้รับ achievement อีกต่อไป ถ้ายังอยากเก็บ achievement แนะนำให้ทดลองคำสั่งในโลกแยกต่างหาก

2. พิมพ์คำสั่งที่ไหน

  • ช่องแชท — กด T เพื่อเปิดแชท (หรือกด / เพื่อเปิดแชทพร้อมเครื่องหมาย / ให้เลย) แล้วพิมพ์คำสั่ง
  • Command Block — บล็อกที่รันคำสั่งอัตโนมัติ เอาไว้ทำแผนที่หรือระบบในเกม ต้องใช้คำสั่ง /give เพื่อเอามาก่อน เพราะหาในช่องสร้างของไม่ได้
  • ไฟล์ function — สำหรับ datapack/behavior pack ที่รันคำสั่งหลายบรรทัดพร้อมกัน

คำสั่งในแชทต้องมี / นำหน้าเสมอ แต่ถ้าพิมพ์ใน command block จะใส่หรือไม่ใส่ก็ได้ คำสั่งที่เครื่องมือของเราสร้างให้จะมี / มาให้แล้ว

3. ตัวเลือกเป้าหมาย (Target Selector)

แทนที่จะพิมพ์ชื่อผู้เล่นตรงๆ เราใช้ตัวย่อขึ้นต้นด้วย @ เพื่อเลือกเป้าหมายได้ยืดหยุ่นกว่า ตัวเลือกทั้ง 5 ตัวนี้ใช้ได้ทั้ง Java และ Bedrock

ตัวเลือกหมายถึงตัวอย่างการใช้
@pผู้เล่นที่ใกล้ที่สุดให้ของกับคนที่ยืนใกล้ command block
@aผู้เล่นทุกคนประกาศข้อความให้ทั้งเซิร์ฟเวอร์
@sตัวเอง (ผู้ที่รันคำสั่ง)เปลี่ยนโหมดของตัวเอง
@rผู้เล่นแบบสุ่ม 1 คนสุ่มแจกรางวัล
@eเอนทิตีทุกตัว (รวมม็อบ ไม่ใช่แค่ผู้เล่น)กำจัดม็อบทั้งหมด

ใส่เงื่อนไขเพิ่มในวงเล็บเหลี่ยมได้ เช่น @e[type=zombie] คือ "ซอมบี้ทุกตัว" หรือ @a[distance=..10] คือ "ผู้เล่นทุกคนในระยะ 10 บล็อก"

ตัวย่อ @p @a @s @r @e เหมือนกันทั้งสองเอดิชัน แต่เงื่อนไขในวงเล็บเหลี่ยมเขียนต่างกันระหว่าง Java กับ Bedrock (ตัวอย่างข้างบนเป็นรูปแบบของ Java) ถ้าใช้บน Bedrock แล้วไม่ผ่าน ให้ตรวจสอบรูปแบบเงื่อนไขอีกครั้ง

4. พิกัด (Coordinates)

พิกัดในเกมมี 3 ค่าเรียงกันคือ X Y Z โดย Y คือความสูง เขียนได้ 3 แบบ

แบบความหมายตัวอย่าง
ตัวเลขล้วน พิกัดสัมบูรณ์ ตำแหน่งตายตัวในโลก ไม่ว่าจะรันคำสั่งจากตรงไหน 100 64 -200
~ (tilde) พิกัดสัมพัทธ์ นับจากตำแหน่งที่รันคำสั่ง ~ ~1 ~ = จุดเดิมแต่สูงขึ้น 1 บล็อก
^ (caret) พิกัดตามทิศที่หันหน้าอยู่ เรียงเป็น ซ้าย/ขึ้น/หน้า ^ ^ ^3 = ข้างหน้าตัวเรา 3 บล็อก

ใช้ ~ ~ ~ เฉยๆ หมายถึง "ตรงตำแหน่งที่รันคำสั่งพอดี" — เป็นค่าเริ่มต้นที่เครื่องมือของเราใส่ให้

5. Java กับ Bedrock ต่างกันอย่างไร

สองเอดิชันนี้ใช้ไวยากรณ์คำสั่งไม่เหมือนกัน คำสั่งที่ก็อปมาจากคลิปหรือเว็บที่ทำสำหรับ Java มักใช้บน Bedrock ไม่ได้ และกลับกันด้วย

  • Java Edition — เวอร์ชันคอมพิวเตอร์ (Windows/Mac/Linux) ที่ซื้อแยก รองรับคำสั่งซับซ้อนกว่า เช่น ตั้งชื่อไอเทม ใส่ Lore ใส่มนตร์ผ่านคำสั่งเดียว
  • Bedrock Edition — เวอร์ชันมือถือ, Console, Windows (จาก Microsoft Store) ไวยากรณ์บางคำสั่งต่างออกไปและรองรับตัวเลือกน้อยกว่า

เครื่องมือของเราจะให้เลือกเอดิชันและเวอร์ชันก่อนเสมอ แล้วปรับไวยากรณ์กับซ่อนตัวเลือกที่เอดิชันนั้นไม่รองรับให้อัตโนมัติ จึงไม่ต้องกังวลว่าจะเผลอเอาไวยากรณ์ของคนละฝั่งมาปนกัน

6. ปัญหาที่พบบ่อย

อาการสาเหตุที่พบบ่อย
ขึ้นว่าไม่มีสิทธิ์ใช้คำสั่ง ยังไม่ได้เปิด cheats (ดูข้อ 1) หรือบนเซิร์ฟเวอร์ยังไม่ได้เป็น operator
คำสั่งขึ้นสีแดงตอนพิมพ์ สะกดรหัสไอเทม/ม็อบผิด หรือใช้ไวยากรณ์ของคนละเอดิชัน
ก็อปจากยูทูปมาแล้วใช้ไม่ได้ คลิปนั้นอาจทำสำหรับคนละเอดิชันหรือคนละเวอร์ชัน — ไวยากรณ์คำสั่งเปลี่ยนตามเวอร์ชันได้
รันได้แต่ไม่มีอะไรเกิดขึ้น ตัวเลือกเป้าหมายไม่ตรงกับใครเลย เช่นใช้ @e[type=zombie] ตอนที่ไม่มีซอมบี้อยู่ใกล้ๆ

พร้อมแล้ว ลองสร้างคำสั่งเลย

เลือกเครื่องมือที่ต้องการ กรอกฟอร์ม แล้วคัดลอกคำสั่งไปใช้ได้ทันที

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

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