Yatopia/patches/server/0057-Purpur-Skip-events-if-there-s-no-listeners.patch

33 lines
1.5 KiB
Diff

From 130c34ea9f3c6dce072b57c659ddee5fcd88aaa5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 4 Apr 2020 03:07:59 -0500
Subject: [PATCH] Purpur Skip events if there's no listeners
---
src/main/java/net/minecraft/server/CommandDispatcher.java | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main/java/net/minecraft/server/CommandDispatcher.java b/src/main/java/net/minecraft/server/CommandDispatcher.java
index 2414b0a552..d31d491381 100644
--- a/src/main/java/net/minecraft/server/CommandDispatcher.java
+++ b/src/main/java/net/minecraft/server/CommandDispatcher.java
@@ -273,6 +273,7 @@ public class CommandDispatcher {
}
private void runSync(EntityPlayer entityplayer, Collection<String> bukkit, RootCommandNode<ICompletionProvider> rootcommandnode) {
+ if (PlayerCommandSendEvent.getHandlerList().getRegisteredListeners().length > 0) { // Purpur - skip all this crap if there's nothing listening
// Paper end - Async command map building
PlayerCommandSendEvent event = new PlayerCommandSendEvent(entityplayer.getBukkitEntity(), new LinkedHashSet<>(bukkit));
event.getPlayer().getServer().getPluginManager().callEvent(event);
@@ -284,6 +285,7 @@ public class CommandDispatcher {
}
}
// CraftBukkit end
+ } // Purpur - skip event
entityplayer.playerConnection.sendPacket(new PacketPlayOutCommands(rootcommandnode));
}
--
2.25.1.windows.1