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

Помогите Вопрос по конфигу. [Решено]

Discussion in 'Разработка плагинов для новичков' started by Exception_Prototype, Dec 5, 2016.

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

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

    Trophy Points:
    46
    Допустим у меня есть в стандартном конфиге секция:
    Школьник:
    - Вася
    - Петя

    Мне нужно, чтобы я мог указать вот так:
    Школьник:
    - Вася, RED
    - Петя, YELLOW
    А потом корректно прочитать это. HashMap<String, ChatColor> канает?
    Как правильно записывать и считывать в таком случае?
     
  2. Хостинг MineCraft
    <
  3. xDark

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

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    String[] split = s.split(", ");
    String name = split[0];
    ChatColor color = ChatColor.valueOf(split[1]);
     
  4. AtomicInteger

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

    Trophy Points:
    46
    Ну, как вариант можешь попробовать так(не тестировал, возможно не работает):
    Code:
    // Получение массива из конфига
    List<String> configArray = plugin.config.getStringList("array");
    // В этой переменной будет наша надпись
    String colorString;
    // Дописывание нужных надписей к каждому элементу массива
    for(int i = 0;i < configArray.size();i++)
        configArray.set(i, configArray.get(i) + ", RED");
    // Получение надписей из массива
    for (String elemConfigArray : configArray)
        colorString = elemConfigArray.substring(elemConfigArray.lastIndexOf(", "));
    Я думаю есть способ реализовать получше, но как вариант...
     
  5. Автор темы
    Exception_Prototype

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

    Trophy Points:
    46
    Спасибо за ответы, но всё оказалось проще.
    Изучив Bukkit docs сделал рабочий вариант:
    Code:
            if (!this.getConfig().contains("Teams")) {
    
                HashMap<String, String> map = new HashMap<>();
                map.put("RED", ChatColor.RED.name());
                map.put("BLUE", ChatColor.BLUE.name());
    
                this.getConfig().createSection("Teams", map);
    
                TeamList = (HashMap) this.getConfig().getConfigurationSection("Teams").getValues(false);
            } else {
                TeamList = (HashMap) this.getConfig().getConfigurationSection("Teams").getValues(false);
            }
    
    Ну как вывести все элементы HashMap найдёте сами)
    Тема закрыта.
     
Thread Status:
Not open for further replies.

Share This Page