package com.mojang.realmsclient.gui; import com.mojang.realmsclient.dto.RealmsServer; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; @Environment(EnvType.CLIENT) public class RealmsServerList implements Iterable { private final Minecraft minecraft; private final Set removedServers = new HashSet(); private List servers = List.of(); public RealmsServerList(Minecraft minecraft) { this.minecraft = minecraft; } public void updateServersList(List servers) { List list = new ArrayList(servers); list.sort(new RealmsServer.McoServerComparator(this.minecraft.getUser().getName())); boolean bl = list.removeAll(this.removedServers); if (!bl) { this.removedServers.clear(); } this.servers = list; } public void removeItem(RealmsServer server) { this.servers.remove(server); this.removedServers.add(server); } public Iterator iterator() { return this.servers.iterator(); } public boolean isEmpty() { return this.servers.isEmpty(); } }