Solved saveConfig(); Why does the comment mark it?

Discussion in 'Plugin Development' started by ToldiIII, Apr 24, 2017.

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

    ToldiIII

    Code:
    PHP:
    public class Main extends JavaPlugin implements Listener {

        public final 
    Logger logger Logger.getLogger("Minecraft");
        
    File configFile;
        
    FileConfiguration config1;
        
    FileConfiguration config getConfig();
        public 
    HashMap<StringLongcooldown = new HashMap<StringLong>();

        public static 
    Boolean Unknown_Command_enablePlugin_enable_MessagePlugin_disable_Message;
        public static 
    String PrefixPlugin_ReloadNo_PermissionUnknown_CommandCommand_Wait,
                
    Plugin_enablePlugin_disableHelp_HeaderHelp_CommandHelp_ReloadCommandHelp_CheckIPCommand,
                
    Help_FooterNo_Console_Check_IPCheck_IP_Message;
        public static 
    int Command_Wait_Time;

        private 
    File configf;
        private 
    FileConfiguration config2;

        @
    Override
        
    public void onEnable() {
            
    Bukkit.getServer().getPluginManager().registerEvents(thisthis);
            
    //This is still unstable.
            
    configFile = new File(getDataFolder(), "config.yml");
            try {
                
    firstRun();
            } catch (
    Exception e) {
                
    e.printStackTrace();
                
    getLogger().info("Config.yml not found, creating!");
            }
            
    config1 = new YamlConfiguration();
            
    loadYamls();
            
    //
            
    getServer().getPluginManager().registerEvents(thisthis);
            
    getConfig().options().copyDefaults(true);
            
    config.addDefault("Plugin_enable_Message"true);
            if (
    config.getBoolean("Plugin_enable_Message")) {
                
    Bukkit.getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Plugin_enable")));
            }
        }

        @
    Override
        
    public void onDisable() {
            
    saveDefaultConfig();
            
    config.addDefault("Plugin_disable_Message"true);
            if (
    config.getBoolean("Plugin_disable_Message")) {
            
    Bukkit.getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Plugin_disable")));
            }
        }

        
    //This is still unstable.
        
    private void firstRun() throws Exception {
            if(!
    configFile.exists()) {
                
    configFile.getParentFile().mkdirs();
                
    copy(getResource("config.yml"), configFile);
            }
        }
        private 
    void copy(InputStream inFile file) {
            try {
                
    OutputStream out = new FileOutputStream(file);
                
    byte[] buf = new byte[1024];
                
    int len;
                while((
    len=in.read(buf))>0){
                    
    out.write(buf,0,len);
                }
                
    out.close();
                
    in.close();
            } catch (
    Exception e) {
                
    e.printStackTrace();
            }
        }
        public 
    void loadYamls() {
            try {
                
    config1.load(configFile);
            } catch (
    Exception e) {
                
    e.printStackTrace();
            }
        }
        
    //
        
    private void createFiles() {

            
    configf = new File(getDataFolder(), "config.yml");

            if (!
    configf.exists()) {
                
    getLogger().info("The config.yml file does not exist! Creating ...");
                
    configf.getParentFile().mkdirs();
                
    saveResource("config.yml"false);
            }

            
    config2 = new YamlConfiguration();
            try {
                
    config2.load(configf);
            } catch (
    IOException e) {
                
    e.printStackTrace();
            } catch (
    InvalidConfigurationException e) {
                
    e.printStackTrace();
            }
        }

        @
    Override
        
    public boolean onCommand(CommandSender senderCommand cmdString commandLabelString[] args) {
           if (
    commandLabel.equalsIgnoreCase("tscheckip")) {
               
    int cooldownTime getConfig().getInt("Command_Wait_Time");
                  if(
    cooldown.containsKey(sender.getName())) {
                      
    long secondsLeft = ((cooldown.get(sender.getName())/1000)+cooldownTime) - (System.currentTimeMillis()/1000);
                      if(
    secondsLeft>0) {
                          
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Command_Wait")).replaceAll("%seconds%"getConfig().getLong("Command_Wait_Time") + ""));
                          return 
    true;
                      }
                  }
                  
    cooldown.put(sender.getName(), System.currentTimeMillis());
                    if (
    args.length 0) {
                        
    config.getBoolean("Unknown_Command_enable");
                        if (
    config.getBoolean("Unknown_Command_enable")) {
                        
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Unknown_Command")));
                        return 
    true;
                    }
                    }
               if (!(
    sender instanceof Player)) {
                      
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("No_Console_Check_IP")));
                      return 
    true;
                     }
                if (!
    sender.hasPermission("teleportsigns.checkip")) {
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("No_Permission")));
                    return 
    true;
                }
                if (
    args.length 0) {
                    
    config.getBoolean("Unknown_Command_enable");
                    if (
    config.getBoolean("Unknown_Command_enable")) {
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Unknown_Command")));
                    return 
    true;
                }
                }
                    
    Player p = (Player)sender;
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Check_IP_Message")) + p.getAddress());
                    return 
    true;
           }
           if(
    cmd.getName().equalsIgnoreCase("tshelp")) {
              
    int cooldownTime getConfig().getInt("Command_Wait_Time");
              if(
    cooldown.containsKey(sender.getName())) {
                  
    long secondsLeft = ((cooldown.get(sender.getName())/1000)+cooldownTime) - (System.currentTimeMillis()/1000);
                  if(
    secondsLeft>0) {
                      
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Command_Wait")).replaceAll("%seconds%"getConfig().getLong("Command_Wait_Time") + ""));
                      return 
    true;
                  }
              }
              
    cooldown.put(sender.getName(), System.currentTimeMillis());
                    if (!
    sender.hasPermission("teleportsigns.help")) {
                        if (
    args.length 0) {
                            
    config.getBoolean("Unknown_Command_enable");
                            if (
    config.getBoolean("Unknown_Command_enable")) {
                            
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Unknown_Command")));
                            return 
    true;
                        }
                        }
                        
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("No_Permission")));
                        return 
    true;
                    }
                    if (
    args.length 0) {
                        
    config.getBoolean("Unknown_Command_enable");
                        if (
    config.getBoolean("Unknown_Command_enable")) {
                        
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Unknown_Command")));
                        return 
    true;
                    }
                    }
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Help_Header")));
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Help_Command")));
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Help_ReloadCommand")));
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Help_CheckIPCommand")));
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Help_Footer")));
                    return 
    true;
          }
           if(
    cmd.getName().equalsIgnoreCase("tsreload")) {
                  
    int cooldownTime getConfig().getInt("Command_Wait_Time");
                  if(
    cooldown.containsKey(sender.getName())) {
                      
    long secondsLeft = ((cooldown.get(sender.getName())/1000)+cooldownTime) - (System.currentTimeMillis()/1000);
                      if(
    secondsLeft>0) {
                          
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Command_Wait")).replaceAll("%seconds%"getConfig().getLong("Command_Wait_Time") + ""));
                          return 
    true;
                      }
                  }
                  
    cooldown.put(sender.getName(), System.currentTimeMillis());
                if (!
    sender.hasPermission("teleportsigns.reload")) {
                    if (
    args.length 0) {
                        
    config.getBoolean("Unknown_Command_enable");
                        if (
    config.getBoolean("Unknown_Command_enable")) {
                        
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Unknown_Command")));
                        return 
    true;
                    }
                    }
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("No_Permission")));
                    return 
    true;
                }
                if (
    args.length 0) {
                    
    config.getBoolean("Unknown_Command_enable");
                    if (
    config.getBoolean("Unknown_Command_enable")) {
                    
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Unknown_Command")));
                    return 
    true;
                }
                }
                
    this.reloadConfig();
            
    //This is still unstable.
            
    createFiles();
            try {
                
    config1.load(configFile);
            } catch (
    Exception e) {
                
    e.printStackTrace();
                
    getLogger().info("The config.yml file does not exist or there is something missing from it!");
                if(!new 
    File(getDataFolder(), "config.yml").exists()) {
                    
    saveResource("config.yml"false);
                    
    getLogger().info("Generating a new config for you ...");
                }
                    
    config getConfig();
                    
    getLogger().info("The config.yml file was successfully created!");
                    if (
    getConfig().getString("Prefix") == null) {
                    } else {
                        
    getLogger().info("Something in config.yml does not exist. Please check the config.yml file!");
                    }
            }
            
    //
            
    sender.sendMessage(ChatColor.translateAlternateColorCodes('&'getConfig().getString("Prefix")) + ChatColor.translateAlternateColorCodes('&'getConfig().getString("Plugin_Reload")));
            return 
    true;
           }
        return 
    true;
        }
    }
    Config.yml:
    HTML:
    #-----------------------------OOO-----------------------------------#
    #  Configuration File                                               #
    #-----------------------------OOO-----------------------------------#
    # config.yml file. Plugin version: 1.3.4                            #
    # Plugin created by: montlikadani                                   #
    #-----------------------------OOO-----------------------------------#
    # [Tips]                                                            #
    # - Use color coding '&' character, on this page:                   #
    # http://minecraft.gamepedia.com/Formatting_codes                   #
    #-----------------------------OOO-----------------------------------#
    #Messages. Default language: 'EN' - English.
    # That is the apostrophe ('') inside them you can feel free to edit.
    Prefix: '&6&l[&2Teleport&eSigns&6&l] &b&l> '
    Plugin_Reload: '&aThe plugin successfully reloaded!'
    No_Permission: '&cYou don''t have permission for that!'
    
    # Unknown-command - If more than one word/letter you write to it.
    # Example: /tsreload something...
    # This feature is NOT enter into the unknown command Minecraft, it's just your own.
    Unknown_Command: '&cUnknown command.&f Type "/tshelp" for help.'
    # This function only reacts to the /reload command!
    # A /tsreload command can not be reloaded!
    Unknown_Command_enable: true
    
    # Command waiting period. If you set it to 0 you will not have to wait.
    # Measured in seconds. 1 seconds - 20 ticks.
    # (This feature is known that there is no excessive lagg.)
    # Use %seconds% placeholder.
    Command_Wait_Time: 3
    Command_Wait: '&cPlease wait&7 %seconds% &cseconds to use again!'
    
    Plugin_enable_Message: true
    Plugin_enable: '&aThe plugin successfully enabled &6v1.3.4&a!'
    
    # This function responds only to the second server is reloaded!
    # (If it is turned off.)
    Plugin_disable_Message: true
    Plugin_disable: '&cThe plugin successfully disabled!'
    
    # This feature lists all the chat panel help.
    Help_Header: '&6&m-----------&b> &2Teleport&eSigns &cHelp&b <&6&m-----------'
    Help_Command: '&8/&atshelp&c -&b Help commands.'
    Help_ReloadCommand: '&8/&atsreload&c -&b Config.yml file reload.'
    Help_CheckIPCommand: '&8/&atscheckip&c -&b Check my IP address.'
    Help_Footer: '&6&m-----------------------------------------'
    
    # This is just a test, but it can be used independently.
    No_Console_Check_IP: '&cYou must be a player to use this command!'
    # There will still be no placeholder for this, just pop out a space to see the IP.
    # (Just place it at the end of the sentence.)
    Check_IP_Message: '&7Your &9IP&7 address:&a '
    
    Why do you post comments when I enter the /tsreload command? Removes all comments from the config.yml file. Now I just removed saveConfig(); function. Yeah, and do not completely update the /tsreload command in the config.yml file. Example:
    # This function only reacts to the /reload command!
    # The /tsreload command can not be reloaded!
    Unknown_Command_enable: true

    And this will remain in the config file when saveConfig(); enabled:
    PHP:
    #
                   
    Configuration File                   #
    #
     
    Last edited: Apr 24, 2017
  2. Online

    timtower Administrator Administrator Moderator

    @ToldiIII Bukkit does not handle comments in configs.
     
  3. Offline

    ToldiIII

    @timtower But why other plugins can do this for you? Such as DeluxeMenus.
     
  4. Online

    timtower Administrator Administrator Moderator

    They use custom config handlers.
    Don't know the specifics though.
     
  5. Offline

    ToldiIII

    Yeah, I know, do you know someone to ask about this question (which is at its very top)?
     
  6. Offline

    Caderape2

    @ToldiIII Use saveDefaultConfig() on your onEnable for create and load your config.yml with comments. Dun save the file with the plugin, or that reset all the comments.

    I don't think there's custom methods for keep the comments while saving a file. It's why usually, the config file just support manual change.
     
  7. Offline

    ToldiIII

    This has not been resolved either.
     
  8. Offline

    Zombie_Striker

  9. Offline

    ToldiIII

Thread Status:
Not open for further replies.

Share This Page