EpicHoppers/EpicHoppers-Plugin/src/main/java/com/craftaro/epichoppers/boost/BoostManagerImpl.java

56 lines
1.4 KiB
Java

package com.craftaro.epichoppers.boost;
import com.craftaro.core.database.Data;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
public class BoostManagerImpl implements BoostManager {
private final Set<BoostData> registeredBoosts = new HashSet<>();
@Override
public void addBoostToPlayer(BoostData data) {
this.registeredBoosts.add(data);
}
@Override
public void removeBoostFromPlayer(BoostData data) {
this.registeredBoosts.remove(data);
}
@Override
public void addBoosts(List<BoostData> boosts) {
this.registeredBoosts.addAll(boosts);
}
public void loadBoosts(Collection<BoostDataImpl> boosts) {
this.registeredBoosts.addAll(boosts);
}
@Override
public Set<BoostData> getBoosts() {
return Collections.unmodifiableSet(this.registeredBoosts);
}
@Override
public BoostData getBoost(UUID player) {
if (player == null) {
return null;
}
for (BoostData boostData : this.registeredBoosts) {
if (boostData.getPlayer().toString().equals(player.toString())) {
if (System.currentTimeMillis() >= boostData.getEndTime()) {
removeBoostFromPlayer(boostData);
}
return boostData;
}
}
return null;
}
}