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

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

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

  1. Автор темы
    hyndorik

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

    Баллы:
    66
    Имя в Minecraft:
    hyndo
    list:
    lightning: 3600
    thor: 3600
    smite: 3600
    shock: 3600

    Как из конфига в этом случае достать именно первые части, ключи? Тоесть lighting,thor и тд
     
  2. Хостинг MineCraft
    <
  3. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    for (String s : config.getConfigurationSection("list").getKeys(false)) {
    int val = config.getInt("list." + s);
    }
     
  4. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Решение всех проблем.
    Регаем в главном классе плагина мап сериализатор.

    Код:
        static {
            ConfigurationSerialization.registerClass(MapSer.class, "MapSer");
        }
    MapSer.class
    Код:
    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();
     

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