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

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

Статус
Закрыто для дальнейших ответов.

RoyalCraft

Активный участник
Пользователь
Баллы
68
Имя в Minecraft
Stressless
Например, есть плагин PluginAPI с 1м классом. В его главный класс прописываю следующее:


Код:
public final class PluginAPI extends JavaPlugin {


    public static PluginAPI instance;
    public static GeneralHelper helper;

    @Override
    public void onEnable() {
        instance = this;
        helper = new GeneralHelper();
    }

    public static PluginAPI getInstance() {
        return instance;
    }


    public static GeneralHelper getHelper() {
        return helper;
    }

    @Override
    public void onDisable() {
        // Plugin shutdown logic
    }
}

Есть второй PluginMain плагин с таким кодом главного класса:


Код:
public final class PluginMain extends JavaPlugin {

    public static PluginMain instance;

    @Override
    public void onEnable() {
        instance = this;
 
        Bukkit.getConsoleSender().sendMessage(PluginAPI.getHelper().colorizedMsg("&6test"));
    }

    public static PluginMain getInstance() {
        return instance;
    }

    @Override
    public void onDisable() {
        // Plugin shutdown logic
    }
}

Первый плагин во втором виден, все его методы доступны и т.п.
Однако, когда пытаюсь выполнить
Код:
 Bukkit.getConsoleSender().sendMessage(EventAPI.getHelper().colorizedMsg("&6test"));

Получаю ошибку вида:

Код:
Cannot invoke "ru.test.pluginapi.GeneralHelper.colorizedMsg(String)" because the return value of "ru.test.pluginapi.PluginAPI.getHelper()" is null

Укажите, пожалуйста, в чем моя ошибка. Может вообще в неправильном направлении двигаюсь
 
В общем

Код:
public final class PluginAPI extends JavaPlugin {

    public static PluginAPI instance;

    @Override
    public void onEnable() {
        instance = this;
    }

    public static PluginAPI getInstance() {
        return instance;
    }

    public static GeneralHelper getHelper() {
        return new GeneralHelper();
    }

    @Override
    public void onDisable() {
        // Plugin shutdown logic
    }
}


Во втором плагине вызвал метод getHelper() и все работает. Может надо было не так, но мою проблему решило
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх