package com.alttd.hunger_games.services; import com.alttd.hunger_games.data_objects.PLAYER_STATE; import com.alttd.hunger_games.data_objects.ROUND_STATE; import lombok.Getter; import org.bukkit.entity.Player; import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.stream.Collectors; public class RoundService implements RoundListener { @Getter private ROUND_STATE roundState; private final HashMap players = new HashMap<>(); public RoundService(Round round) { this.roundState = round.register(this); } public Set getPlayers(PLAYER_STATE playerState) { return players.entrySet().stream() .filter(entry -> entry.getValue().equals(playerState)) .map(Map.Entry::getKey) .collect(Collectors.toSet()); } protected void setPlayerState(UUID uuid, PLAYER_STATE playerState) { players.put(uuid, playerState); } public PLAYER_STATE getPlayerState(UUID uuid) { return players.get(uuid); } @Override public void stateChange(ROUND_STATE roundState) { this.roundState = roundState; } @Override public void roundReset() { players.clear(); roundState = null; } }