title: Minecraft Spigot Plugin YML File is overwriting custom input in file
body: <p>I make a plugin for my Minecraft Server and everything works well.
  I use a users.yml file to store some data for every user like the groups and uuid.</p>
  <p>Something weird is happening now, and I don't know how to solve it:
  My users.yml is generating fine, no problems. All data is saved in there and I can access it.
  BUT when I try to edit for example the group of the user from the default (this is the group that's assigned to every new user) to admin in the file itself and the user is joining again, the file overwrites the group to default.</p>
  <p>What do I not see in the codes below to prevent the overwrite or did I do something wrong?</p>
  <p>This is the function that creates the users.yml file:</p>
  <pre class="lang-java prettyprint-override"><code>    public class UserList {
  
      private static File usersFile;
      private static FileConfiguration usersConf;
  
      public static void Setup(){
          usersFile = new File(Main.getInstance().getDataFolder(), &quot;users.yml&quot;);
  
          if(!usersFile.exists()){
              try {
                  usersFile.createNewFile();
              } catch (Exception e){
                  System.out.println(&quot;Error creating Usersfile: &quot; + e);
              }
          }
          usersConf = YamlConfiguration.loadConfiguration(usersFile);
      }
  
      public static FileConfiguration get(){
          return usersConf;
      }
  
      public static void Save(){
          try {
              usersConf.save(usersFile);
          } catch (Exception e){
              System.out.println(&quot;Error saving Usersfile: &quot; + e);
          }
      }
  
      public static void reload(){
          usersConf = YamlConfiguration.loadConfiguration(usersFile);
      }
  }
  </code></pre>
  <p>This is the code in the onEnabled() function:</p>
  <pre class="lang-java prettyprint-override"><code>    @Override
      public void onEnable() {
          instance = this;
          if (!getDataFolder().exists()) getDataFolder().mkdir();
  
          //Erstelle users.yml mit Standardwerten
          UserList.Setup();
          UserList.get().addDefault(&quot;groups.admin.prefix&quot;, &quot;§c&quot;);
          UserList.get().addDefault(&quot;groups.vip.prefix&quot;, &quot;§6&quot;);
          UserList.get().addDefault(&quot;groups.default.prefix&quot;, &quot;§7&quot;);
          UserList.get().options().copyDefaults(false);
          UserList.Save();
  
          //Hole alle Usergruppen
          Set&lt;String&gt; groups = UserList.get().getConfigurationSection(&quot;groups&quot;).getKeys(false);
  
          //Events Registrieren
          getServer().getPluginManager().registerEvents(this, this);
      }
  </code></pre>
  <p>And here is the code that executes when a player is joining on the server:</p>
  <pre class="lang-java prettyprint-override"><code>    @EventHandler
      public void onJoin(PlayerJoinEvent e){
          Player p = e.getPlayer();
  
          if (UserList.get().get(&quot;users.&quot; + p.getName() + &quot;.group&quot;) == null){  //&lt;- I tried to prevent it with this if-statement but the problem must be elsewhere
              UserList.get().set(&quot;users.&quot; + p.getName() + &quot;.group&quot;, &quot;default&quot;);
          }
          UserList.get().set(&quot;users.&quot; + p.getName() + &quot;.uuid&quot;, p.getUniqueId().toString());
          UserList.Save();
  
          if (!p.hasPlayedBefore()) e.setJoinMessage(ChatColor.YELLOW + p.getName() + ChatColor.WHITE + &quot; is new on this Server!&quot;);
          else e.setJoinMessage(ChatColor.YELLOW + p.getName() + ChatColor.WHITE + &quot; is &quot; + ChatColor.GREEN + &quot;Online&quot;);
  
      }
  </code></pre>