From ccad4870fe67ab463aff4497cc419e3b6cfbb646 Mon Sep 17 00:00:00 2001 From: sophie Date: Tue, 7 May 2024 18:25:11 +0300 Subject: [PATCH] implement more shit --- src/main/java/ovh/sad/lobby/Main.java | 38 +++++++++++++++++++++------ 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/src/main/java/ovh/sad/lobby/Main.java b/src/main/java/ovh/sad/lobby/Main.java index cf5f713..12a0e12 100644 --- a/src/main/java/ovh/sad/lobby/Main.java +++ b/src/main/java/ovh/sad/lobby/Main.java @@ -23,13 +23,15 @@ import net.minestom.server.instance.InstanceContainer; import net.minestom.server.instance.InstanceManager; import net.minestom.server.instance.LightingChunk; import net.minestom.server.instance.block.Block; +import net.minestom.server.message.ChatPosition; +import net.minestom.server.message.Messenger; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; public class Main { - public static void main(String[] args) { + public static void main(String[] args) throws JsonIOException, JsonSyntaxException, FileNotFoundException { File file = new File("config.json"); if (!file.exists()) { System.err.println("config.json missing!"); @@ -40,12 +42,7 @@ public class Main { return; } - JsonObject json = JsonParser.parseString("{}").getAsJsonObject(); - try { - json = JsonParser.parseReader(new FileReader("config.json")).getAsJsonObject(); - } catch (JsonIOException | JsonSyntaxException | FileNotFoundException e) { - e.printStackTrace(); - } + JsonObject json = JsonParser.parseReader(new FileReader("config.json")).getAsJsonObject(); MinecraftServer minecraftServer = MinecraftServer.init(); @@ -138,10 +135,28 @@ public class Main { }); globalEventHandler.addListener(PlayerDisconnectEvent.class, event -> { MinecraftServer.LOGGER.info("Player " + event.getPlayer().getUsername() + " left."); - + Messenger.sendMessage( + MinecraftServer.getConnectionManager().getOnlinePlayers(), + Component.empty() + .append(Component.text("[").color(TextColor.color(50, 50, 50))) + .append(Component.text("-").color(TextColor.color(255, 0, 0))) + .append(Component.text("] ").color(TextColor.color(50, 50, 50))) + .append(Component.text(event.getPlayer().getUsername())), + ChatPosition.SYSTEM_MESSAGE, + null); }); globalEventHandler.addListener(PlayerSpawnEvent.class, event -> { MinecraftServer.LOGGER.info("Player " + event.getPlayer().getUsername() + " joined!"); + + Messenger.sendMessage( + MinecraftServer.getConnectionManager().getOnlinePlayers(), + Component.empty() + .append(Component.text("[").color(TextColor.color(50, 50, 50))) + .append(Component.text("+").color(TextColor.color(0, 255, 0))) + .append(Component.text("] ").color(TextColor.color(50, 50, 50))) + .append(Component.text(event.getPlayer().getUsername())), + ChatPosition.SYSTEM_MESSAGE, + null); event.getEntity().sendMessage(Component.text("Welcome to The Alliance!").color(TextColor.color(255, 0, 0))); event.getEntity().sendMessage(""); event.getEntity().sendMessage("Use /server to list the available servers,"); @@ -149,6 +164,13 @@ public class Main { .append(Component.text("/server ").color(TextColor.color(255, 0, 0))) .append(Component.text("").color(TextColor.color(0, 255, 0)))); event.getEntity().sendMessage("I hope you enjoy the server! -sophie"); + event.getEntity() + .sendMessage(Component.text("https://git.sad.ovh/sophie/lobby version is ") + .color(TextColor.color(155, 155, 155)) + .append(Component + .text((json.has("version") ? json.get("version").getAsString() : "not specified")) + .color(TextColor.color(255, 255, 0)))); + event.getPlayer().setAllowFlying(true); });