34 lines
862 B
Java
34 lines
862 B
Java
|
package xyz.etztech.minecraftmanager.objects;
|
||
|
|
||
|
import org.bukkit.Material;
|
||
|
|
||
|
import java.util.*;
|
||
|
|
||
|
public class PlayerOreStrikeList {
|
||
|
private Map<Material, ArrayList<Date>> strikes = new HashMap<>();
|
||
|
|
||
|
public PlayerOreStrikeList() {
|
||
|
}
|
||
|
|
||
|
public void addStrike(Material material) {
|
||
|
ArrayList<Date> oreStrikes = getStrikes(material);
|
||
|
oreStrikes.add(new Date());
|
||
|
strikes.put(material, oreStrikes);
|
||
|
}
|
||
|
|
||
|
public int strikeCount(Material material) {
|
||
|
return getStrikes(material).size();
|
||
|
}
|
||
|
|
||
|
public ArrayList<Date> getStrikes(Material material) {
|
||
|
return strikes.getOrDefault(material, new ArrayList<>());
|
||
|
}
|
||
|
|
||
|
public void purge(Date cutoff) {
|
||
|
strikes.forEach((block, list) -> {
|
||
|
list.removeIf(date -> date.before(cutoff));
|
||
|
strikes.put(block, list);
|
||
|
});
|
||
|
}
|
||
|
}
|