Kotlin · Bukkit · Spigot · Paper

ПЛАГІН НА KOTLIN ГЕНЕРАТОР

Те саме API Bukkit, але на Kotlin. Опишіть, що має робити плагін, і Codexe створить проєкт Gradle з набором джерел Kotlin, правильним plugin.yml та JAR, який він може скомпілювати для вас до завантаження.

Чому варто генерувати плагін на Kotlin

Null-безпека там, де її потребує Bukkit

Bukkit постійно повертає null — гравці офлайн, відсутні світи, відсутні ключі конфігурації. Kotlin робить ці випадки явними на етапі компіляції, а не о 2-й ночі в консолі вашого сервера.

Справжній проєкт Gradle

build.gradle.kts, налаштований під плагін Kotlin JVM і репозиторії Paper/Spigot, зі стандартною структурою джерел. Не один файл, для якого ви маєте шукати місце.

Значно менше шаблонного коду

Дата-класи для моделей конфігурації, функції-розширення для Player і ItemStack та scope-функції замість вкладених перевірок на null. Та сама логіка помітно меншим кодом.

Також підтримує Folia і проксі

Якщо ви на багатопотоковому відгалуженні Paper, пам'ятайте, що Folia прибирає єдиний головний потік і потребує планування з урахуванням регіонів — виберіть ціль Folia в генераторі плагінів, щоб планування було правильним із самого початку. Для мережевих завдань скористайтеся генератором проксі-плагінів. Документація плагінів пояснює відмінності.

Приклади запитів

> Плагін на Kotlin для Paper 1.21 з командою /kit, що видає налаштовуваний набір предметів, затримкою для кожного гравця, що зберігається в дата-класі, і конфігурацією YAML зі значеннями за замовчуванням.
> Плагін на Kotlin, що асинхронно записує кожне руйнування блока у файл для кожного світу й додає /blocklog <player> для перегляду останніх 20 записів.
> Плагін на Kotlin, що додає власний рецепт крафту зачарованого предмета зі слухачем, який забороняє використовувати його поза Незером.
> Плагін на Kotlin із GUI зі сторінками, що показує гравців онлайн, з телепортом по кліку за правом доступу.

Часті запитання про генератор плагінів на Kotlin

Чи працюють плагіни на Kotlin на звичайному сервері Spigot чи Paper?

+

Так. Kotlin компілюється у звичайний байт-код JVM, тож серверу байдуже, якою мовою написано плагін. Він завантажується точно так само, як плагін на Java.

Чи потрібно щось встановлювати на сервері?

+

Ні. Стандартну бібліотеку Kotlin вбудовано в JAR під час збірки, тож плагін автономний. Через це JAR більший за еквівалентний плагін на Java.

Maven чи Gradle?

+

Gradle. Ціль Kotlin використовує плагін Gradle для Kotlin — стандартний набір інструментів для Kotlin на JVM. Цілі на Java використовують Maven.

Що саме Kotlin тут дає?

+

Переважно null-безпеку й менше церемоній. API Bukkit у багатьох місцях повертає null — getPlayer, getWorld, пошук у конфігурації — а система типів Kotlin змушує обробляти це на етапі компіляції, а не виявляти як NullPointerException на продакшені. Дата-класи, функції-розширення та scope-функції також прибирають багато шаблонного коду з конфігурації та слухачів.

Чи можна змішувати Java і Kotlin в одному плагіні?

+

Генератор створює набір джерел Kotlin. Gradle вміє компілювати змішані джерела, тож пізніше можна додати файли Java, але згенерований проєкт насамперед на Kotlin.

Що вибрати: Kotlin чи Java?

+

Вибирайте Java, якщо потрібна максимальна сумісність із посібниками, готовими фрагментами та чужим кодом, адже майже всі матеріали про Bukkit припускають Java. Вибирайте Kotlin, якщо вам з ним комфортно й хочете лаконічнішого null-безпечного коду — набір API в обох випадках однаковий.

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

Як Codexe створює й перевіряє такі проєкти, що писати в запиті та типові проблеми: посібник «Spigot and Paper plugins (Java or Kotlin)».

ГОТОВІ ДО НОВОГО ПЛАГІНА?

Безкоштовний тариф щодня поповнює 50K токенів — цього достатньо, щоб випустити невеликий плагін на Kotlin за один раз.

ПОЧАТИ КУВАТИ
Генератор плагінів Minecraft на Kotlin — плагіни Bukkit на Kotlin зі ШІ | Codexe