F
И так чтобы создать плагин сначала нам нужно скачать IntelliJ IDEA Community Edition
для єтого нам нужно перейти на сайт (клик)
═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═
➥после чего нажимаем на кнопку "скачать"

➥после нажимаем скачать "Community Edition"

═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═
скачали, запустили

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
➥после чего нажимаем на вкладку "plugins"

≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷
⇢далее пишем "Minecraft Developer"

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
⇗после чего устанавливаем и нажимаем "new project" после у нас появится вкладка "minecraft"

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
⇗Выбмраем ядро сервера для меня "spigot" и нажимаем "next"

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

Groupld-Имя создателя(точно не помню, но вроде так)
Artifactld-название плагина
Version-Версия плагина
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
(у меня получилось так):

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
нажимаем "next"
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

Plugin Name - название плагина
Main Class Name - путь к классу файлу плагина (Лучше оставить как есть)
Minecraft Version - версия вашего сервера
Description - описание плагина (Можно оставить пустым)
Authors - разработчики плагина (Можно оставить пустым)
WebSite - сайт плагина (Можно оставить пустым)
Log Prefix - префикс логирования плагина в консоль (Можно оставить пустым, по умолчанию используется название плагина в качестве префикса)
Load Before - загружать плагин после определённых плагинов (Лучше оставить пустым)
Depend - зависимости плагина (Какие плагины обязательно требуются для работы нашего плагина, например Vault. Лучше оставить пустым, если вы не используете API других плагинов)
Soft Depend - не обязательные зависимости плагина (Какие плагины необязательно требуются для работы нашего плагина)
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

Project Name-Имя проекта
Project location-папка проекта
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
После мы попадаем в написание плагина

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
начинаем писать плагин
и так
public void onEnable() {
// Plugin startup logic
//тут будет происходить всё когда плагин включился
}
@Override
public void onDisable() {
// Plugin shutdown logic
//Тут когда плагин выключился
}
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

Открываем такой путь после чего
тыкаем 2 раза на "Plugin.yml"

Тут мы видим
name: SuperPlugin229
version: '${project.version}'
main: minec.feitap.superplugin229.SuperPlugin229
api-version: 1.16
(у вас может быть другой текст)
добавляем
commands:
название_команды: {}

Создаваем новый "package"

Называем его как-то

в package котором мы создали создадим "java class"

называем его как-то

нажимаем enter

добавляем implements и CommandExecutor

как видим его подчеркнуло красным
нажимаем alt enter

и выбираем "implement methods"

нажимаем ок

как видим у нас появилось publicboolean и тд
перед return false пишем вот такой код:

(return false мы изменили на return true)
И так мы написали всё, но не сделали самое главное
(не сделали так, чтобы сообщение "Привет" писалось и выполнялся данный клас)
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

возвращаемся сюда
теперь тут мы будем писать следующие

Как экспортировать проект?
Во вкладке "Maven"

открываем Lifecycle после нажимаем 2-а раза package
находим папку проекта
и у нас появилась папка "target"

открываем его

и вот наш плагин!
теперь при команде "/hello" игроку будет писать "Привет!"

очень старался так что, пожалуйста, оцените)
для єтого нам нужно перейти на сайт (клик)
═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═
➥после чего нажимаем на кнопку "скачать"

➥после нажимаем скачать "Community Edition"

═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═
скачали, запустили

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
➥после чего нажимаем на вкладку "plugins"

≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷≷
⇢далее пишем "Minecraft Developer"

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
⇗после чего устанавливаем и нажимаем "new project" после у нас появится вкладка "minecraft"

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
⇗Выбмраем ядро сервера для меня "spigot" и нажимаем "next"

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

Groupld-Имя создателя(точно не помню, но вроде так)
Artifactld-название плагина
Version-Версия плагина
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
(у меня получилось так):

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
нажимаем "next"
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

Plugin Name - название плагина
Main Class Name - путь к классу файлу плагина (Лучше оставить как есть)
Minecraft Version - версия вашего сервера
Description - описание плагина (Можно оставить пустым)
Authors - разработчики плагина (Можно оставить пустым)
WebSite - сайт плагина (Можно оставить пустым)
Log Prefix - префикс логирования плагина в консоль (Можно оставить пустым, по умолчанию используется название плагина в качестве префикса)
Load Before - загружать плагин после определённых плагинов (Лучше оставить пустым)
Depend - зависимости плагина (Какие плагины обязательно требуются для работы нашего плагина, например Vault. Лучше оставить пустым, если вы не используете API других плагинов)
Soft Depend - не обязательные зависимости плагина (Какие плагины необязательно требуются для работы нашего плагина)
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

Project Name-Имя проекта
Project location-папка проекта
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
После мы попадаем в написание плагина

≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔
начинаем писать плагин
и так
public void onEnable() {
// Plugin startup logic
//тут будет происходить всё когда плагин включился
}
@Override
public void onDisable() {
// Plugin shutdown logic
//Тут когда плагин выключился
}
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

Открываем такой путь после чего
тыкаем 2 раза на "Plugin.yml"

Тут мы видим
name: SuperPlugin229
version: '${project.version}'
main: minec.feitap.superplugin229.SuperPlugin229
api-version: 1.16
(у вас может быть другой текст)
добавляем
commands:
название_команды: {}

Создаваем новый "package"

Называем его как-то

в package котором мы создали создадим "java class"

называем его как-то

нажимаем enter

добавляем implements и CommandExecutor

как видим его подчеркнуло красным
нажимаем alt enter

и выбираем "implement methods"

нажимаем ок

как видим у нас появилось publicboolean и тд
перед return false пишем вот такой код:

(return false мы изменили на return true)
И так мы написали всё, но не сделали самое главное
(не сделали так, чтобы сообщение "Привет" писалось и выполнялся данный клас)
≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔≔

возвращаемся сюда
теперь тут мы будем писать следующие

Как экспортировать проект?
Во вкладке "Maven"

открываем Lifecycle после нажимаем 2-а раза package
находим папку проекта
и у нас появилась папка "target"

открываем его

и вот наш плагин!
теперь при команде "/hello" игроку будет писать "Привет!"

очень старался так что, пожалуйста, оцените)