Config refuses to save

Discussion in 'Plugin Development' started by kameronn, Aug 15, 2016.

Thread Status:
Not open for further replies.
  1. Offline

    kameronn

    I dont understand, it works perfectly fine when creating the config, and getting from the config. But it wont save, and I'm pretty sure its setting but not saving...

    Code:
    package potentiamc.org;
    
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Arrays;
    import java.util.List;
    
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.configuration.file.YamlConfiguration;
    import org.bukkit.entity.Player;
    
    public class PlayerConfig {
    
    
        Core core;
      
        public File userdata;
        public File f;
        public FileConfiguration playerData;
      
        public PlayerConfig(Core instance){
            this.core = instance;
            this.userdata = new File(core.getDataFolder(), File.separator + "data");
          
        }
    
        public void create(Player p) {
            //When the player file is created for the first time...
             if (!f.exists()) {
    
                 try {
                                    
                     playerData = YamlConfiguration.loadConfiguration(f);
    
                     List<String> pAbilities = Arrays.asList("DIAMOND_AXE","STICK");
                    
                     playerData.createSection("kits");
                    
                     playerData.set("kits.size.kit1.name", "KIT_ONE");
                     playerData.set("kits.size.kit1.playstyle", "souper");
                    
                     playerData.set("kits.size.kit2.name", "KIT_TWO");
                     playerData.set("kits.size.kit2.playstyle", "souper");
                    
                     playerData.set("kits.size.kit3.name", "KIT_THREE");
                     playerData.set("kits.size.kit3.playstyle", "souper");
                    
                     playerData.set("kits.current", "kit1");
                    
                    
    
                    
                     playerData.createSection("stats");
                     playerData.set("stats.wins", 0);
                     playerData.set("stats.loses", 0);
                     playerData.set("stats.elo", 0);
                     playerData.set("stats.balance", 0);
                     playerData.set("stats.elorank", "Peasant");
    
                     playerData.createSection("abilities");
                     playerData.set("abilities.zeus.material", "DIAMOND_AXE");
                     playerData.set("abilities.shockwave.material", "STICK");
                     playerData.set("abilities.material", pAbilities);
    
                     playerData.createSection("playstyle");
                     playerData.set("playstyle.souper", false);
                     playerData.set("playstyle.survivalist", false);
                     playerData.set("playstyle.hearts", 40);
                     playerData.set("playstyle.soups", 12);
                    
                     playerData.createSection("enhancers");
                     playerData.set("enhancers.survivalist", 0);
                     playerData.set("enhancers.soups", 0);
    
                     playerData.save(getfile(p));
                    
                 } catch (IOException exception) {
    
                     exception.printStackTrace();
                 }
             }
             }
          
    
        public File getfolder() {
            return userdata;
        }
        public File getfile(Player p) {
            f = new File(userdata,p.getUniqueId().toString() + ".yml");
            return f;
        }
        public void load(Player player) {
            playerData = YamlConfiguration.loadConfiguration(getfile(player));
        }
        public FileConfiguration get(Player player) {
            playerData = YamlConfiguration.loadConfiguration(getfile(player));
            return playerData;
          
        }
      
      
        public void save(FileConfiguration ymlConfig, File ymlFile) {
            try {
            ymlConfig.save(ymlFile);
    
             } catch (IOException exception) {
    
                 exception.printStackTrace();
             }
            
        }
            
      
        public FileConfiguration getplayerData(File file) {
            return playerData = YamlConfiguration.loadConfiguration(file);
          
        }
    
    
    }
    
    
     
  2. Offline

    Jakeeeee

    Your problems:
    - The variable 'f' is never, therefore it is null
    - (May be a problem once the file is already created) You're only defining the variable 'playerData' if the file does not exist.
     
Thread Status:
Not open for further replies.

Share This Page