MinecraftManagerPlugin/src/main/java/xyz/etztech/minecraftmanager/objects/PlayerOreStrikeList.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);
});
}
}