diff --git a/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java b/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java index 5ab36de..924b6b7 100644 --- a/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java +++ b/src/main/java/pk/ajneb97/configs/PlayersConfigManager.java @@ -1,5 +1,6 @@ package pk.ajneb97.configs; +import org.bukkit.Bukkit; import org.bukkit.configuration.file.FileConfiguration; import pk.ajneb97.PlayerKits2; import pk.ajneb97.model.PlayerData; @@ -154,7 +155,10 @@ public class PlayersConfigManager { public void saveConfigs(){ ArrayList players = plugin.getPlayerDataManager().getPlayers(); for(PlayerData playerData : players) { - saveConfig(playerData); + if(playerData.isModified()){ + saveConfig(playerData); + } + playerData.setModified(false); } } diff --git a/src/main/java/pk/ajneb97/managers/PlayerDataManager.java b/src/main/java/pk/ajneb97/managers/PlayerDataManager.java index 09f0672..ab812f7 100644 --- a/src/main/java/pk/ajneb97/managers/PlayerDataManager.java +++ b/src/main/java/pk/ajneb97/managers/PlayerDataManager.java @@ -35,6 +35,7 @@ public class PlayerDataManager { if(create){ PlayerData playerData = new PlayerData(player.getName(),player.getUniqueId().toString()); + playerData.setModified(true); players.add(playerData); return playerData; } @@ -71,6 +72,7 @@ public class PlayerDataManager { public void setKitCooldown(Player player,String kitName,long cooldown){ PlayerData playerData = getPlayer(player,true); boolean creating = playerData.setKitCooldown(kitName,cooldown); + playerData.setModified(true); if(plugin.getMySQLConnection() != null){ plugin.getMySQLConnection().updateKit(playerData,playerData.getKit(kitName),creating); } @@ -95,6 +97,7 @@ public class PlayerDataManager { public void setKitOneTime(Player player,String kitName){ PlayerData playerData = getPlayer(player,true); boolean creating = playerData.setKitOneTime(kitName); + playerData.setModified(true); if(plugin.getMySQLConnection() != null){ plugin.getMySQLConnection().updateKit(playerData,playerData.getKit(kitName),creating); } @@ -112,6 +115,7 @@ public class PlayerDataManager { public void setKitBought(Player player,String kitName){ PlayerData playerData = getPlayer(player,true); boolean creating = playerData.setKitBought(kitName); + playerData.setModified(true); if(plugin.getMySQLConnection() != null){ plugin.getMySQLConnection().updateKit(playerData,playerData.getKit(kitName),creating); } @@ -135,6 +139,7 @@ public class PlayerDataManager { } playerData.resetKit(kitName); + playerData.setModified(true); if(plugin.getMySQLConnection() != null){ plugin.getMySQLConnection().resetKit(playerData.getUuid(),kitName); } @@ -173,9 +178,14 @@ public class PlayerDataManager { PlayerData playerData = getPlayerByUUID(player.getUniqueId().toString()); if(playerData == null){ firstJoin = true; - players.add(new PlayerData(player.getName(),player.getUniqueId().toString())); + playerData = new PlayerData(player.getName(),player.getUniqueId().toString()); + playerData.setModified(true); + players.add(playerData); }else{ - playerData.setName(player.getName()); + if(!playerData.getName().equals(player.getName())){ + playerData.setName(player.getName()); + playerData.setModified(true); + } } if(firstJoin){ diff --git a/src/main/java/pk/ajneb97/model/PlayerData.java b/src/main/java/pk/ajneb97/model/PlayerData.java index 1009b3f..e39c4c8 100644 --- a/src/main/java/pk/ajneb97/model/PlayerData.java +++ b/src/main/java/pk/ajneb97/model/PlayerData.java @@ -8,11 +8,13 @@ public class PlayerData { private String uuid; private ArrayList kits; + private boolean modified; public PlayerData(String name,String uuid){ this.name = name; this.uuid = uuid; this.kits = new ArrayList(); + this.modified = false; } public String getName() { @@ -43,6 +45,14 @@ public class PlayerData { this.kits.add(kit); } + public boolean isModified() { + return modified; + } + + public void setModified(boolean modified) { + this.modified = modified; + } + public PlayerDataKit getKit(String kitName){ for(PlayerDataKit kit : kits){ if(kit.getName().equals(kitName)){ diff --git a/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java b/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java index bd2e21d..39641cf 100644 --- a/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java +++ b/src/main/java/pk/ajneb97/tasks/InventoryUpdateTaskManager.java @@ -24,7 +24,7 @@ public class InventoryUpdateTaskManager { public void run() { execute(); } - }.runTaskTimerAsynchronously(plugin,0L,20L); + }.runTaskTimer(plugin,0L,20L); } public void execute(){ diff --git a/src/main/java/pk/ajneb97/tasks/PlayerDataSaveTask.java b/src/main/java/pk/ajneb97/tasks/PlayerDataSaveTask.java index 35b83f9..e573487 100644 --- a/src/main/java/pk/ajneb97/tasks/PlayerDataSaveTask.java +++ b/src/main/java/pk/ajneb97/tasks/PlayerDataSaveTask.java @@ -16,8 +16,8 @@ public class PlayerDataSaveTask { end = true; } - public void start(int minutes) { - long ticks = minutes*60*20; + public void start(int seconds) { + long ticks = seconds* 20L; new BukkitRunnable() { @Override diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 58db4a5..7c4bd7e 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ main: pk.ajneb97.PlayerKits2 -version: 1.8.4 +version: 1.8.5 name: PlayerKits2 api-version: 1.13 softdepend: [Vault,PlaceholderAPI]