[Bukkit API] - написание плагинов

Руководство [Bukkit API] - написание плагинов

Поддерживаемые версии
  1. 1.12
Всем привет. Статья будет посвящена написанию плагинов, а точнее, основным пунктам, которые я тут разберу.
Во-первых, нужно знать основы Java. Я пытаюсь учиться по O'Reilly "Изучаем Java", однако лучше купить ее бумажную версию - по ней легко учится. Цена в интернет-магазинах равняется примерно 930 рублям.
Можно использовать для каких-либо вопросов касающихся Java YouTube, некоторые сайты (javarush и в качестве "справочника" java-study.ru), toster, и подобные.
You must be logged in to see this link.
You must be logged in to see this link.
You must be logged in to see this link.

Просьба учесть, что некоторые сайты будут на английском языке, и лучше всего знать его, хотя можно запастись переводчиком)

Во-вторых, нужно уметь работать с документацией (привет Соседик). Документация есть и у Java, и у Bukkit API, вот ссылки:
You must be logged in to see this link.
You must be logged in to see this link.

578

Оба дока на английском, но это не очень страшно.
Если есть какие-либо идеи или вопросы "а как?", можно воспользоваться поиском по словам: он весьма удобный.
579

Я не знаю что еще можно добавить по этому поводу, разве что документацию можно подключить к IDE.

В-третьих, нужно уметь пользоваться поисковиком. Все что Вы задумали - уже давно придумано за Вас. Как минимум реализация). Большинство вопросов, которые могут возникнуть, легче найти сначала в поисковике, чем спросить на форуме.

Работать можно с любым API, и сочетать тоже: мы можем использовать YouTube API, VK API и Bukkit API одновременно, но только зачем нам YouTube...


Туториалы:
1) Bukkit API - написание плагинов
You must be logged in to see this link.
You must be logged in to see this link.
Часть первая: IDE
Вообще, существует огромное количество IDE (Integrated Development Environment - Интегрированная Среда Разработки): Intellij IDEA, Eclipse, NetBeans, Dr Java и прочие, но для разработки Dr Java вряд ли подойдет, скорее для обучения, так как не требователен к ресурсам и имеет portable-версию.

You must be logged in to see this link.
You must be logged in to see this link.
You must be logged in to see this link.


Выбирайте ту, которая нравится больше, но лучше найти минутку свободного времени и протестировать каждую. В туториале будет Eclipse, но действия с другими IDE аналогичны.

После загрузки и установки, откройте IDE. Появится окошко выбора рабочей директории, можно выбрать нужный путь или оставить все как есть и нажать Launch.
580


Откроется рабочее пространство. Жмем Windows в Tool-баре, Preferences, находим General, в нем Workspace и меняем в самом низу кодировку на Other: UTF-8, принимаем и выходим.
581

(У меня темная тема, не пугайтесь)

Вроде бы все.

Перед дальнейшим прочтением просьба: быстренько пробежаться по урокам по Java, написать простую программу и отдохнуть). Было бы неплохо прочитать про переменные, массивы, условия, циклы (особенно for), классы и объекты (хотя ООП это не просто), и немного попрактиковаться, так как это все поможет в дальнейшем.

Создание проекта
Итак, я не могу закончить первую часть не написав ни строчки кода. В Tool-баре находим File -> Java Project, вводим название проекта, жмем Finish.
582

Мы создали новый проект, который появился у нас в левой части экрана (Package Explorer - Менеджер Пакетов). Нажимаем по нему ПКМ, ищем Build Path -> Configure Build Path... и у нас появляется окно с настройками проекта, а конкретнее, Build Path. Наверху есть несколько кнопок, выбираем там Libraries, справа появляется несколько кнопок. Выбираем Add External Jars... и у нас открывается окно проводника, где мы должны выбрать ядро сервера. Его можно собрать самому, или скачать с You must be logged in to see this link.

583

Вернемся к Package Explorer. В пакете src создаем plugin.yml: ПКМ -> New -> File. Похожим образом создаем пакет своего плагина - он обычно состоит из трех частей, однако его имя может состоять и из одной. Пакет состоит из <домен>.<имяразработчика>.<названиепроекта/плагина/программы>, но может быть и <домен>.<имяразработчика>, или вообще <проект>, разницы нет. Я создаю пакет ru.spigotru.plugin, где ru - домен, spigotru разработчик, а plugin название проекта. Нет разницы какой домен вы будете использовать.
Теперь Package Explorer приобретает такой вид:
584

Первый плагин
Создаем в нашем пакете новый класс - он создается аналогично что и другие пакеты/файлы/прочие, и имеет имя "Class" в выпадающем меню. Называем его так, как называется Ваш плагин, но лучше использовать Main. Пока что, он очень пустой
585

Где public class Main дописываем перед скобочкой extends JavaPlugin - мы наследуем класс плагина Bukkit API.
IDE начнет ругаться, но предложит решение проблемы: просто нажмите на лампочку, и выберете подходящий вариант. В этом случае import org.bukkit.plugin.java.JavaPlugin;
586

Теперь все нормально:
587

В теле класса пишем аннотацию @Override - эта аннотация как бы говорит компилятору что мы переопределяем метод. Сразу после, на следующей строке пишем public void onEnable() { }
Код примет следующий вид:

Java:
package ru.spigotru.plugin;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{
    @Override
    public void onEnable() {
    
    }
}
В onEnable (между фигурных скобочек) можно дописать
Java:
Logger log = Logger.getLogger();
log.info("Мой первый плагин!");
Код примет следующий вид:

Java:
package ru.spigotru.plugin;

import java.util.logging.Logger;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{
    @Override
    public void onEnable() {
        Logger log = getLogger();
        log.info("Мой первый плагин!");
    }
}
Вернемся к plugin.yml.
Все plugin.yml имеют один вид, нам хватит для начала этого:

YAML:
name: FirstPlugin
main: <пакет>.<главный_класс>
version: 1.0
В name: может быть любое имя плагина, main должен содержать имя пакета и имя главного класса (в моем случае ru.spigotru.plugin.Main), version - версия.
Сохраняем файл.
Для экспорта кода в Jar, нам нужно нажать ПКМ по проекту, выбрать Export -> JAR file, выбрать нужный проект, и путь, куда он будет сохранен.
Жмем Finish, копируем плагин себе на сервер, запускаем, и в консоли должно появится "[Имяплагина] Мой первый плагин!"

Пока что это все. Завтра будет интереснее.
Автор
q20w26a
Просмотры
28 894
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя q20w26a

Поделиться ресурсом

Назад
Сверху Снизу