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

Плагин [DEV][ADM] AddonLib v1.0.1 1.12.*->1.15 - Система плагинов

ifxandy

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
witwar
AddonLib - инструмент который поможет вам реализовать свою систему аддонов к плагинам. Работает он на основе своего загрузчика классов. Он имеет множество функций в API и структуру аддона схожую со структурой плагинов для Bukkit.
Основные преимущества
  • Схожая с Bukkit структура плагинов. Вам будет удобно писать плагины!
  • Возможность загрузки аддонов как руками так и при помощи файла plugin.yml внутри jar'а.
  • Оригинальность. Исходя из моих поисков по данному разделу, здесь нету плагина реализующего такой функционал
  • Внутриигровое управление. Вы можете загрузить и просмотреть все загруженные аддоны прямо в игре.
  • При просмотре аддонов вы можете увидеть их автора, имя главного класса и пакет. Для этого вам не нужно смотреть в plugin.yml и главное не нужно ничего декомпилировать.
  • Возможность авто-загрузки аддонов в папке указанной в конфигурации.
  • Понятная конфигурация
Команды -> Права -> Функционал
  • /addonlib -> addonlib.manage -> Главная команда.
  • /addonlib amount -> addonlib.manage.amount -> Вывести список загруженных аддонов.
  • /addonlib load (PATH) -> addonlib.manage.load -> Загрузить jar-файл по пути PATH.
  • /addonlib reload -> addonlib.manage.reload -> Перезагрузить конфигурацию.
Конфигурация
YAML:
LOADING: # При загрузке
  autoload: # Автозагрузка аддонов из папки
    enabled: true # Включена?
    path: "plugins/AddonLib/global" # Путь до папки
MESSAGES:
  not-enough-args: "&4Don't enough arguments." # Когда недостаточно аргументов
  no-perms: "&4You don't have needed permissions to do that!" # Когда нету прав
Структура папок
При первом включении
Код:
$BukkitHome
∟plugins
    ∟AddonLib
        ∟global
        ∟config.yml

plugin.yml
Для аддонов данный файл должен иметь примерно такое содержание
Код:
name: КрутойПримерИмени
package: мой.крутой.пример.пакета.с.главным.классом
class: ИмяМоегоКрутогоГлавногоКлассаИзПримера
version: 1.0
author: МойКрутойАвторИзПримера

Главный класс
Для глобальных аддонов, загружаемых автоматически при включении плагина, в главном классе вам ОБЯЗАТЕЛЬНО понадобятся иметь эти методы
  • onLoad()
  • onEnable()
Загрузка аддонов из плагина
Для того чтобы загрузить аддон из вашего плагина можно использовать метод loadAddon. Вот пример его использования.
Код:
AddonLib addonlib = new AddonLib();
Class addon = addonlib.loadAddon(МойJarФайл,МойПакетГлавногоКласса,МойГлавныйКласс,МойПлагин);
Он принимает как аргументы Jar-файл аддона, пакет с требуемым к загрузке классом, название класса и плагин.
Есть другой вариант, который принимает только 2 аргумента - Jar-файл аддона и плагин. Вот его пример.
Код:
AddonLib addonlib = new AddonLib();
Class addon = addonlib.loadAddon(МойJarФайл,МойПлагин)
Пример аддона
Код:
# plugin.yml
name: MyShinyAddon
package: ru.witwar.myshinyaddon
class: Main
version: 1.0

# Main.java
public class Main {
  public void onLoad() {
    // Your code here
  }
  public void onEnable() {
    // Your code here
  }
}
TODO
  1. Здесь пока ничего нет!
ChangeLog
  1. Выпущена версия 1.0.0
  2. Добавлены методы в API
  3. Убрана возможность загружать уже загруженный аддон.
  4. Добавлена новая команда для перезагрузки конфига
  5. Выпущена версия 1.0.1
Скачивание
Spigot - ручное скачивание(ТЫК)
Spigot - автоматическое скачивание(v1.0.0)(ТЫК)
Sources
Я ленивый и исходники пока не завезли.
 
Последнее редактирование:
AddonLib - инструмент который поможет вам реализовать свою систему аддонов к плагинам. Работает он на основе своего загрузчика классов. Он имеет множество функций в API и структуру аддона схожую со структурой плагинов для Bukkit.
Основные преимущества
  • Схожая с Bukkit структура плагинов. Вам будет удобно писать плагины!
  • Возможность загрузки аддонов как руками так и при помощи файла plugin.yml внутри jar'а.
  • Оригинальность. Исходя из моих поисков по данному разделу, здесь нету плагина реализующего такой функционал
  • Внутриигровое управление. Вы можете загрузить и просмотреть все загруженные аддоны прямо в игре.
  • При просмотре аддонов вы можете увидеть их автора, имя главного класса и пакет. Для этого вам не нужно смотреть в plugin.yml и главное не нужно ничего декомпилировать.
  • Возможность авто-загрузки аддонов в папке указанной в конфигурации.
  • Понятная конфигурация
Команды -> Права -> Функционал
  • /addonlib -> addonlib.manage -> Главная команда
  • /addonlib amount -> addonlib.manage.amount -> Вывести список загруженных аддонов
  • /addonlib load (PATH) -> addonlib.manage.load -> Загрузить jar-файл по пути PATH.
Конфигурация

Структура папок
При первом включении
Код:
$BukkitHome
∟plugins
    ∟AddonLib
        ∟global
        ∟config.yml

plugin.yml
Для аддонов данный файл должен иметь примерно такое содержание


Главный класс
Для глобальных аддонов, загружаемых автоматически при включении плагина, в главном классе вам ОБЯЗАТЕЛЬНО понадобятся иметь эти 3 метода
  • onLoad()
  • onEnable()
  • onDisable()
Загрузка аддонов из плагина
Для того чтобы загрузить аддон из вашего плагина можно использовать метод loadAddon. Вот пример его использования.

Он принимает как аргументы Jar-файл аддона, пакет с требуемым к загрузке классом, название класса и плагин.
Есть другой вариант, который принимает только 2 аргумента - Jar-файл аддона и плагин. Вот его пример.

Пример аддона
TODO
ChangeLog
Скачивание
Spigot - ручное скачивание(ТЫК) - P.S. 5 минуток
Spigot - автоматическое скачивание(v1.0.0)(ТЫК) - P.S. 5 минуток
Sources

Я ленивый и исходники пока не завезли.
Пока есть версия только под 1.12.2, скоро завезу 1.13, 1.14, 1.15
 

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

Назад
Верх