• Размещайте свои сервера у нас на мониторинге!

    Если вы ищите сервер, вы обязательно найдете его на нашем мониторинге! Если вы создатель сервера, скорее добавляйте его к нам в мониторинг, это поможет найти новых игроков!

    Перейти в мониторинг

  • Наше сообщество Вконтакте!

    Вступайте в наше сообщество Вконтакте, в нем вы сможете найти множество информации по созданию своего собственног сервера, а так же получить помощь и поддержку!

    Перейти в группу

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

Туториал [Bukkit API] - написание плагинов #1

Всем привет. Статья будет посвящена написанию плагинов, а точнее, основным пунктам, которые я тут разберу.
Во-первых, нужно знать основы Java. Я пытаюсь учиться по O'Reilly "Изучаем Java", однако лучше купить ее бумажную версию - по ней легко учится. Цена в интернет-магазинах равняется примерно 930 рублям.
Можно использовать для каких-либо вопросов касающихся Java YouTube, некоторые сайты (javarush и в качестве "справочника" java-study.ru), toster, и подобные.
Сайт Java
Форум для разработчиков Java
Сборник статей по Java

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

Во-вторых, нужно уметь работать с документацией (привет Соседик). Документация есть и у Java, и у Bukkit API, вот ссылки:
Bukkit API Docs
Java 8 Docs


578


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

579


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

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

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

Часть первая: IDE
Вообще, существует огромное количество IDE (Integrated Development Environment - Интегрированная Среда Разработки): Intellij IDEA, Eclipse, NetBeans, Dr Java и прочие, но для разработки Dr Java вряд ли подойдет, скорее для обучения, так как не требователен к ресурсам и имеет portable-версию.

Intellij IDEA
Eclipse
NetBeans


Выбирайте ту, которая нравится больше, но лучше найти минутку свободного времени и протестировать каждую. В туториале будет 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... и у нас открывается окно проводника, где мы должны выбрать ядро сервера. Его можно собрать самому, или скачать с get.bukkit.org


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, копируем плагин себе на сервер, запускаем, и в консоли должно появится "[Имяплагина] Мой первый плагин!"

  • Мне нравится!
Реакции: HotBan и K1ZO
Автор
Hidens
Просмотры
28
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

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