Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Туториал Урок по созданию плагинов на Bukkit API и BungeeCord API.

Cororo

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
TheSirCororo
Однако, здравствуйте форумчане.
Я представляю к вашему вниманию туториал от меня по созданию плагинов на Bukkit API или BungeeCord API. Требуется базовое знание Java.
Ориентация по теме:
Глава 1. Создание плагинов Bukkit API.
Урок 1.1. Создаём наипростейший плагин.
Урок 1.2. Ивенты
Урок 1.3. Команды
Урок 1.4. Конфиги и MYSQL
Глава 2. Создание плагинов BungeeCord API.
Урок 2.1.
Урок 2.2.
Глава 1. Создание плагинов Bukkit API.
Урок 1.1. Создаём наипростейший плагин.
Вот вы и дочитали до урока. Итак, поехали.

После создания пустого проекта добавляем библиотеки Bukkit API (добавьте в библиотеки просто jarник Spigotа или другого Bukkit-ядра). Создаём пакет, назвать его можно по любому. В пакете создаём класс, желательно с названием Main (главный), т.к. это будет главный класс. Чтобы сказать ядру, что этот проект - плагин? нам надо унаследовать наш главный класс от класса JavaPlugin:
PHP:
package com.test;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
}
Но этого недостаточно для работы плагина. Создаём в src файл plugin.yml и заполняем его так:
PHP:
main: com.test.Main
version: 1.0.0
name: TestPlugin
Вместо com.test - пакет, в котором находится класс Main.
Вместо 1.0.0 - любая другая версия вашего плагина.
Вместо TestPlugin - название вашего плагина.
Ура! Теперь если вы скомпилируете этот плагин и засунете в /plugins вашего сервера, сервер найдёт этот плагин. Правда, сейчас он у нас вообще без функционала. Давайте будем выводить в консоль при включении сообщение "Я работаю!" :D. В JavaPlugin есть 3 метода, которые реагируют на состояние плагина: onEnable() - при включении, onLoad() - при загрузке, onDisable() - при выключении. Мы хотим выводить при включении. Запишем все эти методы в класс:

PHP:
package com.test;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
    @Override
    public void onEnable(){
    }
    @Override
    public void onDisable(){
    }
    @Override
    public void onLoad(){
    }
}
Нам нужно при включении писать "Я работаю!", так? Это и сделаем! Добавим в тело метода onEnable() код, который выводит в консоль информацию через класс Logger.
PHP:
package com.test;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
    @Override
    public void onEnable(){
        getLogger().info("Я работаю!");
    }
    @Override
    public void onDisable(){
    }
    @Override
    public void onLoad(){
    }
}
Вывод консоли:
Код:
[INFO] [TestPlugin] Я работаю!
Так же можно написать предупреждение или ошибку в консоль. Для этого есть методы warning() и severe(). warning() - выводит предупреждение, severe() - ошибку:
PHP:
package com.test;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
    @Override
    public void onEnable(){
        getLogger().info("Я работаю!");
        getLogger().warning("Я предупреждаю!");
        getLogger().severe("У меня ошибка(");
    }
    @Override
    public void onDisable(){
    }
    @Override
    public void onLoad(){
    }
}
Вывод консоли:
Код:
[INFO] [TestPlugin] Я работаю!
[WARN] [TestPlugin] Я предупреждаю!
[ERROR] [TestPlugin] У меня ошибка(
В итоге за этот урок мы научились создавать плагин, чтобы его обнаружило ядро и выводить информацию, предупреждение, ошибку. Ждите следущие уроки, с вами был Cororo, всем пока :)
 
Последнее редактирование:
Оформление просто супер, а этот яркий красный цвет!
 
годно, делай больше таких гайдов.
только все равно не получаеться(
 
Последнее редактирование:
Цвет текста вырвиглазный. Я думаю, тёмно-серый цвет должен подойти.
 
афигеть, спасибо папаша, ведь весь функционал плагинов только в выводе строчек в лог. Блин, а ты не мог сообщить, где, черт возьми, взять документацию спигота?? в общем доступе через яндекс поиск его нет, а ты откуда-то берёшь все эти методы, аргументы и переменные. Миллионный недогайд из таких же недогайдов, которые говорят только как начать, но не говорят, как по-настоящему писать плагины.
 
афигеть, спасибо папаша, ведь весь функционал плагинов только в выводе строчек в лог. Блин, а ты не мог сообщить, где, черт возьми, взять документацию спигота?? в общем доступе через яндекс поиск его нет, а ты откуда-то берёшь все эти методы, аргументы и переменные. Миллионный недогайд из таких же недогайдов, которые говорят только как начать, но не говорят, как по-настоящему писать плагины.
Чел не осилил поиск... печально.
 
афигеть, спасибо папаша, ведь весь функционал плагинов только в выводе строчек в лог. Блин, а ты не мог сообщить, где, черт возьми, взять документацию спигота?? в общем доступе через яндекс поиск его нет, а ты откуда-то берёшь все эти методы, аргументы и переменные. Миллионный недогайд из таких же недогайдов, которые говорят только как начать, но не говорят, как по-настоящему писать плагины.
Если знаешь джаву - этого достаточно. Если не знаешь джаву - этого достаточно. Остальное за тебя делает поиск и умение правильно формулировать вопросы.:good:
 
Блин, а ты не мог сообщить, где, черт возьми, взять документацию спигота?? в общем доступе через яндекс поиск его нет, а ты откуда-то берёшь все эти методы, аргументы и переменные
Чтобы что-то найти - нужно хотя бы начать искать: https://yandex.ru/search?text=spigot+docs
Если ты не в состоянии искать информацию - тебе ни один в мире гайд не поможет
 

Поделиться этой страницей

Назад
Верх