Initial commit
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package eu.mhsl.minenet.minigames.server.provider;
|
||||
|
||||
import eu.mhsl.minenet.minigames.util.UuidUtil;
|
||||
import net.minestom.server.MinecraftServer;
|
||||
import net.minestom.server.network.UuidProvider;
|
||||
import net.minestom.server.network.player.PlayerConnection;
|
||||
import net.minestom.server.utils.mojang.MojangUtils;
|
||||
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class ByPlayerNameUuidProvider implements UuidProvider {
|
||||
@Override
|
||||
public UUID provide(PlayerConnection playerConnection, String username) {
|
||||
try {
|
||||
|
||||
if(MinecraftServer.getConnectionManager().getPlayer(username) != null) throw new IllegalStateException();
|
||||
String client = MojangUtils.fromUsername(username).get("id").getAsString();
|
||||
return UuidUtil.unTrimm(client);
|
||||
|
||||
} catch (NullPointerException e) {
|
||||
|
||||
Logger.getGlobal().info("Player " + username + " is an known by Mojang! (Using random UUID)");
|
||||
|
||||
} catch (IllegalStateException e) {
|
||||
|
||||
Logger.getGlobal().info("Player with the username " + username + " is already online. (Using random UUID)");
|
||||
playerConnection.disconnect();
|
||||
}
|
||||
|
||||
return UUID.randomUUID();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package eu.mhsl.minenet.minigames.server.tasks;
|
||||
|
||||
import eu.mhsl.minenet.minigames.util.Monitoring;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import net.minestom.server.MinecraftServer;
|
||||
import net.minestom.server.adventure.audience.Audiences;
|
||||
import net.minestom.server.entity.Player;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class TablistUpdateTask implements Runnable {
|
||||
@Override
|
||||
public void run() {
|
||||
Collection<Player> players = MinecraftServer.getConnectionManager().getOnlinePlayers();
|
||||
if (players.isEmpty()) return;
|
||||
|
||||
final Component header =
|
||||
Component.newline()
|
||||
.append(Component.text("MineNet Network", NamedTextColor.GOLD))
|
||||
.append(Component.newline()).append(Component.text("Players: " + players.size()))
|
||||
.append(Component.newline())
|
||||
.append(Component.newline()).append(Component.text("RAM: " + Monitoring.getRamUsage() + " MB", NamedTextColor.GRAY))
|
||||
.append(Component.newline()).append(Component.text("TICK: " + Monitoring.getTickMonitor().getTickTime() + "ms", NamedTextColor.GRAY))
|
||||
.append(Component.newline());
|
||||
|
||||
final Component footer =
|
||||
Component.newline()
|
||||
.append(Component.text("mhsl.eu"))
|
||||
.append(Component.newline());
|
||||
|
||||
Audiences.players().sendPlayerListHeaderAndFooter(header, footer);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user