Помогите Как сделать плагин пригодным к перезагрузке

  • Автор темы Автор темы reZero
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

reZero

Активный участник
Пользователь
Баллы
76
Есть один крупный плагин на спиготе. Я его форкнул, добавил к аргументам его команды нужный мне аргумент. При его использовании сервер получает МОЙ инстанс плагина и делает определенные вещи.
Но есть одна неувязочка... Если перезагрузить мой плагин плагманом (а первый со спигота не трогать), тогда при написании команды вылетает ошибка...

Код:
class ru.rezero.some.Main cannot be cast to class ru.rezero.some.Main (ru.rezero.some.Main is in unnamed module of loader 'test.jar' @2309886c; ru.rezero.some.Main is in unnamed module of loader 'test.jar' @585b8b83)

Вот я и думаю: как так? Классы должны быть одинаковы, учитывая что при обычной загрузке сервера (без перезагрузки моего плагина) все работает как часы. Скорее всего, ответ кроется где-то в загрузчиках классов... Я предполагаю, что при старте сервера все плагины загружаются и хранятся в памяти, но когда плагман выгружает какой-то плагин и загружает по-новой, в памяти сервера хранится уже другой экземпляр моего плагина

Сам вопрос: что можно придумать, чтобы при перезагрузке моего плагина не отлетала команда из спиготовского плагина?
Дополнительный вопрос: если вам не впадлу, объясните, пожалуйста, прав ли я со своей догадкой или нет, или как вообще это работает на самом деле и в чем может быть настоящая причина?

Код:
Main myPlugin = (Main) Bukkit.getPluginManager().getPlugin("MyPlugin");
 
Перезагружать оба плагина?
У тебя в двух плагинах одинаковый путь к главному класу?
 
Реализовал идею по-другому. закрыто.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх