Здравствуйте посмотрел темы на пикабу станет ясно что уроков по написанию плагинов увы очень и очень мало. Зато запросов на разработку плагинов довольно много.
Работа с plugin.yml
Работа с командами
Написать плагин для Bukkit не так уж и сложно.Плагины могут перехватывать эвенты (события) изменять или анулировать результат к примеру эвенты входа и выхода с сервера игроков выглядят так:
public void onJoin(PlayerJoinEvent event) <
event.setJoinMessage(event.getPlayer().getName() + » вошел на сервер»);
public void onQuit(PlayerQuitEvent event) <
event.setQuitMessage(event.getPlayer().getName() + » покинул сервер»);
Рассмотрим их повнимательнее. » @EventHandler » перед функцией означает что дальше идёт перехват эвента, то есть когда игрок заходит или выходит с сервера будет срабатывать та или иная функция при этом в переменную «event» будут переданы некоторые значения.
event.getPlayer() — мы получим игрока который вошел или вышел
event.getQuitMessage() — мы получим сообщение которое будет выведено в игре
Изменить игрока не получится зато можно изменить сообщение:
event.setJoinMessage(event.getPlayer().getName() + » вошел на сервер»);
Рассмотрим этот код:
event.setJoinMessage() — задаёт выводимое сообщение тоесть мы можем написать event.setJoinMessage(«Hello World!») и у игроков в игре будет выведено сообщение «Hello World!»
event.getPlayer().getName() — этим можно получить имя игрока и если передавать значение переменной то оно будет String :
String playername = event.getPlayer().getName();
Так инициализируется переменная playername содержащая текстовую информацию,
в конце должен стоять знак «;» означающий завершение строки иначе при компиляции будет ошибка.
Дальше идёт » + » вошел на сервер»» при объединении переменной и текста между ними ставится знак «+» а текст оборачивается в кавычки , пример:
String a = «Hello»;
String b = «World»;
на экран будет выведено «Hello World!»
замете что знак + не заменяется на пробел а просто играет роль связующего.
Теперь давайте приступим к написанию самого плагина.
Во первых понадобится программа для компиляции кода, я посоветую использовать
выберете для Java EE. После установки нужно скачать craftbukkit.
Теперь зайдите в NetBeans и нажмите «Создать проект» (светло коричневая папка с плюсиком в панеле инструментов)
Выберете Java => Приложение Java , введите папку и название проекта после в поле создать главный класс ставте галочку и вводите MyProject.Main
MyProject — пакет классов (папка) можно ввести название вашего плагина но не должно быть пробелов
Main — главный класс проекта
Нажмите готово и у вас должен будет создаться проект и открыться класс Main
Теперь заходим в папку с проектом и создаём папку lib в неё помещаем скачанный craftbukkit после переключаемся сново в NetBeans жмём правой кнопкой по проекту (слева) заходим в свойства, в открывшемся окне выбираем «Библиотеки» и жмём «добавить папку или jar» и выбираем craftbukkit.jar, жмём ок и ещё раз ок.
Возвращаемся к главному классу
public class Main < <
public class Main extends JavaPlugin implements Listener < <
JavaPlugin и Listener будут подчёркнуты красным нажимаем на них и зажимаем Alt+Enter появется подсказка жмём «Добавить оператор импорта org.bukkit.event.Listener»
потом по другому слову тоже самое и выбираем «Добавить оператор импорта org.bukkit.plugin.java.JavaPlugin»
public static void main(String[] args) <
// TODO code application logic here
public void onEnable() <
getServer().broadcastMessage(«Мой плагин включен»);
public void onDisable() <
getServer().broadcastMessage(«Мой плагин отключен»);
public void onJoin(PlayerJoinEvent event) <
event.setJoinMessage(event.getPlayer().getName() + » зашел на сервер»);
public void onQuit(PlayerQuitEvent event) <
event.setQuitMessage(event.getPlayer().getName() + » покинул сервер»);
onEnable() — срабатывает когда плагин включается
onDisable() — срабатывает когда плагин выключается
с PlayerJoinEvent и PlayerQuitEvent сделать тоже самое(иморт)
Готово теперь можно скомпилировать код и плагин готов.