KOTLIN ПЛЪГИН НА УЕБСАЙТОВЕ
plugin.yml и JAR, който може да компилира за теб, преди да го изтеглиш.Защо да генерираш Kotlin плъгин
Null безопасност там, където Bukkit има нужда
Bukkit постоянно връща null - офлайн играчи, липсващи светове, липсващи ключове в config. Kotlin прави тези случаи явни още при компилация, вместо в 2 през нощта в конзолата на сървъра ти.
Истински Gradle проект
build.gradle.kts е настроен за Kotlin JVM плъгина и хранилищата на Paper/Spigot, със стандартната структура на изходния код. Не е един-единствен файл, за който трябва да търсиш място.
Много по-малко boilerplate
Data класове за моделите на config, extension функции върху Player и ItemStack и scope функции вместо вложени проверки за null. Същата логика с осезаемо по-малко код.
Поддържа също Folia и проксита
Ако си на многонишковия fork на Paper, имай предвид, че Folia премахва единствената главна нишка и изисква планиране по региони - избери целта Folia в генератора на плъгини, за да е правилно планирането от самото начало. За работа на ниво мрежа използвай генератора на прокси плъгини. Документацията за плъгини обяснява разликите.
Примерни заявки
Често задавани въпроси за генератора на Kotlin плъгини
Работят ли Kotlin плъгините на обикновен Spigot или Paper сървър?
+
Да. Kotlin се компилира до обикновен JVM байткод, така че сървърът нито знае, нито се интересува на какъв език е написан плъгинът. Зарежда се точно като Java плъгин.
Трябва ли да инсталирам нещо на сървъра?
+
Не. Стандартната библиотека на Kotlin се вгражда (shading) в JAR файла при компилация, така че плъгинът е самостоятелен. Затова JAR файлът е по-голям от еквивалентен Java плъгин.
Maven или Gradle?
+
Gradle. Целта Kotlin използва Gradle Kotlin плъгина, който е стандартният инструментариум за Kotlin на JVM. Java целите използват Maven.
Какво всъщност ми дава Kotlin тук?
+
Основно null безопасност и по-малко церемонии. Bukkit API-тата връщат null на много места - getPlayer, getWorld, четене от config - и типовата система на Kotlin те принуждава да се справиш с това още при компилация, вместо да го откриеш като NullPointerException в продукция. Data класовете, extension функциите и scope функциите също махат много boilerplate от кода за config и listener-и.
Мога ли да смесвам Java и Kotlin в един плъгин?
+
Генераторът създава Kotlin source set. Gradle може да компилира смесени изходни файлове, така че можеш да добавиш Java файлове по-късно, но генерираният проект е ориентиран към Kotlin.
Kotlin или Java да избера?
+
Избери Java, ако искаш максимална съвместимост с уроци, готови фрагменти и чужд код, защото почти всички материали за Bukkit приемат, че ползваш Java. Избери Kotlin, ако се чувстваш удобно с него и искаш по-кратък, null-safe код - API-то е едно и също и в двата случая.
Други генератори на Codexe
Предпочиташ Java или работиш в друга част от стека? Codexe генерира също:
Как Codexe създава и проверява такива проекти, какво да напишеш в заявката и честите проблеми: ръководство за Spigot and Paper plugins (Java or Kotlin).
ГОТОВ ЛИ СИ ЗА НОВ ПЛЪГИН?
Планът Free се презарежда с 50K токена всеки ден, достатъчно, за да издадеш малък Kotlin плъгин наведнъж.
ЗАПОЧНИ ДА КОВЕШ