Помогите Как получить отдельную часть в конфиге

hyndorik

Активный участник
Пользователь
Баллы
98
Имя в Minecraft
hyndo
list:
lightning: 3600
thor: 3600
smite: 3600
shock: 3600

Как из конфига в этом случае достать именно первые части, ключи? Тоесть lighting,thor и тд
 
for (String s : config.getConfigurationSection("list").getKeys(false)) {
int val = config.getInt("list." + s);
}
 
Решение всех проблем.
Регаем в главном классе плагина мап сериализатор.

Java:
    static {
        ConfigurationSerialization.registerClass(MapSer.class, "MapSer");
    }

MapSer.class
Java:
package Example;

import java.util.Map;

import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.configuration.serialization.SerializableAs;

@SerializableAs(value="MapSer")
public class MapSer implements ConfigurationSerializable {

    Map<String, Object> map;

    MapSer(Map<String, Object> map) {
        this.map = map;
    }

    @Override
    public Map<String, Object> serialize() {
        return map;
    }

    public static MapSer deserialize(Map<String, Object> map) {
        return new MapSer(map);
    }

    public Map<String, Object> get() {
        return map;
    }
}

И радуемся жизни юзая привычные и удобные мапы.

Условная мапа.
HashMap map = new HashMap();
map.put(arg, value);
Запись мапы в конфиг.
getConfig().set("name", new MapSer(map));
Обратно в мапу.
MapSer ms = (MapSer) getConfig().get("name");
HashMap map2 = (HashMap) ms.get();
 
Назад
Верх