Plugin Spigot và Paper
Cách có plugin Bukkit, Spigot hoặc Paper tốt nhất từ Codexe bằng Java hoặc Kotlin: nên ghi gì trong yêu cầu, phiên bản, plugin.yml, phụ thuộc, build và sự cố thường gặp.
Đã cập nhật
Trên trang này
Các loại Bukkit/Spigot/Paper tạo ra một plugin máy chủ chạy trên Paper, Spigot và các bản fork của chúng. Hãy chọn Java (dự án Maven) hoặc Kotlin (dự án Gradle với build.gradle.kts).
Để chơi thử plugin trong game, hãy khởi động một máy chủ thử nghiệm riêng bằng Dùng thử ngay.
Khi bạn gửi yêu cầu, Codexe hỏi plugin dành cho phiên bản Minecraft nào, từ 1.8.8 đến 26.3. Code được viết theo API và cấp độ Java của phiên bản đó, và máy chủ thử nghiệm chạy đúng phiên bản đó. Các dự án tạo trước ngày 30 tháng 9 năm 2026 giữ nguyên phiên bản ghi trong các tệp build của chúng.
#Nên ghi gì trong yêu cầu
- Phần mềm máy chủ và phiên bản: "Paper 1.21.4" hoặc "Spigot 1.20.1". Paper có API lớn hơn Spigot. Code viết cho Spigot chạy được trên Paper, nhưng không có chiều ngược lại, nên hãy yêu cầu Spigot nếu bạn cần cả hai.
- Lệnh kèm tham số, ai được dùng và tự động hoàn thành bằng Tab.
- Quyền kèm giá trị mặc định (
true,op,false). - Các khóa trong config.yml mà bạn muốn chỉnh sửa được.
- Lưu trữ: YAML, SQLite, MySQL, hoặc trong bộ nhớ.
- Tích hợp: Vault, PlaceholderAPI, LuckPerms, WorldGuard…, nêu tên rõ ràng để chúng được thêm làm phụ thuộc.
A Paper 1.21.4 plugin (Java) called Bounties.
- /bounty set <player> <amount>: takes money via Vault, adds it to the player's bounty.
- Killing a player with a bounty pays it to the killer.
- /bounty top shows the 10 highest bounties.
- Bounties stored in SQLite. Minimum bounty 100 (config.yml).
- Permission bounties.set (default true).A Paper 1.21.4 plugin in Kotlin called Bounties, same features as above.
Use Kotlin idioms (data classes, extension functions) but keep the Bukkit API usage standard.#Codexe tạo ra gì
- Một dự án Maven (Java) hoặc dự án Gradle (Kotlin) với đúng phụ thuộc API.
- Lớp chính kế thừa
JavaPlugin, cùng các lớp lệnh, listener và lưu trữ. plugin.ymlvới lớp chính,api-version, các lệnh và quyền, vàconfig.ymlkhi có các thiết lập.
name: Bounties
version: 1.0.0
main: eu.codexe.bounties.Bounties
api-version: '1.21'
depend: [Vault]
commands:
bounty:
description: Manage bounties
permissions:
bounties.set:
default: true#Phiên bản và Java
Codexe đọc phiên bản Minecraft từ tệp build và build bằng Java 17 (trước 1.20.5), Java 21 (1.20.5 trở lên) hoặc Java 25 (26.x). Nếu bạn không nêu phiên bản, API Paper/Spigot 1.20.6 sẽ được dùng.
#Build và xác minh
Codexe biên dịch plugin trước khi coi nó là Sẵn sàng và kiểm tra rằng tệp JAR chứa các lớp và một tệp plugin.yml (hoặc paper-plugin.yml). Bản build plugin thường mất chưa đến một phút. Xem Biên dịch.
#Cài đặt
Tải tệp JAR, đặt vào plugins/, khởi động lại máy chủ (đừng dùng /reload), và xem console có lỗi nào khi khởi động không.
#Sự cố thường gặp
| Triệu chứng | Nguyên nhân có thể |
|---|---|
| Plugin không nạp, "main class not found" | main: trong plugin.yml không khớp với lớp. Hãy nhờ khung chat sửa, hoặc kiểm tra lại sau khi tự đổi tên. |
| "Unsupported API version" trên máy chủ cũ hơn | Plugin nhắm tới API mới hơn máy chủ của bạn. Hãy ghi chính xác phiên bản máy chủ trong yêu cầu. |
| Một lệnh không làm gì cả | Lệnh bị thiếu trong plugin.yml, hoặc người chơi không có quyền. |
NoClassDefFoundError với Vault hoặc tương tự | Plugin phụ thuộc chưa được cài trên máy chủ. |
| Build được, nhưng một tính năng hoạt động sai | Hãy mô tả chính xác hành vi trong game ở khung chat. Việc xác minh kiểm tra bản build, không phải lối chơi. |