- Поддерживаемые версии
- 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.
Оба дока на английском, но это не очень страшно.
Если есть какие-либо идеи или вопросы "а как?", можно воспользоваться поиском по словам: он весьма удобный.
Я не знаю что еще можно добавить по этому поводу, разве что документацию можно подключить к IDE.
В-третьих, нужно уметь пользоваться поисковиком. Все что Вы задумали - уже давно придумано за Вас. Как минимум реализация). Большинство вопросов, которые могут возникнуть, легче найти сначала в поисковике, чем спросить на форуме.
Работать можно с любым API, и сочетать тоже: мы можем использовать YouTube API, VK API и Bukkit API одновременно, но только зачем нам YouTube...
Часть первая: 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.
Откроется рабочее пространство. Жмем Windows в Tool-баре, Preferences, находим General, в нем Workspace и меняем в самом низу кодировку на Other: UTF-8, принимаем и выходим.
(У меня темная тема, не пугайтесь)
Вроде бы все.
Перед дальнейшим прочтением просьба: быстренько пробежаться по урокам по Java, написать простую программу и отдохнуть). Было бы неплохо прочитать про переменные, массивы, условия, циклы (особенно for), классы и объекты (хотя ООП это не просто), и немного попрактиковаться, так как это все поможет в дальнейшем.
Создание проекта
Итак, я не могу закончить первую часть не написав ни строчки кода. В Tool-баре находим File -> Java Project, вводим название проекта, жмем Finish.
Мы создали новый проект, который появился у нас в левой части экрана (Package Explorer - Менеджер Пакетов). Нажимаем по нему ПКМ, ищем Build Path -> Configure Build Path... и у нас появляется окно с настройками проекта, а конкретнее, Build Path. Наверху есть несколько кнопок, выбираем там Libraries, справа появляется несколько кнопок. Выбираем Add External Jars... и у нас открывается окно проводника, где мы должны выбрать ядро сервера. Его можно собрать самому, или скачать с You must be logged in to see this link.
Вернемся к Package Explorer. В пакете src создаем plugin.yml: ПКМ -> New -> File. Похожим образом создаем пакет своего плагина - он обычно состоит из трех частей, однако его имя может состоять и из одной. Пакет состоит из <домен>.<имяразработчика>.<названиепроекта/плагина/программы>, но может быть и <домен>.<имяразработчика>, или вообще <проект>, разницы нет. Я создаю пакет ru.spigotru.plugin, где ru - домен, spigotru разработчик, а plugin название проекта. Нет разницы какой домен вы будете использовать.
Теперь Package Explorer приобретает такой вид:
Первый плагин
Создаем в нашем пакете новый класс - он создается аналогично что и другие пакеты/файлы/прочие, и имеет имя "Class" в выпадающем меню. Называем его так, как называется Ваш плагин, но лучше использовать Main. Пока что, он очень пустой
Где
IDE начнет ругаться, но предложит решение проблемы: просто нажмите на лампочку, и выберете подходящий вариант. В этом случае
Теперь все нормально:
В теле класса пишем аннотацию
Код примет следующий вид:
В onEnable (между фигурных скобочек) можно дописать
Код примет следующий вид:
Вернемся к plugin.yml.
Все plugin.yml имеют один вид, нам хватит для начала этого:
В name: может быть любое имя плагина, main должен содержать имя пакета и имя главного класса (в моем случае ru.spigotru.plugin.Main), version - версия.
Сохраняем файл.
Для экспорта кода в Jar, нам нужно нажать ПКМ по проекту, выбрать Export -> JAR file, выбрать нужный проект, и путь, куда он будет сохранен.
Жмем Finish, копируем плагин себе на сервер, запускаем, и в консоли должно появится "[Имяплагина] Мой первый плагин!"
Пока что это все. Завтра будет интереснее.
Во-первых, нужно знать основы 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.
Оба дока на английском, но это не очень страшно.
Если есть какие-либо идеи или вопросы "а как?", можно воспользоваться поиском по словам: он весьма удобный.
Я не знаю что еще можно добавить по этому поводу, разве что документацию можно подключить к 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 (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.
Откроется рабочее пространство. Жмем Windows в Tool-баре, Preferences, находим General, в нем Workspace и меняем в самом низу кодировку на Other: UTF-8, принимаем и выходим.
(У меня темная тема, не пугайтесь)
Вроде бы все.
Перед дальнейшим прочтением просьба: быстренько пробежаться по урокам по Java, написать простую программу и отдохнуть). Было бы неплохо прочитать про переменные, массивы, условия, циклы (особенно for), классы и объекты (хотя ООП это не просто), и немного попрактиковаться, так как это все поможет в дальнейшем.
Создание проекта
Итак, я не могу закончить первую часть не написав ни строчки кода. В Tool-баре находим File -> Java Project, вводим название проекта, жмем Finish.
Мы создали новый проект, который появился у нас в левой части экрана (Package Explorer - Менеджер Пакетов). Нажимаем по нему ПКМ, ищем Build Path -> Configure Build Path... и у нас появляется окно с настройками проекта, а конкретнее, Build Path. Наверху есть несколько кнопок, выбираем там Libraries, справа появляется несколько кнопок. Выбираем Add External Jars... и у нас открывается окно проводника, где мы должны выбрать ядро сервера. Его можно собрать самому, или скачать с You must be logged in to see this link.
Вернемся к Package Explorer. В пакете src создаем plugin.yml: ПКМ -> New -> File. Похожим образом создаем пакет своего плагина - он обычно состоит из трех частей, однако его имя может состоять и из одной. Пакет состоит из <домен>.<имяразработчика>.<названиепроекта/плагина/программы>, но может быть и <домен>.<имяразработчика>, или вообще <проект>, разницы нет. Я создаю пакет ru.spigotru.plugin, где ru - домен, spigotru разработчик, а plugin название проекта. Нет разницы какой домен вы будете использовать.
Теперь Package Explorer приобретает такой вид:
Первый плагин
Создаем в нашем пакете новый класс - он создается аналогично что и другие пакеты/файлы/прочие, и имеет имя "Class" в выпадающем меню. Называем его так, как называется Ваш плагин, но лучше использовать Main. Пока что, он очень пустой
Где
public class Main
дописываем перед скобочкой extends JavaPlugin - мы наследуем класс плагина Bukkit API.IDE начнет ругаться, но предложит решение проблемы: просто нажмите на лампочку, и выберете подходящий вариант. В этом случае
import org.bukkit.plugin.java.JavaPlugin;
Теперь все нормально:
В теле класса пишем аннотацию
@Override
- эта аннотация как бы говорит компилятору что мы переопределяем метод. Сразу после, на следующей строке пишем public void onEnable() { }
Код примет следующий вид:
Java:
package ru.spigotru.plugin;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin{
@Override
public void 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 имеют один вид, нам хватит для начала этого:
YAML:
name: FirstPlugin
main: <пакет>.<главный_класс>
version: 1.0
Сохраняем файл.
Для экспорта кода в Jar, нам нужно нажать ПКМ по проекту, выбрать Export -> JAR file, выбрать нужный проект, и путь, куда он будет сохранен.
Жмем Finish, копируем плагин себе на сервер, запускаем, и в консоли должно появится "[Имяплагина] Мой первый плагин!"
Пока что это все. Завтра будет интереснее.