Kotlin · Bukkit · Spigot · Paper

PLUGIN KOTLIN WEB DENGAN AI

API Bukkit yang sama, ditulis dengan Kotlin. Deskripsikan apa yang harus dilakukan plugin dan Codexe menyusun proyek Gradle dengan source set Kotlin, plugin.yml yang benar, dan JAR yang bisa dikompilasi untukmu sebelum diunduh.

Kenapa membuat plugin Kotlin

Null safety di tempat Bukkit membutuhkannya

Bukkit terus-menerus mengembalikan null - pemain offline, world yang hilang, kunci config yang tidak ada. Kotlin membuat kasus itu eksplisit saat kompilasi, bukan jam 2 pagi di konsol servermu.

Proyek Gradle sungguhan

build.gradle.kts yang sudah terhubung ke plugin Kotlin JVM dan repositori Paper/Spigot, dengan tata letak sumber standar. Bukan satu file yang harus kamu cari rumahnya.

Jauh lebih sedikit boilerplate

Data class untuk model config, extension function pada Player dan ItemStack, dan scope function sebagai pengganti pengecekan null bersarang. Logika yang sama dengan kode yang jauh lebih sedikit.

Juga menargetkan Folia dan proxy

Jika kamu memakai fork multithread Paper, perhatikan bahwa Folia menghapus satu thread utama dan membutuhkan penjadwalan sadar-region - pilih target Folia di pembuat plugin agar penjadwalannya benar sejak awal. Untuk pekerjaan tingkat jaringan pakai pembuat plugin proxy. Dokumen plugin menjelaskan perbedaannya.

Contoh prompt

> Plugin Kotlin untuk Paper 1.21 dengan perintah /kit yang memberi set item yang bisa dikonfigurasi, cooldown per pemain yang disimpan dalam data class, dan config YAML dengan nilai default.
> Plugin Kotlin yang mencatat setiap pemecahan blok ke file per world secara asinkron dan menambahkan /blocklog <player> untuk membaca 20 entri terakhir.
> Plugin Kotlin yang menambahkan resep crafting kustom untuk item yang di-enchant, dengan listener yang mencegahnya dipakai di luar nether.
> Plugin Kotlin dengan GUI berhalaman yang mendaftar pemain online, klik-untuk-teleport yang dikunci dengan permission node.

FAQ pembuat plugin Kotlin

Apakah plugin Kotlin berjalan di server Spigot atau Paper biasa?

+

Ya. Kotlin dikompilasi menjadi bytecode JVM biasa, jadi server tidak tahu dan tidak peduli plugin ditulis dengan bahasa apa. Plugin dimuat persis seperti plugin Java.

Apakah aku perlu menginstal sesuatu di server?

+

Tidak. Pustaka standar Kotlin di-shade ke dalam JAR saat build, jadi plugin berdiri sendiri. Itu memang membuat JAR lebih besar daripada plugin Java yang setara.

Maven atau Gradle?

+

Gradle. Target Kotlin memakai plugin Gradle Kotlin, yang merupakan toolchain standar untuk Kotlin di JVM. Target Java memakai Maven.

Sebenarnya apa untungnya Kotlin di sini?

+

Terutama null safety dan lebih sedikit seremoni. API Bukkit mengembalikan null di banyak tempat - getPlayer, getWorld, pencarian config - dan sistem tipe Kotlin memaksamu menanganinya saat kompilasi, bukan menemukannya sebagai NullPointerException di produksi. Data class, extension function, dan scope function juga memangkas banyak boilerplate dari kode config dan listener.

Bisakah mencampur Java dan Kotlin dalam satu plugin?

+

Generator menghasilkan source set Kotlin. Gradle bisa mengompilasi sumber campuran, jadi kamu bisa menambah file Java setelahnya, tetapi proyek yang dihasilkan mengutamakan Kotlin.

Sebaiknya pilih Kotlin atau Java?

+

Pilih Java jika kamu ingin kompatibilitas maksimal dengan tutorial, cuplikan yang ada, dan kode orang lain, karena hampir semua materi Bukkit mengasumsikan Java. Pilih Kotlin jika kamu nyaman dengannya dan ingin kode yang lebih ringkas dan null-safe - permukaan API-nya identik di keduanya.

Prefer Java, or working somewhere else in the stack? Codexe also generates:

Cara Codexe membangun dan memeriksa proyek-proyek ini, apa yang perlu ditulis di permintaan, dan masalah umumnya: panduan Spigot and Paper plugins (Java or Kotlin).

SIAP UNTUK PLUGIN BARU?

Paket Free mengisi ulang 50K token setiap hari, cukup untuk merilis plugin Kotlin kecil sekaligus.

MULAI MENEMPA
Pembuat Plugin Minecraft Kotlin – plugin Bukkit buatan AI dalam Kotlin | Codexe