Bukkit и Minecraft используют язык программирования Java. Вы будете писать все свои плагины на Java. Причина, по которой Bukkit использует Java, заключается в том, что Minecraft изначально написан на нем. Отсюда Minecraft: Java Edition.
Хотя Java действительно требует большого обучения, она похожа на другие языки программирования высокого уровня, такие как C #. Это означает, что некоторые навыки можно передавать.
Теперь приступим к программированию нашего плагина.
Написание основного класса
В последней части этой серии руководств вы в конце создали файл класса Java с именем Main.class. Это класс, который будет содержать код вашего плагина и всегда будет запускаться при запуске сервера.
Импорт библиотеки плагинов Bukkit
В верхней части нашего файла Main.java (но ниже нашего оператора пакета) нам нужно импортировать библиотеку Bukkit. Просто добавьте эту строку кода:
import org.bukkit.plugin.java.JavaPlugin
Теперь нам нужно расширить наш класс с помощью JavaPlugin. Чтобы расширить наш класс, поместите extends JavaPlugin
после public class Main
, но перед закрывающей фигурной скобкой {
.
Итак, наш файл Main.class должен выглядеть так:
package org.ethan.flyplugin import org.bukkit.plugin.java.JavaPlugin public class Main extends JavaPlugin{ }
onEnable и onDisable
Нам нужно изучить две функции Bukkit. Это onEnable()
и onDisable()
. Это первые функции, которые разработчик плагина помещает в свой основной класс. Эти функции очень простые, название описывает, что они делают. onEnable()
запускается каждый раз, когда подключаемый модуль включен, а onDisable()
запускается каждый раз, когда подключаемый модуль отключен.
Таким образом, эти функции запускаются при запуске сервера (onEnable) и при его завершении (onDisable). Чтобы написать эти функции, мы помещаем это в основной класс:
@Override public void onEnable(){ } @Override public void onDisable(){ }
Метод @Override
на самом деле не нужен, поскольку Java автоматически переопределит функцию за вас, однако рекомендуется поместить его туда, чтобы сообщить программисту, что эта функция переопределяется. Подробнее о наследовании можно узнать здесь: https://docs.oracle.com/javase/specs/jls/se14/html/jls-8.html#jls-8.4.8
В эти созданные нами функции мы можем поместить все, что захотим. Мы можем заниматься арифметикой, мы можем войти в консоль, что угодно. Для начала я хочу добавить сообщение в консоль. Для этого мы будем использовать встроенную функцию Java, System.out.println()
:
public void onEnable(){ System.out.println(ChatColor.GREEN + "[Fly Plugin] Fly plugin initiated"); }
На консоль сервера будет отправлено сообщение зеленого цвета: «[Плагин Fly] Плагин Fly запущен». Во-первых, чтобы получить цвета консоли, нам нужно импортировать класс. В нашем импорте JavaPlugin:
import org.bukkit.ChatColor;
Теперь мы можем добавлять цвета чата, комбинируя их со строками, как показано выше. Я также добавлю это в свою функцию onDisable:
@Override public void onDisable(){ System.out.println(ChatColor.RED + "[Fly Plugin] Fly plugin shutting down"); }
Тестирование базового плагина
Теперь мы можем протестировать этот базовый плагин, построив его как артефакт! Чтобы создать файл jar, нажмите build на верхней панели инструментов, нажмите B uild Artifacts…, затем выберите Build.
Это выведет файл .JAR, скопируйте этот файл в папку плагинов вашего сервера. Затем запустите сервер. Когда сервер завершит загрузку, вы увидите сообщение, которое мы указали в нашей функции onEnable.
Теперь, если мы введем stop в консоли, нам будет показано сообщение нашей функции onDisable:
Отличная работа, вы только что создали свой первый плагин! Надеюсь, вам понравилось, и не забудьте подписаться на меня (чтобы получить часть 3).
Часть 3: неизданная