Shuffle player list before assigning teams
Added logic to randomize the order of players before assigning them to teams. This ensures a fairer distribution when teams are being populated.
This commit is contained in:
parent
7ae91bcf06
commit
07b700bc32
|
|
@ -21,6 +21,9 @@ import org.bukkit.Location;
|
|||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Slf4j
|
||||
|
|
@ -52,7 +55,9 @@ public class ClassSelectionPhase implements GamePhaseExecutor {
|
|||
Bukkit.broadcast(MiniMessage.miniMessage().deserialize("<green>Select your class with <gold>/ctf selectclass</gold></green>"));
|
||||
CircularIterator<Team> teamCircularIterator = new CircularIterator<>(gameManager.getTeams());
|
||||
if (teamCircularIterator.hasNext()) {
|
||||
Bukkit.getOnlinePlayers().stream()
|
||||
ArrayList<? extends Player> players = new ArrayList<>(Bukkit.getOnlinePlayers());
|
||||
Collections.shuffle(players);
|
||||
players.stream()
|
||||
.filter(player -> !player.hasPermission("ctf.bypass"))
|
||||
.filter(player -> gameManager.getTeamPlayer(player.getUniqueId()).isEmpty())
|
||||
.forEach(player -> {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user