โปรเจกต์แรกของคุณ
พาทำโปรเจกต์แรกจริงๆ ปลั๊กอินบ้านสำหรับ Paper ตั้งแต่คำขอจนได้ JAR ที่ทดสอบแล้ว
อัปเดตเมื่อ
บทนี้จะพาสร้างปลั๊กอินขนาดเล็กแต่ใช้งานได้จริง เพื่อให้คุณเห็นทุกขั้นตอนครบหนึ่งรอบ ขั้นตอนเดียวกันนี้ใช้ได้กับโปรเจกต์ทุกประเภท
#คำขอ
ในหน้าสร้าง เลือก ปลั๊กอิน Bukkit/Spigot/Paper (Java) แล้วเขียนว่า:
A Paper 1.21.4 plugin called SimpleHomes.
- /sethome saves the player's current location as their home (one home per player).
- /home teleports them there after a 3 second warm-up; moving cancels it.
- 30 second cooldown on /home, configurable in config.yml.
- Homes persist across restarts in a YAML file.
- Permissions: simplehomes.use (default true), simplehomes.bypasscooldown (default op).
- Messages configurable in config.yml, with color codes.สังเกตว่ามีอะไรอยู่ในนั้นบ้าง: แพลตฟอร์มและเวอร์ชัน แต่ละคำสั่งและหน้าที่ของมัน กฎเรื่องเวลา การจัดเก็บข้อมูล สิทธิ์ และสิ่งที่ควรตั้งค่าได้ นี่คือสิ่งที่ทำให้ผลลัพธ์แรกใช้งานได้
#จากนั้นจะเกิดอะไรขึ้น
- Codexe ทยอยส่งไฟล์ออกมา ได้แก่
pom.xmlของ Maven คลาสหลัก คลาสคำสั่งและ listener รวมถึงplugin.ymlและconfig.yml - แถบแจ้งจะเปลี่ยนเป็น กำลังตรวจโปรเจกต์… แล้วเป็น กำลังบิลด์… Codexe จะคอมไพล์ปลั๊กอิน
- ถ้าคอมไพเลอร์รายงานข้อผิดพลาด (เช่น import ผิด) คุณจะเห็น กำลังแก้ปัญหา… Codexe จะซ่อมโค้ดแล้วบิลด์ใหม่ ขั้นตอนนี้ไม่ใช้โทเค็นของคุณ
- โปรเจกต์จะเปลี่ยนเป็นพร้อม
#ดูผลลัพธ์
- เปิด
plugin.ymlแล้วเช็กว่าคำสั่งและสิทธิ์ตรงกับที่คุณขอไว้ - เปิด
config.yml: คูลดาวน์และข้อความควรอยู่ในนั้น - อ่านคลาสหลักคร่าวๆ คุณไม่จำเป็นต้องเข้าใจทุกบรรทัด แต่จะมองเห็นจุดที่ขาดไปอย่างชัดเจนได้
#ลองแก้อะไรสักอย่าง
ในแชตของโปรเจกต์ พิมพ์ว่า:
Allow up to 3 named homes per player: /sethome <name>, /home <name>, /delhome <name>, /homes to list them.Codexe จะแก้ไฟล์ที่มีอยู่แทนการเริ่มใหม่ทั้งหมด คำขอต่อเนื่องแบบนี้เสียค่าใช้จ่ายน้อยกว่าโปรเจกต์ใหม่มาก เพราะเขียนใหม่เฉพาะไฟล์ที่เกี่ยวข้อง เมื่อการแก้ไขกระทบโปรเจกต์ที่บิลด์ได้ Codexe จะตรวจสอบอีกครั้ง
#บิลด์และทดสอบ
กดคอมไพล์เพื่อบิลด์ใหม่ แล้วกดดาวน์โหลด JAR วาง JAR ไว้ในโฟลเดอร์ plugins/ ของเซิร์ฟเวอร์แล้วรีสตาร์ต ทดสอบทุกคำสั่ง รวมถึงกรณีพิเศษต่างๆ (ขยับตัวระหว่างช่วงรอ คูลดาวน์ และการรีสตาร์ต)