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

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

Discussion in 'Разработка плагинов для новичков' started by Listvli, May 21, 2017.

Thread Status:
Not open for further replies.
  1. Автор темы
    Listvli

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

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

    У меня есть следующий код:
    Code:
    case MELON:          
                mainListener.plugin.getConfig().set(p.getName(), "rus");
                mainListener.plugin.saveConfig();
                mainListener.plugin.loadRusConfig();
                p.sendMessage(mainListener.messages.getString("langChanged"));    
    В методе loadRusConfig у меня есть конфиг информация, сохранение и т.д. Так, как я могу загрузить конфиг для определенного игрока?
    loadRusConfig метод:
    Code:
    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 Активный участник Пользователь

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

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

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

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

    Trophy Points:
    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 Администратор

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    66
    Имя в Minecraft:
    ListvliLiveGames
    Решение в этой теме
     
Thread Status:
Not open for further replies.

Share This Page