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

Помогите Не добавляется строка в конфиг

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

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

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    Код:
            if(e.getCurrentItem().getItemMeta().getDisplayName().equals("§aУбить 50 человек")) {
                if(kills >= 50) {
                    p.sendMessage("123");
                    Main.econ.depositPlayer(p, 5);
                    Main.instance.levelsConfig.set(p.getName() + ".quests.done",Boolean.TRUE);
                }
                else {
                    p.sendMessage("321");
                }
                
            }
     
  2. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    А сохранение конфига где?
     
  3. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    this.saveConfig(); - это в OnEnable()
     
  4. Exception_Prototype

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

    Баллы:
    96
    А зачем ты сохраняешь конфиг при старте плагина? Может надо при выключении это делать?
     
  5. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    public void onDisable() {
    saveConfig();
    }
    Я это всегда делаю)
     
  6. DragSnNaizer

    DragSnNaizer Новичок Пользователь

    Баллы:
    11
    Сохраняй его после добавления/удаления строки из конфига.
     
  7. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    а как? я новичок, а GUI в другом классе?
    saveConfig(); там нельзя просто так написать.
     
  8. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Что-то не похоже на getConfig(). Что это за переменная?
     
  9. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    this.levels = new File(this.getDataFolder() + "/stats.yml");
    this.levelsConfig = (FileConfiguration)YamlConfiguration.loadConfiguration(this.levels);
     
  10. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    я сам не заметил, просто получаю значения из этого конфига, по привычки вписал его и там.
     
  11. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    Код:
                    Main.instance.getConfig().set(p.getName() + ".quests.done",Boolean.TRUE);
                    Main.instance.saveConfig();
    сделал вот так, всё ещё конфиг пустой.
     
  12. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Ну логично, что не сохраняет. Добавь метод
    PHP:
    public void saveLevels() {
      try {
        
    levelsConfig.save(levels);
      } catch(
    IOException ex) {
      
    //Ошибка
      
    }
    }
     
  13. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    я же использую config.yml - это мне не подходит.
     
  14. Exception_Prototype

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

    Баллы:
    96
    Кинь полный код на данный момент со стандартным getConfig()
     
  15. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    Код:
       @EventHandler
        public void OnInventoryClick(InventoryClickEvent e) {
            Player p = (Player) e.getWhoClicked();
            Integer playerdirt = Main.instance.blocksConfig.getInt(String.valueOf(p.getName()) + ".DIRT");
            if(e.getInventory().getName().equalsIgnoreCase("Quests")) {
                e.setCancelled(true);
        }
            if(e.getCurrentItem().getItemMeta().getDisplayName().equals("§aУбить 50 человек")) {
                if(kills >= 50) {
                    p.sendMessage("123");
                    Main.econ.depositPlayer(p, 5);
                    Main.instance.levelsConfig.set(p.getName() + ".quests.done",Boolean.TRUE);
                   
                }
                else {
                    p.sendMessage("321");
                }
               
            }
      } 
     
  16. kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Я так и не понял, ты определись. Тебе человек сверху дал код, тебе его просто надо вставить
     
  17. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    Ммм, удачи, просто вставить..
     
  18. kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    ...
    Код:
       @EventHandler
        public void OnInventoryClick(InventoryClickEvent e) {
            Player p = (Player) e.getWhoClicked();
            Integer playerdirt = Main.instance.blocksConfig.getInt(String.valueOf(p.getName()) + ".DIRT");
            if(e.getInventory().getName().equalsIgnoreCase("Quests")) {
                e.setCancelled(true);
        }
            if(e.getCurrentItem().getItemMeta().getDisplayName().equals("§aУбить 50 человек")) {
                if(kills >= 50) {
                    p.sendMessage("123");
                    Main.econ.depositPlayer(p, 5);
                    Main.instance.levelsConfig.set(p.getName() + ".quests.done", true);
      try {
        Main.instance.levelsConfig.save(Main.instance.levels);
      } catch(IOException ex) {
      //Ошибка
      }
    
                }
    
                else {
                    p.sendMessage("321");
                }
             
            }
      } 
    Тебе просто надо вставить место твоего кода
     
  19. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    "Boolean.TRUE"

    Ну это уже верх маразма....
     
  20. Автор темы
    Beginner1567

    Beginner1567 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Begginer1567
    Спасибо, не помогло, бросаю это дело.
     

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