Помогите Удаление из конфига;

  • Автор темы Автор темы JHIID13
  • Дата начала Дата начала

JHIID13

Новичок
Пользователь
Баллы
21
Как удалить данные из конфига???
Код:
clans:
  fcb07ff5-3ce9-4a77-b2df-a899cd0dc74c:
    Name: FOXTROD
    Owner: b053f929-7739-345b-bbed-2d2af5018455
    Member:
    - b053f929-7739-345b-bbed-2d2af5018455
    Base:
      ==: org.bukkit.Location
      world: world
      x: -160.0
      y: 69.0
      z: 32.0
      pitch: 0.0
      yaw: 0.0
    invite: zero
    Tower:
      Health: zero
      Location: zero
  a1461bee-1a22-46c8-a656-304f6ecb0fb6:
    Name: FOX
    Owner: 32e4c19e-0aac-3c04-8e77-cf0fe4de0d6f
    Member:
    - 32e4c19e-0aac-3c04-8e77-cf0fe4de0d6f
    Base:
      ==: org.bukkit.Location
      world: world
      x: -160.0
      y: 69.0
      z: 32.0
      pitch: 0.0
      yaw: 0.0
    invite: zero
    Tower:
      Health: zero
      Location: zero
PHP:
public static void removeClan(Player p) {
        if(chekOwnerClan(p)==true) {
            ConfigurationSection sec = getConfig().getConfigurationSection("clans.");
                    sec.getKeys(true);
                    sec.set(getClan(p).toString().intern(), null);
                    ClansMain.saveClans();
                    ClansMain.reloadPlayers();
              
            }
    }
Если создать первый клан и его удалить то всё работает;
Если пытатся удалить клан который последний был создан то не пашет WTF?
PHP:
public static void CreateClan(UUID uuid,String name,Player p) {
        getConfig().set("clans."+uuid+".Name", name);
        getConfig().set("clans."+uuid+".Owner", p.getUniqueId().toString());
        getConfig().set("clans."+uuid+".Member",  Arrays.asList(p.getUniqueId().toString()));
        getConfig().set("clans."+uuid+".Base",  Bukkit.getWorld("world").getSpawnLocation());
        getConfig().set("clans."+uuid+".invite","zero");
        getConfig().set("clans."+uuid+".Tower"+".Health","zero");
        getConfig().set("clans."+uuid+".Tower"+".Location","zero");
        ClansMain.saveClans();
        ClansMain.reloadPlayers();
    }
Код:
public static UUID getClan(Player p) {
        ConfigurationSection sec = getConfig().getConfigurationSection("clans.");
        if(!(sec == null)) {
        for(String key : sec.getKeys(true)){
            List<String> test1 =  getConfig().getStringList("clans."+key+".Member");
            for(String key2 : test1){
                if(p.getUniqueId().toString().equalsIgnoreCase(key2)) {
                    return UUID.fromString(key);
                    }
                }
            }
        }
        return null;
    }
 
Последнее редактирование:
Я понял ты хочешь вообще удалить из конфига что-то? Если так то лучше не делать всему значение "zero", и не засорять память, а удалить, сделав значение на null.
Чтобы удалить строчку сделай так:
getConfig().set(путь, null);
 
Я понял ты хочешь вообще удалить из конфига что-то? Если так то лучше не делать всему значение "zero", и не засорять память, а удалить, сделав значение на null.
Чтобы удалить строчку сделай так:
getConfig().set(путь, null);
remove
Clan посмотри пожалуйста
 
Назад
Верх