- Поддерживаемые версии
-
- 1.12.2
Всем привет. Статья будет посвящена написанию плагинов, а точнее, основным пунктам, которые я тут разберу.
Во-первых, нужно знать основы Java. Я пытаюсь учиться по O'Reilly "Изучаем Java", однако лучше купить ее бумажную версию - по ней легко учится. Цена в интернет-магазинах равняется примерно 930 рублям.
Можно использовать для каких-либо вопросов касающихся Java YouTube, некоторые сайты (javarush и в качестве "справочника" java-study.ru), toster, и подобные.
Ссылка скрыта, пожалуйста Войдитеили Зарегистрируйтесь
Ссылка скрыта, пожалуйста Войдитеили Зарегистрируйтесь
Ссылка скрыта, пожалуйста Войдитеили Зарегистрируйтесь
Просьба учесть, что некоторые сайты будут на английском языке, и лучше всего знать его, хотя можно запастись переводчиком)
Во-вторых, нужно уметь работать с документацией (привет Соседик). Документация есть и у Java, и у Bukkit API, вот ссылки:
Ссылка скрыта, пожалуйста Войдитеили Зарегистрируйтесь
Ссылка скрыта, пожалуйста Войдитеили Зарегистрируйтесь
Оба дока на английском, но это не очень страшно.
Если есть какие-либо идеи или вопросы "а как?", можно воспользоваться поиском по словам: он весьма удобный
Я не знаю что еще можно добавить по этому поводу, разве что документацию можно подключить к IDE.
В-третьих, нужно уметь пользоваться поисковиком. Все что Вы задумали - уже давно придумано за Вас. Как минимум реализация). Большинство вопросов, которые могут возникнуть, легче найти сначала в поисковике, чем спросить на форуме.
Работать можно с любым API, и сочетать тоже: мы можем использовать YouTube API, VK API и Bukkit API одновременно, но только зачем нам YouTube...
Часть первая: IDE
Вообще, существует огромное количество IDE (Integrated Development Environment - Интегрированная Среда Разработки): Intellij IDEA, Eclipse, NetBeans, Dr Java и прочие, но для разработки Dr Java вряд ли подойдет, скорее для обучения, так как не требователен к ресурсам и имеет portable-версию.
Ссылка скрыта, пожалуйста Войдитеили Зарегистрируйтесь
Ссылка скрыта, пожалуйста Войдитеили Зарегистрируйтесь
Ссылка скрыта, пожалуйста Войдитеили Зарегистрируйтесь
Выбирайте ту, которая нравится больше, но лучше найти минутку свободного времени и протестировать каждую. В туториале будет 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... и у нас открывается окно проводника, где мы должны выбрать ядро сервера. Его можно собрать самому, или скачать с Ссылка скрыта, пожалуйста Войдитеили Зарегистрируйтесь
Вернемся к 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() { }
Код примет следующий вид:
В onEnable (между фигурных скобочек) можно дописать
Java:
Код примет следующий вид:
Вернемся к 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, и подобные.
Ссылка скрыта, пожалуйста Войдите
Ссылка скрыта, пожалуйста Войдите
Ссылка скрыта, пожалуйста Войдите
Просьба учесть, что некоторые сайты будут на английском языке, и лучше всего знать его, хотя можно запастись переводчиком)
Во-вторых, нужно уметь работать с документацией (привет Соседик). Документация есть и у Java, и у Bukkit API, вот ссылки:
Ссылка скрыта, пожалуйста Войдите
Ссылка скрыта, пожалуйста Войдите
Оба дока на английском, но это не очень страшно.
Если есть какие-либо идеи или вопросы "а как?", можно воспользоваться поиском по словам: он весьма удобный
Я не знаю что еще можно добавить по этому поводу, разве что документацию можно подключить к IDE.
В-третьих, нужно уметь пользоваться поисковиком. Все что Вы задумали - уже давно придумано за Вас. Как минимум реализация). Большинство вопросов, которые могут возникнуть, легче найти сначала в поисковике, чем спросить на форуме.
Работать можно с любым API, и сочетать тоже: мы можем использовать YouTube API, VK API и Bukkit API одновременно, но только зачем нам YouTube...
Часть первая: IDE
Вообще, существует огромное количество IDE (Integrated Development Environment - Интегрированная Среда Разработки): Intellij IDEA, Eclipse, NetBeans, Dr Java и прочие, но для разработки Dr Java вряд ли подойдет, скорее для обучения, так как не требователен к ресурсам и имеет portable-версию.
Ссылка скрыта, пожалуйста Войдите
Ссылка скрыта, пожалуйста Войдите
Ссылка скрыта, пожалуйста Войдите
Выбирайте ту, которая нравится больше, но лучше найти минутку свободного времени и протестировать каждую. В туториале будет 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... и у нас открывается окно проводника, где мы должны выбрать ядро сервера. Его можно собрать самому, или скачать с Ссылка скрыта, пожалуйста Войдите
Вернемся к 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:
Java:
package ru.spigotru.plugin;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin{
@Override
public void onEnable() {
}
}
В onEnable (между фигурных скобочек) можно дописать
Java:
Java:
Logger log = Logger.getLogger();
log.info("Мой первый плагин!");
Код примет следующий вид:
Java:
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, копируем плагин себе на сервер, запускаем, и в консоли должно появится "[Имяплагина] Мой первый плагин!"