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

Помогите Config для определенного игрока.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Listvli, 21 май 2017.

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

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

    Баллы:
    66
    Имя в Minecraft:
    ListvliLiveGames
    И так. Как я могу загрузить конфиг для определенного игрока?

    У меня есть следующий код:
    Код:
    case MELON:          
                mainListener.plugin.getConfig().set(p.getName(), "rus");
                mainListener.plugin.saveConfig();
                mainListener.plugin.loadRusConfig();
                p.sendMessage(mainListener.messages.getString("langChanged"));    
    В методе loadRusConfig у меня есть конфиг информация, сохранение и т.д. Так, как я могу загрузить конфиг для определенного игрока?
    loadRusConfig метод:
    Код:
    public void loadRusConfig()
        {  
            File file = new File("plugins/LifeOutClassic/rus.lang");
    messages = YamlConfiguration.loadConfiguration(file);
            messages.addDefault("allowToCraft", ChatColor.GREEN + "Теперь можно крафтить сундук!");
    messages.options().copyDefaults(true);
            try {
                messages.save(file);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    Можно ли вообще загружать конфиг для определенного игрока?
     
  2. Хостинг MineCraft
    <
  3. Exception_Prototype

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

    Баллы:
    46
    А в чём собственно проблема?
     
  4. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    HashMap
     
  5. Автор темы
    Listvli

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

    Баллы:
    66
    Имя в Minecraft:
    ListvliLiveGames
    Проблема в следующем. У меня есть два конфига. Один rus.lang и другой eng.lang. Суть в том, что когда игрок нажимает на нужную кнопку в gui, то в обыковенный конфиг меняется переменная string на ту, какой язык был указан (то бишь eng или rus), а так же вызывается метод loadRusConfig или, соответственно, loadEngConfig. В этих методах есть следующая строка: messages = YamlConfiguration.loadConfiguration(file);
    После того, как один игрок сменил язык, то язык, который ранее был выбран одним игроком ставится всем остальным игрокам, даже не смотря на то, что они имеют в main config'e свою переменную. (На входе стоит проверка этой переменной).

    Сейчас у меня появились мысли, как еще можно проверки накинуть. И появилась еще одна мысль, которую я уже потерял, провалиться мне в астрал.[DOUBLEPOST=1495386743,1495386703][/DOUBLEPOST]
    Не работал еще ни разу с HashMap. Можешь прикинуть, хотя бы, что именно от меня требуется, если не сложно?
     
  6. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Просто не юзай статическую переменную, а для каждого игрока свою.
    ретКонфиг(Лузверь.гетлокал());
     
  7. Автор темы
    Listvli

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

    Баллы:
    66
    Имя в Minecraft:
    ListvliLiveGames
    хм. Может есть более радикальное решение?
    Это, конечно, как вариант, но по-моему он слегка гиблый -.-
     
  8. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Skype:
    makssofez
    Твоя проблема не со входом, а с выходом. Пляши от того факта, что твоему плагину нужно подстраиваться под каждого игрока. Думай от этого.
     
  9. Автор темы
    Listvli

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

    Баллы:
    66
    Имя в Minecraft:
    ListvliLiveGames
    Дело совершенно не в выходе.[DOUBLEPOST=1495407929,1495402307][/DOUBLEPOST]Решение, как всегда, проще некуда. Закрыто. Ничего из указанного - совсем не то. Спасибо за внимание
     
  10. Exception_Prototype

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

    Баллы:
    46
    1. Поделись решением, ибо толку тогда нет.
    2. Закрой тему. Ты сможешь найти кнопочку.
     
  11. Автор темы
    Listvli

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

    Баллы:
    66
    Имя в Minecraft:
    ListvliLiveGames
    Решение в этой теме
     
Статус темы:
Закрыта.

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