1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Регистрация плагина из класса

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

  1. Автор темы
    Mihis

    Mihis Новичок Пользователь

    Баллы:
    6
    Я имеею класс java.lang.Class<?>, и этот класс точно наследует org.bukkit.plugin.java.JavaPlugin, как я могу зарегистрировать этот плагин?

    Код:
    @Override
    public void onEnable() {
        Class<?> clazz = getPluginClass();
        PluginManager pm = getServer().getPluginManager();
       
        // Как зарегестрировать clazz в pm?
    }
    
     
  2. CoolBoy

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

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    Ну банально кастани к (JavaPlugin)
     
  3. Автор темы
    Mihis

    Mihis Новичок Пользователь

    Баллы:
    6
    Мне надо ещё добавить плагин в PluginManger.
     
  4. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ты хочешь еще один плагин запустить или что? Если так - потребуется отдельный PluginClassLoader. В целом можешь глянуть исходники PlugMan, там всё есть
     
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Bukkit.getServer().getPluginManager().loadPlugin(file);
     
  6. Автор темы
    Mihis

    Mihis Новичок Пользователь

    Баллы:
    6
    Да, я хочу запустить плагин из java.lang.Class . А можно пример?

    Этот метод я видел, но он мне не подходит, так как мне надо загрузить java.lang.Class, а не java.io.File
     
    Последнее редактирование: 16 ноя 2019
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    И как по твоему jvm узнает какой джарник загрузить без указания jar файла? На чистой магии?
    Главный класс указывается в plugin.yml и он сам загрузится.
     
    Последнее редактирование: 16 ноя 2019
  8. Автор темы
    Mihis

    Mihis Новичок Пользователь

    Баллы:
    6
    Можно создать искусственный org.bukkit.plugin.PluginDescriptionFile
     
  9. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну создашь и что? jat файл по волшебству сам не отыщется.
     
  10. Автор темы
    Mihis

    Mihis Новичок Пользователь

    Баллы:
    6
    Я хочу запустить плагин не из файла, а из класса и описания плагина. На машине где запускается сервер, jar файла нету.
     
  11. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну и этот класс один фиг должен быть в архиве jar, как не крути. Ведро не умеет загружать плагины без архива. Такое только forge умеет с модами.
     
  12. Автор темы
    Mihis

    Mihis Новичок Пользователь

    Баллы:
    6
    Тогда java.lang.reflect в помощь.
     
  13. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Не страдай херней и заливай плагины как положено, и все будет работать.
     

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