Помогите Проблема с созданием API

_MasterCapeXD_

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
_MasterCapeXD_
Не могу создать API для получения кастомного конфига из одного плагина в другой.
Мой код:

Плагин с API:
MainClass (oChat):

PHP:
    public LocaleAPI api;

    @Override
    public void onEnable()
    {
        this.api = new LocaleAPI(this);
    }

LocaleAPI:
PHP:
public class LocaleAPI
{
    private oChat general;
    
    public LocaleAPI(oChat general)
    {
        this.general = general;
    }
    
    public YamlConfiguration getLocaleData()
    {
        File datafile = new File(general.getDataFolder() + File.separator + "localedata.yml");
        YamlConfiguration localedata = YamlConfiguration.loadConfiguration(datafile);
        return localedata;
    }
}

Получаю файл в другом плагине так:
PHP:
private oChat api = (oChat) Bukkit.getPluginManager().getPlugin("oChat");

    @EventHandler
    public void on(PlayerJoinEvent e)
    {
        YamlConfiguration localedata = api.api.getLocaleData();
    }

depend в plugin.yml плагина, использующего апи есть.
 
PHP:
    public LocaleAPI(oChat general)
    {
        this.general = general;
    }
Сталкивался с такой проблемой, @Cool_boy мне помог, подсказав про метод getInstance(), тут тебе не нужен будет конструктор и сможешь вызывать апи нормально без этого:
PHP:
private oChat api = (oChat) Bukkit.getPluginManager().getPlugin("oChat");
getInstance():
PHP:
public static Main instance; //Можешь юзать это переменную без метода.
public void onEnable() {
instance = this;
}
public static Main getInstance() {
return instance;
}
Ну как использовать, думаю, знаешь.
 
Сталкивался с такой проблемой, @Cool_boy мне помог, подсказав про метод getInstance(), тут тебе не нужен будет конструктор и сможешь вызывать апи нормально без этого:
PHP:
private oChat api = (oChat) Bukkit.getPluginManager().getPlugin("oChat");
getInstance():
PHP:
public static Main instance; //Можешь юзать это переменную без метода.
public void onEnable() {
instance = this;
}
public static Main getInstance() {
return instance;
}
Ну как использовать, думаю, знаешь.
Попробую, спасибо.
 
Код:
    OtherPluginMain other = null;

    public void onEnable() {
        other = (OtherPluginMain) getServer().getPluginManager().getPlugin("OtherPluginMain");
        other.getConfig();
 
Последнее редактирование:
Код:
    OtherPluginMain other = null;

    public void onEnable() {
        other = (OtherPluginMain) getServer().getPluginManager().getPlugin("OtherPluginMain");
        other.getConfig();
То что выше бред. Все намного проще делается).
Написал, как знал. Попытался помочь.
 
Пробовал и так. и получаю я кастомный конфиг
Ну сделай гетер на кастомный конфиг, делов то.
Код:
    OtherPluginMain other = null;

    public void onEnable() {
        other = (OtherPluginMain) getServer().getPluginManager().getPlugin("OtherPluginMain");
        other.getCustomConfig();
Фантазия вообще не робит.
 
Ну сделай гетер на кастомный конфиг, делов то.
Код:
    OtherPluginMain other = null;

    public void onEnable() {
        other = (OtherPluginMain) getServer().getPluginManager().getPlugin("OtherPluginMain");
        other.getCustomConfig();
Фантазия вообще не робит.
Я не то имел ввиду, а то, что я уже пробовал так...
 
Я не то имел ввиду, а то, что я уже пробовал так...
Плохо пробовал, проверь все ли правильно у тебя.

other = (Главный класс плагина) getServer().getPluginManager().getPlugin("Имя плагина из plugin.yml");
depend: [Имя плагина из plugin.yml]
P.s имя плагина регистрочувствительное.
 
PluginMainClass pmc = JavaPlugin.getPlugin(PluginMainClass.class);
images
 
Назад
Верх