feat: Improved Random SendMode

This commit is contained in:
4drian3d 2022-08-15 14:27:41 +00:00
parent 23a8255796
commit b2a928883b
2 changed files with 7 additions and 4 deletions

View File

@ -5,5 +5,7 @@ import net.kyori.adventure.util.Index;
public enum MessageType {
LOGIN, REGISTER, LOGOUT, FORCE_UNREGISTER, UNREGISTER;
public static final Index<String, MessageType> INDEX = Index.create((value) -> value.toString(), MessageType.values());
// Enum#values is a heavy operation, so... cached MessageType members
public static final Index<String, MessageType> INDEX
= Index.create(MessageType::toString, MessageType.values());
}

View File

@ -61,9 +61,10 @@ public class AuthmeUtils {
Optional<RegisteredServer> server;
if (servers.size() == 1) {
server = proxy.getServer(servers.get(0));
if (server.isPresent()) {
yield Pair.of(server.get().getServerInfo().getName(), server.get());
}
// It is nonsense to make so many attempts if there are a single server
yield Pair.of(
server.map(sv -> sv.getServerInfo().getName()).orElse(null),
server.orElse(null));
}
for (int i = 0; i < attempts; i++) {
int value = RANDOM.nextInt(servers.size());