41 lines
1.1 KiB
Java
41 lines
1.1 KiB
Java
package xyz.etztech.minecraftmanager.objects;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.UUID;
|
|
|
|
public class OreAlert {
|
|
private HashMap<UUID, ArrayList<Date>> players;
|
|
|
|
public HashMap<UUID, ArrayList<Date>> getPlayers() {
|
|
return players;
|
|
}
|
|
|
|
public void setPlayers(HashMap<UUID, ArrayList<Date>> players) {
|
|
this.players = players;
|
|
}
|
|
|
|
public void addStrike(UUID uuid) {
|
|
ArrayList<Date> strikes = players.getOrDefault(uuid, new ArrayList<>());
|
|
strikes.add(new Date());
|
|
players.put(uuid, strikes);
|
|
}
|
|
|
|
public int getStrikes(UUID uuid) {
|
|
return players.getOrDefault(uuid, new ArrayList<>()).size();
|
|
}
|
|
|
|
public void purge(UUID uuid, int purge) {
|
|
Date cutoff = new Date();
|
|
// Cutoff to minutes, subtract purge, back to milliseconds
|
|
cutoff.setTime(((cutoff.getTime()/1000/60) - purge)*60*1000);
|
|
ArrayList<Date> purged = players.getOrDefault(uuid, new ArrayList<>());
|
|
purged.removeIf(date -> date.before(cutoff));
|
|
players.put(uuid, purged);
|
|
}
|
|
|
|
|
|
|
|
}
|