• Chào bạn, hãy đăng ký hoặc đăng nhập để tham gia cùng bọn mình và sử dụng được đầy đủ chức năng của diễn đàn :).
H

Java Hướng dẫn: Code Plugin Spigot Cơ Bản Bằng Eclipse

himoinguoine123

THÀNH VIÊN
Tham gia
05/01/2025
Bài viết
14
Yêu cầu chuẩn bị:
  1. Java JDK (khuyến nghị JDK 8 hoặc 17)
  2. Eclipse IDE for Java Developers – tải tại: www.eclipse.org
  3. Spigot API (spigot-1.20.6.jar hoặc phiên bản bạn cần)
  4. BuildTools (nếu muốn tự tạo file Spigot API): www.spigotmc.org
Bước 1: Tạo Project mới trong Eclipse
  1. Mở Eclipse → File → New → Java Project
  2. Đặt tên project, ví dụ: MyFirstPlugin
  3. Click Finish
Bước 2: Thêm thư viện Spigot API vào project
  1. Click chuột phải vào tên project → Build PathConfigure Build Path
  2. Chọn tab LibrariesAdd External JARs
  3. Chọn file spigot-1.20.6.jar (hoặc phiên bản bạn muốn dùng) → Apply and Close
Bước 3: Tạo package và class chính
  1. Click chuột phải vào src → New → Package
    Đặt tên là: me.tenban.myplugin
  2. 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).
  3. Code mẫu của Main.java:
package me.tenban.myplugin; -> tên gối ( namespace ) chứa class, giúp tránh trùng lặp với các plugin hoặc thư viện khác.

import org.bukkit.plugin.java.JavaPlugin; -> JavaPluginlớ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:
  1. Click chuột phải vào project → New → Folder → đặt tên là resources
  2. Trong resources, click chuột phải → New → File → đặt tên là plugin.yml
  3. 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:
  1. File → Export → Java → JAR file → Next
  2. Chọn project, tick vào cả src và resources
  3. Đặt đường dẫn và tên file .jar (ví dụ: MyFirstPlugin.jar)
  4. Click Finish

Bước 6: Test Plugin
  1. Mở thư mục plugins trong server Spigot
  2. Chép file MyFirstPlugin.jar vào thư mục đó
  3. Chạy server và kiểm tra console xem có dòng “Plugin đã bật!” không.
Giải thích Code trong Main.java

Đoạn CodeGiải thích
extends JavaPluginKế 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 CodeTá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 JavaPluginKhai báo class Main và kế thừa JavaPlugin để plugin có thể được nhận diện bởi Spigot.
@OverrideGhi đè 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.


 
Similar content Most view Xem thêm
Back
Top Bottom