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

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

Exception_Prototype

Активный участник
Пользователь
Баллы
96
Допустим у меня есть в стандартном конфиге секция:
Школьник:
- Вася
- Петя

Мне нужно, чтобы я мог указать вот так:
Школьник:
- Вася, RED
- Петя, YELLOW
А потом корректно прочитать это. HashMap<String, ChatColor> канает?
Как правильно записывать и считывать в таком случае?
 
String[] split = s.split(", ");
String name = split[0];
ChatColor color = ChatColor.valueOf(split[1]);
 
Ну, как вариант можешь попробовать так(не тестировал, возможно не работает):
Java:
// Получение массива из конфига
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(", "));
Я думаю есть способ реализовать получше, но как вариант...
 
Спасибо за ответы, но всё оказалось проще.
Изучив Bukkit docs сделал рабочий вариант:
Java:
        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 найдёте сами)
Тема закрыта.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх