fix: updated ping command to work for mc 26.1.2

This commit is contained in:
Tronax 2026-05-30 22:58:14 +02:00
parent 197f9145b9
commit ae06f1997b
2 changed files with 49 additions and 54 deletions

29
pom.xml
View file

@ -6,13 +6,13 @@
<groupId>xyz.tronax</groupId> <groupId>xyz.tronax</groupId>
<artifactId>ZalmikLobby</artifactId> <artifactId>ZalmikLobby</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>ZalmikLobby</name> <name>ZalmikLobby</name>
<properties> <properties>
<java.version>1.8</java.version> <java.version>21</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
@ -21,8 +21,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version> <version>3.13.0</version> <configuration>
<configuration>
<source>${java.version}</source> <source>${java.version}</source>
<target>${java.version}</target> <target>${java.version}</target>
</configuration> </configuration>
@ -30,8 +29,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId> <artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version> <version>3.6.0</version> <executions>
<executions>
<execution> <execution>
<phase>package</phase> <phase>package</phase>
<goals> <goals>
@ -51,26 +49,17 @@
<repositories> <repositories>
<repository> <repository>
<id>spigotmc-repo</id> <id>papermc</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url> <url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository> </repository>
</repositories> </repositories>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.spigotmc</groupId> <groupId>io.papermc.paper</groupId>
<artifactId>spigot-api</artifactId> <artifactId>paper-api</artifactId>
<version>1.20.4-R0.1-SNAPSHOT</version> <version>1.21.4-R0.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.20.4-R0.1-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View file

@ -1,54 +1,60 @@
package xyz.tronax.zalmiklobby.commands; package xyz.tronax.zalmiklobby.commands;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import xyz.tronax.zalmiklobby.Main; import xyz.tronax.zalmiklobby.Main;
public class CMD_ping implements CommandExecutor { public class CMD_ping implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if(!(sender instanceof Player)) {
// Console // 1. Fall: Zu viele Argumente (Gilt für Console und Player)
if(args.length == 0) { if (args.length > 1) {
sender.sendMessage(Main.prefix + " §cBitte nutze /ping [Spieler]"); sender.sendMessage(MiniMessage.miniMessage().deserialize(Main.prefix + " <red>Zu viele Argumente!"));
} else if(args.length == 1) { return true;
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!"); // 2. Fall: Kein Argument angegeben
} if (args.length == 0) {
} else { if (sender instanceof Player) {
// Player
Player p = (Player) sender; Player p = (Player) sender;
if(args.length == 0) { sender.sendMessage(MiniMessage.miniMessage().deserialize(
//p.sendMessage(Main.prefix + " §7Dein Ping: §a§l" + ((CraftPlayer) p).getHandle().ping + " §a§lms."); Main.prefix + " <gray>Dein Ping: <green><bold>" + p.getPing() + " ms."
} 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 { } else {
// p.sendMessage(Main.prefix + "§e§l" + t.getName() + " §r§7's Ping: §a§l" + ((CraftPlayer) t).getHandle().ping + " §a§lms."); // Konsole hat keinen eigenen Ping
sender.sendMessage(MiniMessage.miniMessage().deserialize(Main.prefix + " <red>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 + " <red>Der Spieler <dark_red><bold>" + args[0] + "</bold><relative> ist nicht online!"
));
return true;
}
// 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 + " <gray>Dein Ping: <green><bold>" + t.getPing() + " ms."
));
} else { } else {
p.sendMessage(Main.prefix + " §cZu viele Argumente!"); // Fremder Ping (Für Konsole oder anderen Spieler)
sender.sendMessage(MiniMessage.miniMessage().deserialize(
Main.prefix + " <yellow><bold>" + t.getName() + "</bold><reset><gray>'s Ping: <green><bold>" + t.getPing() + " ms."
));
} }
return true;
} }
return false;
}
} }