PLUGIN KOTLIN TRÌNH TẠO
plugin.yml chính xác và một JAR mà nó có thể biên dịch giúp bạn trước khi bạn tải về.Vì sao nên tạo plugin Kotlin
An toàn null đúng chỗ Bukkit cần
Bukkit liên tục trả về null - người chơi offline, thế giới bị thiếu, khóa cấu hình vắng mặt. Kotlin làm rõ các trường hợp đó lúc biên dịch thay vì lúc 2 giờ sáng trên console máy chủ của bạn.
Một dự án Gradle thật
build.gradle.kts được cấu hình cho plugin Kotlin JVM và các repository Paper/Spigot, với cấu trúc nguồn chuẩn. Không phải một tệp lẻ mà bạn phải tìm chỗ cho nó.
Ít mã lặp hơn nhiều
Data class cho mô hình cấu hình, extension function trên Player và ItemStack, và scope function thay cho các lệnh kiểm tra null lồng nhau. Cùng một logic với mã ít hơn rõ rệt.
Cũng hỗ trợ Folia và proxy
Nếu bạn dùng bản fork đa luồng của Paper, lưu ý rằng Folia bỏ luồng chính duy nhất và cần lập lịch theo vùng - hãy chọn đích Folia trên trình tạo plugin để việc lập lịch đúng ngay từ đầu. Với công việc cấp mạng, hãy dùng trình tạo plugin proxy. Tài liệu plugin giải thích các khác biệt.
Prompt mẫu
Câu hỏi thường gặp về trình tạo plugin Kotlin
Plugin Kotlin có chạy trên máy chủ Spigot hoặc Paper bình thường không?
+
Có. Kotlin biên dịch ra bytecode JVM thông thường, nên máy chủ không biết và cũng không quan tâm plugin được viết bằng ngôn ngữ nào. Nó được nạp y hệt một plugin Java.
Tôi có cần cài thêm gì trên máy chủ không?
+
Không. Thư viện chuẩn của Kotlin được shade vào JAR lúc build, nên plugin tự chứa đủ. Điều đó làm JAR lớn hơn một plugin Java tương đương.
Maven hay Gradle?
+
Gradle. Đích Kotlin dùng plugin Gradle Kotlin, là bộ công cụ chuẩn cho Kotlin trên JVM. Các đích Java dùng Maven.
Kotlin thật sự mang lại gì cho tôi ở đây?
+
Chủ yếu là an toàn null và ít thủ tục hơn. API Bukkit trả về null ở rất nhiều chỗ - getPlayer, getWorld, tra cứu cấu hình - và hệ thống kiểu của Kotlin buộc bạn xử lý lúc biên dịch thay vì phát hiện ra dưới dạng NullPointerException trên production. Data class, extension function và scope function cũng cắt bớt rất nhiều mã lặp trong mã cấu hình và listener.
Tôi có thể trộn Java và Kotlin trong một plugin không?
+
Trình tạo tạo ra một source set Kotlin. Gradle có thể biên dịch nguồn hỗn hợp, nên bạn có thể thêm tệp Java sau đó, nhưng dự án được tạo ra ưu tiên Kotlin.
Tôi nên chọn Kotlin hay Java?
+
Chọn Java nếu bạn muốn tương thích tối đa với hướng dẫn, đoạn mã có sẵn và mã của người khác, vì hầu như mọi tài liệu Bukkit đều giả định dùng Java. Chọn Kotlin nếu bạn quen với nó và muốn mã gọn hơn, an toàn null - bề mặt API giống hệt nhau ở cả hai.
Các trình tạo khác của Codexe
Prefer Java, or working somewhere else in the stack? Codexe also generates:
Cách Codexe xây dựng và kiểm tra các dự án này, nên ghi gì trong yêu cầu và các vấn đề thường gặp: hướng dẫn Spigot and Paper plugins (Java or Kotlin).
SẴN SÀNG CHO PLUGIN MỚI?
Gói Free nạp lại 50K token mỗi ngày, đủ để phát hành một plugin Kotlin nhỏ trong một lượt.
BẮT ĐẦU RÈN