Files
Purpur/purpur-server/minecraft-patches/sources/net/minecraft/commands/Commands.java.patch
William Blake Galbreath 4be7fb0d95 Add ping command
2025-01-14 11:51:16 -08:00

35 lines
1.7 KiB
Diff

--- a/net/minecraft/commands/Commands.java
+++ b/net/minecraft/commands/Commands.java
@@ -137,6 +_,7 @@
import net.minecraft.world.flag.FeatureFlagSet;
import net.minecraft.world.flag.FeatureFlags;
import net.minecraft.world.level.GameRules;
+import org.bukkit.event.player.PlayerCommandSendEvent;
import org.slf4j.Logger;
public class Commands {
@@ -245,6 +_,7 @@
StopCommand.register(this.dispatcher);
TransferCommand.register(this.dispatcher);
WhitelistCommand.register(this.dispatcher);
+ org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur - Add ping command
}
if (selection.includeIntegrated) {
@@ -488,6 +_,7 @@
private void runSync(ServerPlayer player, java.util.Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootCommandNode) {
// Paper end - Perf: Async command map building
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootCommandNode, true).callEvent(); // Paper - Brigadier API
+ if (PlayerCommandSendEvent.getHandlerList().getRegisteredListeners().length > 0) { // Purpur - Skip events if there's no listeners
org.bukkit.event.player.PlayerCommandSendEvent event = new org.bukkit.event.player.PlayerCommandSendEvent(player.getBukkitEntity(), new java.util.LinkedHashSet<>(bukkit));
event.getPlayer().getServer().getPluginManager().callEvent(event);
@@ -498,6 +_,7 @@
}
}
// CraftBukkit end
+ } // Purpur - Skip events if there's no listeners
player.connection.send(new ClientboundCommandsPacket(rootCommandNode));
}