Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Подключить плагин

Тема в разделе "Разработка плагинов для новичков", создана пользователем Fenix78563, 30 ноя 2016.

Статус темы:
Закрыта.
  1. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    Доброго времени суток, форумчане. Опять я и мой бред.

    В этот раз меня интересует как подключать сторонние плагины в свой.

    Если не трудно, то можно пошаговенькую инструкцию для дибильчика?

    Заранее спасибо
     
  2. Хостинг MineCraft
    <
  3. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Код:
      Other other = null;
      public void onEnable() {
          other = (Other) getServer().getPluginManager().getPlugin("Other");
      }
     
  4. Lilian_solo

    Lilian_solo Новичок Пользователь Заблокирован

    Баллы:
    21
    Имя в Minecraft:
    CoreKolas
    Смотря в каком смысле подключить, распиши полностью.
     
  5. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    Что бы я в своем плагине мог использовать методы подключенного

    это все что мне необходимо сделать?
     
  6. Lilian_solo

    Lilian_solo Новичок Пользователь Заблокирован

    Баллы:
    21
    Имя в Minecraft:
    CoreKolas
    Просто импортируй, например TitleBar.sendTabTitle(String, String); и всё
     
  7. 0x1EE7C0DE

    0x1EE7C0DE Участник Пользователь

    Баллы:
    36
    Подключай так же, как и ядро
     
  8. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Да, ну и импорт класса. P.s это тот где extends JavaPlugin
     
  9. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    здорово пипец, но прям крутится поганая мысль, что у меня в плагинах может и не оказаться такого плагина. Юзер получит страшную ошибку, и не будет даже знать что с ней делать...

    И еще, я хочу подключить плагин Vault, а у него есть какая то инструкция, и там что то написано, но я не понял что. Прямо не верится что это что то не нужное.

    https://github.com/MilkBowl/VaultAPI/blob/master/README.md
     
  10. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Так проверяй и все
    if(other!=null && other.isEnabled()) {
    registerEvents.чтототам
    }
     
    Последнее редактирование: 30 ноя 2016
  11. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    нашел в некотрых плагинах в файле plugin.yml сточку softdepended: [plugin, plugin2].

    Это что такое?

    Прошу знающих осветить все аспекты (или хотя бы самые важные)
     
  12. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Юзай обычный depend, если плагин не должен работать без зависимости.
     
  13. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    да е-мае, я первый раз сталкиваюсь с таким, в гугле информации ~0, поэтому прошу еще раз:

    Напишите пожалуйста ПОДРОБНО, ведь то что для вас очевидно, для меня новое и не известное. спасибо за понимание
     
  14. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    1. Подключаем к проекту .jar файл нужного нам плагина как библиотеку.
    2. В нужном месте, в нашем проекте, подключаем сторонний плагин строкой(для примера взял WG):
      Код:
      private WorldGuardPlugin worldGuard = (WorldGuardPlugin) getServer().getPluginManager().getPlugin("WorldGuard");
    3. Вызываем методы стороннего плагина, используя ссылку worldGuard.
     
  15. Lilian_solo

    Lilian_solo Новичок Пользователь Заблокирован

    Баллы:
    21
    Имя в Minecraft:
    CoreKolas
    На вот пример:
    Код:
    if ((Bukkit.getPluginManager().isPluginEnabled("WorldGuard")) &&
           (!((WorldGuardPlugin) Bukkit.getPluginManager().getPlugin("WorldGuard")).canBuild(p, e.getBlock()))) { return;
     
  16. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    ММ, здорово, реализация в коде уже представлена кучей методов.

    Что все таки с softdepend, чем он отличается от softdepended

     
  17. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    Атрибутом softdepend ты задаешь список плагинов, без которых твой плагин работать не будет.Все плагины, которые есть в этом списке загружаются до того, как загрузится твой плагин.Список плагинов задаешь как обычный yaml массив.
     
  18. Lilian_solo

    Lilian_solo Новичок Пользователь Заблокирован

    Баллы:
    21
    Имя в Minecraft:
    CoreKolas
    В главном классе сократи сделай метод WorldGuardPlugin и всё.
    А Vault подключай в главном классе, как показано на той странице.
     
  19. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    Ты сделал проверку, на то включён ли плагин, но не сделал проверку на то, есть ли он вообще.Нужно добавить проверку ссылки на null.
     
  20. Lilian_solo

    Lilian_solo Новичок Пользователь Заблокирован

    Баллы:
    21
    Имя в Minecraft:
    CoreKolas
    Код:
     public static Economy econ = null;
    
    @Override
    public void onEnable() {
    if (!setupEconomy() ) {
    log.severe(String.format("[%s] - Disabled due to no Vault dependency found!", getDescription().getName()));
    getServer().getPluginManager().disablePlugin(this);
    return;
    }
    
    
    private boolean setupEconomy() {
    if (getServer().getPluginManager().getPlugin("Vault") == null) {
    return false;
    }
    RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
    if (rsp == null) {
    return false;
    }
    econ = rsp.getProvider();
    return econ != null;
    }
    Это в главном классе должно быть, а потом например Main.econ.withdrawPlayer(p, 1000.0D); - Снять со счета 1000 или Main.econ.getBalance(p); - Получение баланса[DOUBLEPOST=1480538937,1480538828][/DOUBLEPOST]и Vault как библиотеку подключи.(и плагин на валюту естастна добавь, а то выдаст ошибку "Disabled due to no Vault dependency found!" (Essentials, например)
     
  21. Автор темы
    Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    Спасибо большое, ответы получены. Тему закрываю

    (как то не удобно даже, хоть бы лайк поставить мог)
     
Статус темы:
Закрыта.

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