saveConfig() not saving the config!

Discussion in 'Plugin Development' started by MrAw3omeZz, Dec 27, 2014.

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

    MrAw3omeZz

    I added a few player names to the config(from ingame) and i checked if they actually saved, they did i could see them. but when i reloaded the config reset itself and the names are gone.
    What i did look like:
    Accounts:
    List:
    - Sup3rNinj4
    - fafela
    - candyshpownr

    What it looked like after the reload:
    Accounts:
    List: []


    Why cant it save properly!?
    (Ive looked everywhere and cant find a solution that helps ._. )
     
  2. Offline

    Xtreme727

    Can you please post some of your code?
     
  3. Offline

    mythbusterma

    @MrAw3omeZz

    Post your code, post any stack traces.


    You didn't look hard enough.
     
  4. Offline

    MrAw3omeZz

    Code:
    package me.Sup3r.DenySpambots;
    
    import java.awt.List;
    import java.util.ArrayList;
    import java.util.Arrays;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.Plugin;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    
    public class Main extends JavaPlugin implements Listener {
       
        ArrayList<String> accounts = new ArrayList<String>();
    
        @Override
        public void onEnable() {
            System.out.print("[Deny] Configuration 1.0.1 Loaded!");
            Bukkit.getPluginManager().registerEvents(this, this);
            getServer().getPluginManager().registerEvents(this, this);
            loadConfiguration();
        }
       
        @Override
        public void onDisable() {
            saveConfig();
        }
       
        public void loadConfiguration(){
            getConfig().set("Accounts.List", accounts);
            getConfig().options().copyDefaults(true);
            saveConfig();
        }
       
       
       
        //LISTENER CODE
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
           
            if (cmd.getName().equalsIgnoreCase("hacked") && sender instanceof Player) {
                if(sender.hasPermission("deny.list")){
                Player player = (Player) sender;
               
                player.sendMessage(ChatColor.BLACK + "[" + ChatColor.RED + ChatColor.BOLD + "Deny" + ChatColor.BLACK + "]" + ChatColor.GOLD + " List of " + ChatColor.RED + ChatColor.BOLD + "Hacked Accounts " + ChatColor.GOLD + getConfig().getList("Accounts.List").toString());;
                } else {
                sender.sendMessage(ChatColor.BLACK + "[" + ChatColor.RED + ChatColor.BOLD + "Deny" + ChatColor.BLACK + "]" + ChatColor.DARK_RED + " You do not have permission to do this.");
                return false;
                }
                return true;
               
            } else if (cmd.getName().equalsIgnoreCase("addhacker") && sender instanceof Player) {
                if(sender.hasPermission("deny.admin")){
                Player player = (Player) sender;           
                int length = args.length;
                if(length == 0){
                player.sendMessage(ChatColor.BLACK + "[" + ChatColor.RED + ChatColor.BOLD + "Deny" + ChatColor.BLACK + "]" + ChatColor.GOLD + " Usage: /addhacker {name}");
                }
                if(length == 1){
                   
                    for (Player hacked : Bukkit.getServer().getOnlinePlayers()){
                        if(hacked.getName().equalsIgnoreCase(args[0])){
                            accounts.add(hacked.getName());
                            player.sendMessage(ChatColor.BLACK + "[" + ChatColor.RED + ChatColor.BOLD + "Deny" + ChatColor.BLACK + "]" + ChatColor.GOLD + " Player: " + ChatColor.AQUA + ChatColor.ITALIC + args[0] + ChatColor.GOLD + " Was added to the list of " + ChatColor.RED + ChatColor.BOLD + "Hacked Accounts");
                        }
                    }
                }
                } else {
                    sender.sendMessage(ChatColor.BLACK + "[" + ChatColor.RED + ChatColor.BOLD + "Deny" + ChatColor.BLACK + "]" + ChatColor.DARK_RED + " You do not have permission to do this.");
                }
    
                return true;
               
            }
           
            return false;   
           
        }
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
           
            reloadConfig();
    
            if(getConfig().getList("Accounts.List").toString().contains(e.getPlayer().getDisplayName().toString())){
                for (Player all : Bukkit.getOnlinePlayers())
                {
                  all.sendMessage(ChatColor.BLACK + "[" + ChatColor.RED + ChatColor.BOLD + "Deny" + ChatColor.BLACK + "]" + ChatColor.GOLD + " Player: " + ChatColor.AQUA + ChatColor.ITALIC + e.getPlayer().getDisplayName().toString() + ChatColor.GOLD + " Is a " + ChatColor.RED + ChatColor.BOLD + "Hacked Account");
                }
            }
        }
       
    }
     
  5. Offline

    nverdier

  6. Offline

    BlazingBroGamer

    @MrAw3omeZz
    Activate saveConfig after you added the player, and that will be better. Also, array lists resets every time it has been loaded! ;)
     
Thread Status:
Not open for further replies.

Share This Page