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;
}
-
}