คู่มือ

วิธีทำปลั๊กอินมินิเกม Minecraft

อัปเดตเมื่อ 18 ตุลาคม 2569

ปลั๊กอินมินิเกมจะรันเป็นรอบๆ: ผู้เล่นรอในล็อบบี้ เริ่มนับถอยหลัง เกมดำเนินไปตามกฎของมัน มีคนชนะ แล้วอารีน่าถูกรีเซ็ตสำหรับรอบถัดไป มินิเกมทุกแบบ ตั้งแต่ spleef ไปจนถึง bed wars มีโครงเดียวกัน ทำโครงนี้ให้ถูกแล้วกฎของเกมจะเป็นส่วนที่ง่าย

เริ่มจากตัวอย่างนี้แล้วปรับกฎ

สร้างสิ่งนี้ด้วย Codexe

ทีละขั้นตอน

  1. 1.เขียนกฎของหนึ่งรอบ

    มีผู้เล่นกี่คน รอบเริ่มและจบอย่างไร ชนะได้อย่างไร ตายแล้วเกิดอะไรขึ้น (ตกรอบ เกิดใหม่ หรือเป็นผู้ชม) และผู้เล่นได้อะไรตอนเริ่ม

  2. 2.วางแผนการตั้งค่าอารีน่า

    คำสั่งแอดมินสำหรับสร้างอารีน่าและตั้งล็อบบี้ จุดเกิด และขอบเขต เช่น /mg create <name> และ /mg setspawn <name> อารีน่าจะบันทึกไว้ในไฟล์เพื่อให้อยู่รอดหลังรีสตาร์ต

  3. 3.กำหนดสถานะของเกม

    รอผู้เล่น กำลังเริ่ม (นับถอยหลัง) กำลังเล่น และจบเกม แต่ละสถานะอนุญาตสิ่งที่ต่างกัน: ไม่มีใครทุบบล็อกในล็อบบี้ได้ ไม่มีใครเข้าเกมที่กำลังเล่นอยู่ได้

  4. 4.ตัดสินใจว่าจะรีเซ็ตอารีน่าอย่างไร

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

  5. 5.เพิ่มสิ่งที่ผู้เล่นเห็น

    สกอร์บอร์ดด้านข้างแสดงผู้เล่นที่เหลือและเวลา บอสบาร์หรือไตเติลสำหรับการนับถอยหลัง และข้อความแชตสำหรับการฆ่าและผู้ชนะ

  6. 6.สร้าง บิลด์ และเล่นหนึ่งรอบ

    อธิบายให้ Codexe ฟัง ให้มันคอมไพล์ แล้วเข้าเซิร์ฟเวอร์ทดสอบด้วย ลองเลย ตั้งจำนวนผู้เล่นขั้นต่ำให้น้อยระหว่างทดสอบเพื่อให้รอบเริ่มได้

สถานะของเกม

บั๊กของมินิเกมส่วนใหญ่คือผู้เล่นทำบางอย่างในสถานะที่ผิด การเขียนสถานะไว้ในคำขอจะทำให้ AI สร้างปลั๊กอินโดยยึดสถานะเหล่านั้นเป็นหลัก

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

การรีเซ็ตอารีน่า

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

ตัวอย่างคำอธิบาย

"ปลั๊กอินมินิเกม spleef สำหรับ Paper 1.21.4 แอดมินสร้างอารีน่าด้วย /spleef create <name>, /spleef setlobby และ /spleef setfloor (สองมุมของพื้นหิมะ) ผู้เล่นเข้าร่วมด้วย /spleef join <arena> รอบเริ่มหลังจากมีผู้เล่น 2 คนได้ 15 วินาที สูงสุด 8 คน ผู้เล่นได้พลั่วเพชร ทุบหิมะได้ทันที และตกรอบเมื่อตกลงไปใต้พื้น ผู้เล่นคนสุดท้ายที่เหลืออยู่ชนะ 50 coins ผ่าน Vault ผู้เล่นที่ตกรอบจะกลายเป็นผู้ชม พื้นหิมะถูกกู้คืนหลังจบแต่ละรอบ สกอร์บอร์ดด้านข้างแสดงผู้เล่นที่เหลือและเวลา อารีน่าบันทึกใน arenas.yml จำนวนผู้เล่นขั้นต่ำและรางวัลอยู่ใน config.yml"

การทดสอบมินิเกม

มินิเกมตัดสินจากโค้ดได้ยาก: คุณต้องเล่นสักรอบ ลองเลย จะเปิดเซิร์ฟเวอร์ Paper ส่วนตัวตามเวอร์ชันของคุณพร้อมติดตั้งปลั๊กอิน ซึ่งปกติเป็นโลกแบนราบ และเพื่อนเข้าร่วมได้ถ้าคุณเพิ่มพวกเขาใน สิทธิ์เข้าเซิร์ฟเวอร์ แพ็กเกจฟรีให้เข้าเซิร์ฟเวอร์ทดสอบได้ 2 คน Pro 5 คน Business 10 คน และ Enterprise 20 คน

ขอให้ตั้งจำนวนผู้เล่นขั้นต่ำไว้ใน config.yml เพื่อจะได้ตั้งเป็น 1 หรือ 2 ระหว่างทดสอบ ผู้เล่นทดสอบก็เข้ามาได้เช่นกัน โดยจะรันคำสั่งเข้าร่วมและคำสั่งแอดมิน และเช็กข้อความต่างๆ ซึ่งช่วยจับคำสั่งที่พังได้ก่อนที่คุณจะเล่น

คำถาม

อารีน่าเดียวหรือหลายอารีน่า?

ขอแบบหลายอารีน่าตั้งแต่แรก การเปลี่ยนปลั๊กอินอารีน่าเดียวให้เป็นหลายอารีน่าทีหลังหมายถึงต้องเขียนวิธีเก็บข้อมูลผู้เล่นและสถานะเกมใหม่

ทำมินิเกม PvP 1.8 ได้ไหม?

ได้ ระบุ Spigot หรือ Paper 1.8.8 ในคำขอ: Codexe จะเขียนโค้ดสำหรับ API รุ่นเก่านั้น และเซิร์ฟเวอร์ทดสอบรองรับเวอร์ชัน 1.8 ถึง 26.3

เครือข่ายมินิเกมทำงานอย่างไร?

เครือข่ายขนาดใหญ่จะรันแต่ละเกมบนเซิร์ฟเวอร์ของตัวเองหลังพร็อกซี BungeeCord หรือ Velocity โดยมีเซิร์ฟเวอร์ล็อบบี้ที่ส่งผู้เล่นไปยังเกมที่ว่าง นั่นคือปลั๊กอินพร็อกซีบวกปลั๊กอินเกม แยกเป็นสองโปรเจกต์

สร้างมินิเกมของคุณ

พรอมต์นี้จะเปิดขึ้นพร้อมส่งได้ทันที:

“ปลั๊กอินมินิเกม spleef สำหรับ Paper 1.21.4: สร้างอารีน่าด้วย /spleef create, setlobby และ setfloor, ผู้เล่นเข้าร่วมด้วย /spleef join, รอบเริ่มหลังจากมีผู้เล่น 2 คนได้ 15 วินาที (สูงสุด 8), พลั่วเพชร, ตกรอบเมื่อตกลงไปใต้พื้น, ผู้เล่นคนสุดท้ายชนะ 50 coins ผ่าน Vault, ผู้เล่นที่ตกรอบเป็นผู้ชม, พื้นหิมะกู้คืนหลังจบแต่ละรอบ, สกอร์บอร์ดด้านข้างแสดงผู้เล่นที่เหลือและเวลา, อารีน่าบันทึกใน arenas.yml”

สร้างสิ่งนี้ด้วย Codexe
วิธีทำปลั๊กอินมินิเกม Minecraft | Codexe