Chuyển đến nội dung
Nền tảng

Plugin Folia

Cơ chế đa luồng theo vùng của Folia thay đổi cách plugin lên lịch công việc. Cách Codexe tạo plugin an toàn với Folia và những gì nên ghi trong yêu cầu.

Đã cập nhật

Trên trang này
  1. Codexe làm gì khác đi
  2. Nên ghi gì trong yêu cầu
  3. Build và xác minh
  4. Sự cố thường gặp

Folia là bản fork của Paper xử lý tick cho các vùng khác nhau của thế giới trên các luồng khác nhau. Không có một "luồng chính" duy nhất, nên cách lên lịch Bukkit thông thường (Bukkit.getScheduler().runTask(...)) không hợp lệ.

#Codexe làm gì khác đi

Khi bạn chọn loại Folia, plugin được tạo ra sẽ:

  • lên lịch công việc bằng các bộ lập lịch vùng, thực thể, vùng toàn cục và bất đồng bộ thay vì bộ lập lịch Bukkit,
  • khai báo folia-supported: true trong plugin.yml,
  • build dựa trên API Folia (Maven).

#Nên ghi gì trong yêu cầu

Mọi thứ trong hướng dẫn Spigot & Paper, cộng thêm các chi tiết nhạy cảm về thời gian: "dịch chuyển sau 3 giây", "lặp lại mỗi phút cho từng người chơi online". Đây là những chỗ code Folia khác biệt nhiều nhất.

#Build và xác minh

Plugin Folia được biên dịch và kiểm tra như mọi plugin khác trước khi Sẵn sàng. Việc biên dịch chứng minh code build được dựa trên API Folia. An toàn luồng khi chạy vẫn phụ thuộc vào logic, nên hãy thử trên một máy chủ Folia.

#Sự cố thường gặp

Triệu chứngNguyên nhân có thể
UnsupportedOperationException liên quan đến bộ lập lịchCode (thường từ một phụ thuộc) dùng bộ lập lịch Bukkit. Hãy nhờ khung chat chuyển sang bộ lập lịch vùng hoặc thực thể.
Plugin từ chối nạp trên FoliaThiếu folia-supported: true trong plugin.yml.
Plugin Folia | Codexe Docs