KOTLIN PLUGIN OLUŞTURUCU
plugin.yml ve sen indirmeden önce derleyebileceği bir JAR ile Gradle projesi hazırlasın.Neden Kotlin plugin'i oluşturmalısın
Bukkit'in ihtiyaç duyduğu yerde null güvenliği
Bukkit sürekli null döndürür: çevrimdışı oyuncular, eksik dünyalar, olmayan yapılandırma anahtarları. Kotlin bu durumları sunucu konsolunda gece 2'de değil, derleme zamanında açık hale getirir.
Gerçek bir Gradle projesi
Kotlin JVM plugin'ine ve Paper/Spigot depolarına bağlanmış build.gradle.kts, standart kaynak düzeniyle. Yuva bulman gereken tek bir dosya değil.
Çok daha az ortak kod
Yapılandırma modelleri için veri sınıfları, Player ve ItemStack üzerinde uzantı fonksiyonları ve iç içe null denetimleri yerine kapsam fonksiyonları. Aynı mantık gözle görülür şekilde daha az kodla.
Folia ve proxy'leri de hedefler
Paper'ın çok iş parçacıklı çatalındaysan, Folia'nın tek ana iş parçacığını kaldırdığını ve bölge duyarlı zamanlama gerektirdiğini unutma. Zamanlama baştan doğru olsun diye plugin oluşturucuda Folia hedefini seç. Ağ düzeyindeki işler için proxy plugin oluşturucuyu kullan. Farkları plugin dokümanları anlatır.
Örnek prompt'lar
Kotlin plugin oluşturucu SSS
Kotlin plugin'leri normal bir Spigot veya Paper sunucusunda çalışır mı?
+
Evet. Kotlin sıradan JVM bytecode'una derlenir, bu yüzden sunucu plugin'in hangi dilde yazıldığını bilmez ve umursamaz. Tıpkı bir Java plugin'i gibi yüklenir.
Sunucuya bir şey kurmam gerekiyor mu?
+
Hayır. Kotlin standart kütüphanesi derleme sırasında JAR'a gömülür, bu yüzden plugin kendi başına yeter. Bu, JAR'ı eşdeğer bir Java plugin'inden daha büyük yapar.
Maven mı, Gradle mı?
+
Gradle. Kotlin hedefi, JVM'de Kotlin için standart araç zinciri olan Gradle Kotlin plugin'ini kullanır. Java hedefleri Maven kullanır.
Burada Kotlin bana gerçekte ne kazandırıyor?
+
Çoğunlukla null güvenliği ve daha az tören. Bukkit API'leri birçok yerde null döndürür (getPlayer, getWorld, yapılandırma aramaları) ve Kotlin'in tip sistemi bunu üretimde NullPointerException olarak keşfetmek yerine derleme zamanında ele almanı zorunlu kılar. Veri sınıfları, uzantı fonksiyonları ve kapsam fonksiyonları da yapılandırma ve dinleyici kodundan epey ortak kod eler.
Tek bir plugin'de Java ve Kotlin'i karıştırabilir miyim?
+
Oluşturucu bir Kotlin kaynak kümesi üretir. Gradle karışık kaynakları derleyebilir, bu yüzden sonradan Java dosyaları ekleyebilirsin, ama üretilen proje önce Kotlin'dir.
Kotlin mi Java mı seçmeliyim?
+
Öğreticiler, mevcut kod parçaları ve başkalarının kodlarıyla azami uyumluluk istiyorsan Java'yı seç; çünkü neredeyse tüm Bukkit içeriği Java varsayar. Kotlin'e hâkimsen ve daha özlü, null güvenli kod istiyorsan Kotlin'i seç. API yüzeyi her iki durumda da aynı.
Diğer Codexe oluşturucuları
Prefer Java, or working somewhere else in the stack? Codexe also generates:
Codexe bu projeleri nasıl oluşturur ve kontrol eder, istekte neler yazılmalı ve yaygın sorunlar: Spigot and Paper plugins (Java or Kotlin) rehberi.
YENİ BİR PLUGIN'E HAZIR MISIN?
Free plan her gün 50K token yeniler; küçük bir Kotlin plugin'ini tek seferde yayına çıkarmaya yeter.
ÜRETMEYE BAŞLA