only set login timestamp on login

This commit is contained in:
YouHaveTrouble
2021-02-25 03:03:04 +01:00
parent e5d9ec456e
commit ef7016d576
4 changed files with 9 additions and 14 deletions
@@ -17,14 +17,11 @@ public class PlayerJoinAndLeaveListener implements Listener {
@EventHandler(ignoreCancelled = true)
public void onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent event) {
Player player = event.getPlayer();
PlayerData playerData = TogglePvp.getPlugin().getSqLite().getPlayerInfo(player.getUniqueId());
TogglePvp.getPlugin().getPlayerManager().addPlayer(player.getUniqueId(), playerData);
PlayerData playerData = TogglePvp.getPlugin().getPlayerManager().getPlayer(player.getUniqueId());
playerData.setLoginTimestamp(Instant.now().getEpochSecond());
}
/**
* This event is here to dump player's saved options from memory
* This event is here to save player's data to database
* Also punishes players who log out during combat
*/
@EventHandler
@@ -38,12 +35,11 @@ public class PlayerJoinAndLeaveListener implements Listener {
if (combatTime > now) {
player.setHealth(0);
if (TogglePvp.getPlugin().getConfigCache().isPunish_for_combat_logout_announce()) {
if (TogglePvp.getPlugin().getConfigCache().isPunish_for_combat_logout_announce())
PluginMessages.broadcastMessage(player, TogglePvp.getPlugin().getConfigCache().getPunish_for_combat_logout_message());
}
PlayerData playerData = TogglePvp.getPlugin().getPlayerManager().getPlayer(player.getUniqueId());
playerData.setCombattime(now-1);
}
}
}
@@ -11,11 +11,10 @@ public class PlayerData {
private boolean lastCombatCheck;
private long loginTimestamp;
public PlayerData(boolean pvpEnabled, long loginTimestamp) {
public PlayerData(boolean pvpEnabled) {
this.pvpEnabled = pvpEnabled;
this.combattime = Instant.now().getEpochSecond()-1;
this.loginTimestamp = loginTimestamp;
this.loginTimestamp = Instant.now().getEpochSecond()-1;
refreshCachetime();
}
@@ -42,7 +42,7 @@ public class SmartCache {
return playerData;
} catch (NullPointerException ex) {
// Return false if database call fails
return new PlayerData(false, 0);
return new PlayerData(false);
}
}
}
@@ -53,7 +53,7 @@ public class SmartCache {
TogglePvp.getPlugin().getPlayerManager().getPlayer(uuid).setPvpEnabled(state);
}
// Update the database aswell
TogglePvp.getPlugin().getSqLite().updatePlayerInfo(uuid, new PlayerData(state, 0));
TogglePvp.getPlugin().getSqLite().updatePlayerInfo(uuid, new PlayerData(state));
}
@@ -70,7 +70,7 @@ public class DatabaseSQLite {
ResultSet result = statement.getResultSet();
boolean state = result.getBoolean("pvpenabled");
conn.close();
return new PlayerData(state, 0);
return new PlayerData(state);
} catch (SQLException throwables) {
throwables.printStackTrace();
}