1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Конфиги

Тема в разделе "Разработка плагинов для новичков", создана пользователем Haydex, 22 сен 2018.

Статус темы:
Закрыта.
  1. Автор темы
    Haydex

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

    Баллы:
    61
    Имя в Minecraft:
    BloodBaronessa
    Всем привет! Работая с конфигами, у меня появился вопрос: как кэшировать данные конфигов?
     
  2. Exception_Prototype

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

    Баллы:
    96
    Конфиги загружается в память, они сохраняются в файл только когда ты сам это делаешь.
     
    Последнее редактирование: 22 сен 2018
  3. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Они кешируются как только ти их загружаешь в пам'ять.
    Вызов getConfig() не грузит каждый раз данные с файла.
     
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Оно как бы уже.
     
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну если тебе не удобно работать с ведроконфигом. Вот держи класс для обхода сие говна.

    Код:
    package Example.sfg;
    
    import java.util.Map;
    
    import org.bukkit.configuration.serialization.ConfigurationSerializable;
    import org.bukkit.configuration.serialization.SerializableAs;
    
    @SerializableAs(value = "MapSer")
    public class MapSer implements ConfigurationSerializable {
    
        private Map<String, Object> map;
    
        public 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;
        }
    }
    Регаешь сериализатор где то в главном классе.

    Код:
        static {
            ConfigurationSerialization.registerClass(MapSer.class, "MapSer");
        }
    Пример юза.
    Map<String, Object> map = new HashMap<String, Object>();
    MapSer ms = new MapSer(map);
    ms.get().put("test", "test");
    this.getConfig().set("name", ms);
    ms = (MapSer) this.getConfig().get("name", MapSer.class);
     
    Последнее редактирование: 23 сен 2018
  6. Автор темы
    Haydex

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

    Баллы:
    61
    Имя в Minecraft:
    BloodBaronessa
    Спасибо.
     
Статус темы:
Закрыта.

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