diff --git a/pom.xml b/pom.xml index 7b9479b..87e7153 100644 --- a/pom.xml +++ b/pom.xml @@ -6,13 +6,13 @@ xyz.tronax ZalmikLobby - 1.0-SNAPSHOT + 1.0 jar ZalmikLobby - 1.8 + 21 UTF-8 @@ -21,8 +21,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 - + 3.13.0 ${java.version} ${java.version} @@ -30,8 +29,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - + 3.6.0 package @@ -51,26 +49,17 @@ - spigotmc-repo - https://hub.spigotmc.org/nexus/content/repositories/snapshots/ - - - sonatype - https://oss.sonatype.org/content/groups/public/ + papermc + https://repo.papermc.io/repository/maven-public/ - org.spigotmc - spigot-api - 1.20.4-R0.1-SNAPSHOT + io.papermc.paper + paper-api + 1.21.4-R0.1-SNAPSHOT provided - - org.spigotmc - spigot - 1.20.4-R0.1-SNAPSHOT - diff --git a/src/main/java/xyz/tronax/zalmiklobby/commands/CMD_ping.java b/src/main/java/xyz/tronax/zalmiklobby/commands/CMD_ping.java index 6e383d7..6dd7b94 100644 --- a/src/main/java/xyz/tronax/zalmiklobby/commands/CMD_ping.java +++ b/src/main/java/xyz/tronax/zalmiklobby/commands/CMD_ping.java @@ -1,54 +1,60 @@ package xyz.tronax.zalmiklobby.commands; +import net.kyori.adventure.text.minimessage.MiniMessage; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; import org.bukkit.entity.Player; import xyz.tronax.zalmiklobby.Main; public class CMD_ping implements CommandExecutor { + @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if(!(sender instanceof Player)) { - // Console - if(args.length == 0) { - sender.sendMessage(Main.prefix + " §cBitte nutze /ping [Spieler]"); - } else if(args.length == 1) { - Player t = (Player) Bukkit.getPlayer(args[0]); - if(t == null) { - sender.sendMessage(Main.prefix + " §cDer Spieler §4§l" + args[0] + "§r §cist nicht online!"); - } else { - //sender.sendMessage(Main.prefix + "§e§l" + t.getName() + " §r§7's Ping: §a§l" + ((CraftPlayer) t).getHandle().ping + " §a§lms."); - } - } else { - sender.sendMessage(Main.prefix + " §cZu viele Argumente!"); - } - } else { - // Player - Player p = (Player) sender; - if(args.length == 0) { - //p.sendMessage(Main.prefix + " §7Dein Ping: §a§l" + ((CraftPlayer) p).getHandle().ping + " §a§lms."); - } else if(args.length == 1) { - Player t = (Player) Bukkit.getPlayer(args[0]); - if(t == null) { - p.sendMessage(Main.prefix + " §cDer Spieler §4§l" + args[0] + "§r §cist nicht online!"); - } else if(t == p) { - // p.sendMessage(Main.prefix + " §7Dein Ping: §a§l" + ((CraftPlayer) p).getHandle().ping + " §a§lms."); - } else { - // p.sendMessage(Main.prefix + "§e§l" + t.getName() + " §r§7's Ping: §a§l" + ((CraftPlayer) t).getHandle().ping + " §a§lms."); - } - } else { - p.sendMessage(Main.prefix + " §cZu viele Argumente!"); - } + // 1. Fall: Zu viele Argumente (Gilt für Console und Player) + if (args.length > 1) { + sender.sendMessage(MiniMessage.miniMessage().deserialize(Main.prefix + " Zu viele Argumente!")); + return true; } + // 2. Fall: Kein Argument angegeben + if (args.length == 0) { + if (sender instanceof Player) { + Player p = (Player) sender; + sender.sendMessage(MiniMessage.miniMessage().deserialize( + Main.prefix + " Dein Ping: " + p.getPing() + " ms." + )); + } else { + // Konsole hat keinen eigenen Ping + sender.sendMessage(MiniMessage.miniMessage().deserialize(Main.prefix + " Bitte nutze /ping [Spieler]")); + } + return true; + } + // 3. Fall: Genau 1 Argument (/ping [Spieler]) + Player t = Bukkit.getPlayer(args[0]); // Kein Cast nötig + if (t == null) { + sender.sendMessage(MiniMessage.miniMessage().deserialize( + Main.prefix + " Der Spieler " + args[0] + " ist nicht online!" + )); + return true; + } - return false; + // Prüfen, ob der Sender sich selbst abfragt (Nur relevant, wenn der Sender ein Spieler ist) + if (sender instanceof Player && t.getUniqueId().equals(((Player) sender).getUniqueId())) { + sender.sendMessage(MiniMessage.miniMessage().deserialize( + Main.prefix + " Dein Ping: " + t.getPing() + " ms." + )); + } else { + // Fremder Ping (Für Konsole oder anderen Spieler) + sender.sendMessage(MiniMessage.miniMessage().deserialize( + Main.prefix + " " + t.getName() + "'s Ping: " + t.getPing() + " ms." + )); + } + + return true; } - }