Config copying default on reload

Discussion in 'Plugin Development' started by Amazing_kid, Mar 3, 2013.

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

    Amazing_kid

    Title says it all, Im trying to stop it from reseting the config values when it reloads. Thanks

    Code:
    package com.github.epicshadow.enderpearlcontrol;
     
     
    import java.io.File;
     
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class enderpearlcontrol extends JavaPlugin {
        FileConfiguration config;
        @Override
        public void onEnable(){
            this.getLogger().info("PearlControl has been enabled!");
            try{
                config = getConfig();
                File enderpearlcontrol = new File("plugins" + File.separator + "Pearl Control" + File.separator + "config.yml");
                enderpearlcontrol.mkdir();
                    this.getLogger().info("iqhfiqif");
                    if (!config.contains("PearControl.cooldown")){
                        config.set("PearlControl.cooldown", 3000);
                    }
                saveConfig();
            }catch(Exception e1){
                e1.printStackTrace();
            }
            PluginManager manager = this.getServer().getPluginManager();
            manager.registerEvents(new pearllistener(this), this);
        }   
        @Override
        public void onDisable(){
            this.getLogger().info("PearlControl has been disabled!");
        }
        public boolean onCommand(CommandSender sender, Command cmd, String commandlabel, String args[]){
            Player player = (Player) sender;
            if (commandlabel.equalsIgnoreCase("ec")){
                if (!(args.length > 0)){
                    player.sendMessage(ChatColor.GREEN + "[PearlControl]" + ChatColor.DARK_AQUA + " Too few arguments!");
                }
                if (args.length == 1){
                    if (args[0].equalsIgnoreCase("cooldown")){
                        player.sendMessage(ChatColor.GREEN + "[PearlControl]" + ChatColor.DARK_AQUA + " Use like this: /ec cooldown (Time)");
                    }
                    else if (!(args[0].equalsIgnoreCase("cooldown"))){
                        player.sendMessage(ChatColor.GREEN + "[PearlControl]" + ChatColor.DARK_AQUA + " Unknown arguments!");
                    }
                }
                if (args.length == 2){
                    if (args[0].equalsIgnoreCase("cooldown")){
                        player.sendMessage(ChatColor.GREEN + "[PearlControl]" + ChatColor.DARK_AQUA + " The config has been updated!");
                        config.set("PearlControl.cooldown", args[1]);
                        saveConfig();
                    }
                }
                if (args.length > 2){
                    player.sendMessage(ChatColor.GREEN + "[PearlControl]" + ChatColor.DARK_AQUA + " Too many arguments!");
                }
     
            }
            return false;
     
        }
    
     
  2. Offline

    caseif

    Code:
    saveDefaultConfig();
    Replace all of your config code with that.
     
  3. Offline

    JayzaSapphire

    Btw you were just not checking if the config existed.
     
Thread Status:
Not open for further replies.

Share This Page