
v.1.0.0
1 УРОК - НАЧАЛО
Постараюсь писать максимально подробно:
В этом уроке сделаем простенький плагин для приветствия игрока при заходе на сервер
ВНИМАНИЕ: Все примеры создания проекта и кода будут сделаны в IntelliJ IDEA и на версию 1.20.1 Paper
1 ШАГ
2 ШАГ Основы JAVA
Гайдов полным полно на YT или даже на этом форуме
Минимальные знания:
После установки JDK и среды (буду делать на примере IntelliJ IDEA) залетаем в саму среду, нажимаем New Project, кликаем на Minecraft и видим перед собой вот такую картину:

В Platform Type выбираем Plugin, Platform - Bukkit, Bukkit Platform - Paper, Minecraft Version - 1.20.1, Build System - Maven
Name, Plugin Name, Main Class, GroupID и Artifact ID выбираем сами.
Нажимаем Create и This Window

Среда сама за нас загрузит все необходимые файлы

В основном модуле (переименовал его в PluginTest для понятности) видим следующую картину
package org.vuemd.test показывает модулю в какой папке он находится
И сам public class Plugintest (Наш основной модуль)
Теперь добавим extends JavaPlugin и систему событий implements Listener
Сразу добавим регистрацию событий, таких как onEnable (при включении) и onDisable (при выключении)
Теперь добавим сами события

Теперь максимально подробное описание кода:
Теперь добавим метод с самим приветствием игрока


Теперь билдим наш плагин, закидываем в папку plugin и запускаем сервер, при заходе видим наше сообщение

Если вы захотите увидеть больше уроков, например по основам Java или уроки на какие-то конкретные темы, пишите мне в Discord - eselfins_ или в ответах на эту тему.
Всем удачи и мира
1 УРОК - НАЧАЛО
Постараюсь писать максимально подробно:
В этом уроке сделаем простенький плагин для приветствия игрока при заходе на сервер
ВНИМАНИЕ: Все примеры создания проекта и кода будут сделаны в IntelliJ IDEA и на версию 1.20.1 Paper
1 ШАГ
- Установить Java Development Kit (JDK).
- Установить интегрированную среду разработки (IDE), такую как IntelliJ IDEA или Eclipse.
2 ШАГ Основы JAVA
Гайдов полным полно на YT или даже на этом форуме
Минимальные знания:
- Переменные, циклы, условия, классы, методы и интерфейсы.
- Наследование, полиморфизм, инкапсуляция и абстракция.
- List, Map, Set, Stream API.
После установки JDK и среды (буду делать на примере IntelliJ IDEA) залетаем в саму среду, нажимаем New Project, кликаем на Minecraft и видим перед собой вот такую картину:

В Platform Type выбираем Plugin, Platform - Bukkit, Bukkit Platform - Paper, Minecraft Version - 1.20.1, Build System - Maven
Name, Plugin Name, Main Class, GroupID и Artifact ID выбираем сами.
Нажимаем Create и This Window

Среда сама за нас загрузит все необходимые файлы

В основном модуле (переименовал его в PluginTest для понятности) видим следующую картину

package org.vuemd.test показывает модулю в какой папке он находится
И сам public class Plugintest (Наш основной модуль)
Теперь добавим extends JavaPlugin и систему событий implements Listener
Сразу добавим регистрацию событий, таких как onEnable (при включении) и onDisable (при выключении)

Теперь добавим сами события

Теперь максимально подробное описание кода:
Импорты
- import org.bukkit.event.Listener;: Импортирует интерфейс Listener из библиотеки Bukkit. Этот интерфейс используется для обработки событий.
- import org.bukkit.plugin.java.JavaPlugin;: Импортирует класс JavaPlugin, от которого будет наследоваться наш плагин. Этот класс предоставляет базовую функциональность для создания плагинов Minecraft.
Объявление класса
- public class PluginTest: Объявление публичного класса PluginTest.
- extends JavaPlugin: Класс PluginTest наследует от JavaPlugin, что означает, что он является плагином и может переопределять методы, предоставляемые JavaPlugin.
- implements Listener: Класс PluginTest реализует интерфейс Listener, что означает, что он может обрабатывать события Minecraft.
Переопределение метода onEnable
- @Override: Аннотация указывает, что метод onEnable переопределяет метод из суперкласса JavaPlugin.
- public void onEnable(): Метод onEnable вызывается при включении плагина. Здесь можно поместить код, который нужно выполнить при загрузке плагина.
Внутри метода onEnable
- getServer().getPluginManager().registerEvents(this, this);
- getServer(): Получает текущий сервер.
- getPluginManager(): Получает менеджер плагинов.
- registerEvents(this, this): Регистрирует текущий объект this как слушатель событий. Первый параметр указывает на объект, реализующий интерфейс Listener, а второй параметр указывает на текущий экземпляр плагина.
- getLogger().info("PluginTest включен!");
- getLogger(): Получает логгер для записи логов.
- info("PluginTest включен!"): Записывает информационное сообщение в логах, что плагин был включен.
- getServer().getPluginManager().registerEvents(this, this);
Теперь добавим метод с самим приветствием игрока


- @EventHandler:
- Это аннотация указывает, что метод будет использоваться для обработки события. В данном случае, метод onPlayerJoin будет вызван, когда произойдет событие PlayerJoinEvent.
- public void onPlayerJoin(PlayerJoinEvent event):
- public: Метод публичный и доступен для вызова извне.
- void: Метод не возвращает никакого значения.
- onPlayerJoin: Имя метода. Вы можете назвать метод как угодно, но принято давать названия, отражающие тип обрабатываемого события.
- PlayerJoinEvent event: Параметр метода. PlayerJoinEvent - это класс события, представляющий факт подключения игрока к серверу. Переменная event содержит всю информацию, связанную с этим событием.
Внутри метода
- event.getPlayer().sendMessage("Добро пожаловать на сервер!");:
- event.getPlayer(): Получает объект Player, представляющий игрока, который присоединился к серверу.
- sendMessage("Добро пожаловать на сервер!"): Отправляет сообщение игроку. В данном случае, игроку отправляется сообщение "Добро пожаловать на сервер!".
Пояснение
- Импорты:
- EventHandler, Listener, и PlayerJoinEvent импортируются для работы с событиями.
- Класс PluginTest:
- Наследуется от JavaPlugin и реализует интерфейс Listener.
- Методы onEnable и onDisable:
- Переопределяются для выполнения действий при включении и отключении плагина.
- Метод onPlayerJoin:
- Помечен аннотацией @EventHandler, чтобы система событий Bukkit знала, что этот метод должен вызываться при подключении игрока.
- При подключении игрока метод получает PlayerJoinEvent, из которого извлекается объект Player.
- Игроку отправляется приветственное сообщение.
Теперь билдим наш плагин, закидываем в папку plugin и запускаем сервер, при заходе видим наше сообщение

Если вы захотите увидеть больше уроков, например по основам Java или уроки на какие-то конкретные темы, пишите мне в Discord - eselfins_ или в ответах на эту тему.
Всем удачи и мира
Сам архив с проектом прикрепил к этому посту (jar файл плагина можно найти в out\artifacts\Test_jar)
Attachments
Last edited: