Kotlin · Bukkit · Spigot · Paper

KOTLIN ПЛАГИН САЈТОВА

Исти Bukkit API, написан у Kotlin-у. Опиши шта плагин треба да ради и Codexe поставља Gradle пројекат са Kotlin изворним сетом, исправним plugin.yml и JAR-ом који може да ти компајлира пре него што га преузмеш.

Зашто генерисати Kotlin плагин

Null безбедност тамо где Bukkit-у треба

Bukkit стално враћа null: офлајн играчи, светови који не постоје, кључеви који фале у конфигурацији. Kotlin те случајеве чини експлицитним при компајлирању, а не у 2 ујутру у конзоли сервера.

Прави Gradle пројекат

build.gradle.kts подешен за Kotlin JVM плагин и Paper/Spigot репозиторијуме, са стандардном структуром извора. Не један фајл за који мораш да тражиш место.

Много мање шаблонског кода

Data класе за моделе конфигурације, extension функције на Player и ItemStack и scope функције уместо угнеждених провера на null. Иста логика у приметно мање кода.

Подржава и Folia и проксије

Ако користиш Paper-ов вишенитни fork, имај на уму да Folia уклања једну главну нит и захтева распоређивање по регионима: изабери Folia циљ у генератору плагина да распоређивање буде исправно од почетка. За рад на нивоу мреже користи генератор прокси плагина. Документација за плагине објашњава разлике.

Примери промптова

> Kotlin плагин за Paper 1.21 са командом /kit која даје подесив сет предмета, cooldown по играчу сачуван у data класи и YAML конфигурацијом са подразумеваним вредностима.
> Kotlin плагин који асинхроно бележи свако ломљење блока у фајл по свету и додаје /blocklog <player> за читање последњих 20 уноса.
> Kotlin плагин који додаје сопствени рецепт за израду зачараног предмета, са listener-ом који спречава његово коришћење ван Nether-а.
> Kotlin плагин са GUI-јем по страницама који приказује играче на мрежи, са телепортом на клик доступним само уз permission node.

Kotlin генератор плагина: честа питања

Да ли Kotlin плагини раде на обичном Spigot или Paper серверу?

+

Да. Kotlin се компајлира у обичан JVM бајткод, па сервер не зна нити га занима у ком језику је плагин написан. Учитава се исто као Java плагин.

Да ли морам нешто да инсталирам на сервер?

+

Не. Kotlin стандардна библиотека се при билду пакује у JAR, па је плагин самосталан. Због тога је JAR већи од одговарајућег Java плагина.

Maven или Gradle?

+

Gradle. Kotlin циљ користи Gradle Kotlin плагин, стандардни toolchain за Kotlin на JVM-у. Java циљеви користе Maven.

Шта ми Kotlin овде заправо доноси?

+

Углавном null безбедност и мање церемоније. Bukkit API-ји враћају null на много места (getPlayer, getWorld, читање конфигурације), а Kotlin-ов систем типова те тера да то решиш при компајлирању, уместо да то откријеш као NullPointerException у продукцији. Data класе, extension функције и scope функције такође избацују доста шаблонског кода из конфигурације и listener-а.

Могу ли да мешам Java и Kotlin у једном плагину?

+

Генератор прави Kotlin изворни сет. Gradle уме да компајлира мешовите изворе, па касније можеш да додаш Java фајлове, али генерисани пројекат је примарно Kotlin.

Да изаберем Kotlin или Java?

+

Изабери Java ако желиш највећу компатибилност са туторијалима, постојећим исечцима и туђим кодом, јер скоро сав Bukkit материјал подразумева Java. Изабери Kotlin ако ти је близак и желиш краћи, null-safe код. API је исти у оба случаја.

Више волиш Java-у или радиш на другом делу стека? Codexe генерише и:

Како Codexe прави и проверава ове пројекте, шта да напишеш у захтеву и чести проблеми: водич за Spigot and Paper plugins (Java or Kotlin).

СПРЕМАН ЗА НОВИ ПЛАГИН?

Free план сваког дана допуњава 50K токена, довољно да мали Kotlin плагин завршиш из једног покушаја.

ПОЧНИ ДА КУЈЕШ
Kotlin генератор Minecraft плагина уз AI | Codexe