- Tham gia
- 05/01/2025
- Bài viết
- 14
Yêu cầu chuẩn bị:
import org.bukkit.plugin.java.JavaPlugin; -> JavaPlugin là lớp cha (superclass) cơ bản nhất cho tất cả plugin Spigot. Nó cung cấp các phương thức như onEnable(), onDisable(), v.v.
public class Main extends JavaPlugin { -> Tạo một class chính tên là Main, kế thừa từ JavaPlugin. Lớp này là trung tâm quản lý plugin.
@Override
public void onEnable() { -> Được gọi khi plugin được bật lên (khi server khởi động). Dùng để: đăng ký lệnh, load dữ liệu, khởi tạo... getLogger().info(...): ghi log ra console server.
getLogger().info("Plugin đã bật!");
}
@Override
public void onDisable() { -> Được gọi khi plugin bị tắt (tắt server hoặc reload). Dùng để: lưu dữ liệu, hủy đăng ký sự kiện, dọn dẹp tài nguyên.
getLogger().info("Plugin đã tắt!");
}
}
Bước 4: Tạo file plugin.yml:
name: MyFirstPlugin -> Tên plugin muốn đặt
version: 1.0 -> phiên bản của plugin
main: me.tenban.myplugin.Main ->Đường dẫn tới Main.java
api-version: 1.20 -> phiên bản hỗ trợ
description: Plugin đầu tiên của bạn -> Mô tả
Lưu ý: File plugin.yml rất quan trọng, nếu sai sẽ khiến plugin không thể tải vào server.
Bước 5: Xuất file JAR:
Bước 6: Test Plugin
Bảng tóm tắt và giải thích từng phần
Ghi chú thêm:
- Java JDK (khuyến nghị JDK 8 hoặc 17)
- Eclipse IDE for Java Developers – tải tại: www.eclipse.org
- Spigot API (spigot-1.20.6.jar hoặc phiên bản bạn cần)
- BuildTools (nếu muốn tự tạo file Spigot API): www.spigotmc.org
- Mở Eclipse → File → New → Java Project
- Đặt tên project, ví dụ: MyFirstPlugin
- Click Finish
- Click chuột phải vào tên project → Build Path → Configure Build Path
- Chọn tab Libraries → Add External JARs
- Chọn file spigot-1.20.6.jar (hoặc phiên bản bạn muốn dùng) → Apply and Close
- Click chuột phải vào src → New → Package
Đặt tên là: me.tenban.myplugin - Click chuột phải vào package vừa tạo → New → Class
Đặt tên là: Main
Tick vào public static void main(String[] args) nếu có (nhưng sau đó xóa dòng này đi). - Code mẫu của Main.java:
import org.bukkit.plugin.java.JavaPlugin; -> JavaPlugin là lớp cha (superclass) cơ bản nhất cho tất cả plugin Spigot. Nó cung cấp các phương thức như onEnable(), onDisable(), v.v.
public class Main extends JavaPlugin { -> Tạo một class chính tên là Main, kế thừa từ JavaPlugin. Lớp này là trung tâm quản lý plugin.
@Override
public void onEnable() { -> Được gọi khi plugin được bật lên (khi server khởi động). Dùng để: đăng ký lệnh, load dữ liệu, khởi tạo... getLogger().info(...): ghi log ra console server.
getLogger().info("Plugin đã bật!");
}
@Override
public void onDisable() { -> Được gọi khi plugin bị tắt (tắt server hoặc reload). Dùng để: lưu dữ liệu, hủy đăng ký sự kiện, dọn dẹp tài nguyên.
getLogger().info("Plugin đã tắt!");
}
}
Bước 4: Tạo file plugin.yml:
- Click chuột phải vào project → New → Folder → đặt tên là resources
- Trong resources, click chuột phải → New → File → đặt tên là plugin.yml
- Nội dung ví dụ:
name: MyFirstPlugin -> Tên plugin muốn đặt
version: 1.0 -> phiên bản của plugin
main: me.tenban.myplugin.Main ->Đường dẫn tới Main.java
api-version: 1.20 -> phiên bản hỗ trợ
description: Plugin đầu tiên của bạn -> Mô tả
Lưu ý: File plugin.yml rất quan trọng, nếu sai sẽ khiến plugin không thể tải vào server.
Bước 5: Xuất file JAR:
- File → Export → Java → JAR file → Next
- Chọn project, tick vào cả src và resources
- Đặt đường dẫn và tên file .jar (ví dụ: MyFirstPlugin.jar)
- Click Finish
Bước 6: Test Plugin
- Mở thư mục plugins trong server Spigot
- Chép file MyFirstPlugin.jar vào thư mục đó
- Chạy server và kiểm tra console xem có dòng “Plugin đã bật!” không.
| Đoạn Code | Giải thích |
|---|---|
| extends JavaPlugin | Kế thừa class từ Spigot để xác định đây là plugin |
| onEnable() | Gọi khi plugin được bật |
| onDisable() | Gọi khi plugin bị tắt |
| getLogger().info(...) | In thông báo ra console của server |
Bảng tóm tắt và giải thích từng phần
| Dòng Code | Tác Dụng |
|---|---|
| package me.tenban.myplugin; | Xác định tên package chứa class Main. Giúp tổ chức mã và tránh trùng lặp tên class. |
| import org.bukkit.plugin.java.JavaPlugin; | Import JavaPlugin, lớp cha cần kế thừa để tạo plugin Spigot. |
| public class Main extends JavaPlugin | Khai báo class Main và kế thừa JavaPlugin để plugin có thể được nhận diện bởi Spigot. |
| @Override | Ghi đè phương thức từ lớp cha (JavaPlugin). Đây là annotation giúp trình biên dịch biết rằng bạn đang ghi đè lại hàm. |
| public void onEnable() | Hàm này được gọi khi plugin được bật (load). Thường dùng để đăng ký lệnh, sự kiện, dữ liệu khởi tạo,... |
| getLogger().info("Plugin đã bật!"); | In thông báo ra console của server. Hữu ích để kiểm tra plugin có chạy không. |
| public void onDisable() | Hàm này được gọi khi plugin bị tắt (ví dụ khi server dừng). Dùng để lưu dữ liệu hoặc dọn dẹp. |
| getLogger().info("Plugin đã tắt!"); | In thông báo khi plugin bị tắt. |
Ghi chú thêm:
- JavaPlugin là class quan trọng nhất trong mọi plugin Spigot. Nó cung cấp rất nhiều hàm như:
- getServer(), getCommand(), getConfig(), saveConfig(), v.v...
- getLogger() là phương thức kế thừa từ JavaPlugin, dùng để in log ra console.
