Created a network packet for when a client presses a key. (Mod is now also client sided). Renamed some event handlers. Made it so after a client presses a key their grace period starts. After the grace period ends the player is removed from the list.

This commit is contained in:
micle
2021-06-03 17:01:28 +01:00
parent 21381e07af
commit 2688402c40
8 changed files with 105 additions and 6 deletions

View File

@ -9,6 +9,10 @@ public class ProtectedPlayers {
public ProtectedPlayers() { }
public int size() {
return protected_players.size();
}
public void addPlayer(UUID player_uuid) {
protected_players.add(new ProtectedPlayer(player_uuid));
}
@ -23,4 +27,21 @@ public class ProtectedPlayers {
}
return player;
}
public void removePlayer(UUID player_uuid) {
ProtectedPlayer player = getPlayer(player_uuid);
if (player == null) { return; }
protected_players.remove(player);
}
public void updateGracePeriods() {
for (ProtectedPlayer protected_player : protected_players) {
if (protected_player.isLoading() || protected_player.getGracePeriod() <= 0) { continue; }
int grace_period = protected_player.getGracePeriod();
protected_player.setGracePeriod(grace_period-1);
if (grace_period <= 0) {
removePlayer(protected_player.getPlayerUUID());
}
}
}
}