aboutsummaryrefslogtreecommitdiffhomepage
path: root/patch-remap/og/net/minecraft/server/network/LegacyPingHandler.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch-remap/og/net/minecraft/server/network/LegacyPingHandler.patch')
-rw-r--r--patch-remap/og/net/minecraft/server/network/LegacyPingHandler.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/patch-remap/og/net/minecraft/server/network/LegacyPingHandler.patch b/patch-remap/og/net/minecraft/server/network/LegacyPingHandler.patch
new file mode 100644
index 0000000000..bed960eee0
--- /dev/null
+++ b/patch-remap/og/net/minecraft/server/network/LegacyPingHandler.patch
@@ -0,0 +1,45 @@
+--- a/net/minecraft/server/network/LegacyPingHandler.java
++++ b/net/minecraft/server/network/LegacyPingHandler.java
+@@ -35,10 +35,11 @@
+ SocketAddress socketaddress = channelhandlercontext.channel().remoteAddress();
+ int i = bytebuf.readableBytes();
+ String s;
++ org.bukkit.event.server.ServerListPingEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callServerListPingEvent(socketaddress, server.getMotd(), server.getPlayerCount(), server.getMaxPlayers()); // CraftBukkit
+
+ if (i == 0) {
+ LegacyPingHandler.LOGGER.debug("Ping: (<1.3.x) from {}", socketaddress);
+- s = createVersion0Response(this.server);
++ s = createVersion0Response(this.server, event); // CraftBukkit
+ sendFlushAndClose(channelhandlercontext, createLegacyDisconnectPacket(channelhandlercontext.alloc(), s));
+ } else {
+ if (bytebuf.readUnsignedByte() != 1) {
+@@ -55,7 +56,7 @@
+ LegacyPingHandler.LOGGER.debug("Ping: (1.4-1.5.x) from {}", socketaddress);
+ }
+
+- s = createVersion1Response(this.server);
++ s = createVersion1Response(this.server, event); // CraftBukkit
+ sendFlushAndClose(channelhandlercontext, createLegacyDisconnectPacket(channelhandlercontext.alloc(), s));
+ }
+
+@@ -106,12 +107,16 @@
+ }
+ }
+
+- private static String createVersion0Response(ServerInfo serverinfo) {
+- return String.format(Locale.ROOT, "%s\u00a7%d\u00a7%d", serverinfo.getMotd(), serverinfo.getPlayerCount(), serverinfo.getMaxPlayers());
++ // CraftBukkit start
++ private static String createVersion0Response(ServerInfo serverinfo, org.bukkit.event.server.ServerListPingEvent event) {
++ return String.format(Locale.ROOT, "%s\u00a7%d\u00a7%d", event.getMotd(), event.getNumPlayers(), event.getMaxPlayers());
++ // CraftBukkit end
+ }
+
+- private static String createVersion1Response(ServerInfo serverinfo) {
+- return String.format(Locale.ROOT, "\u00a71\u0000%d\u0000%s\u0000%s\u0000%d\u0000%d", 127, serverinfo.getServerVersion(), serverinfo.getMotd(), serverinfo.getPlayerCount(), serverinfo.getMaxPlayers());
++ // CraftBukkit start
++ private static String createVersion1Response(ServerInfo serverinfo, org.bukkit.event.server.ServerListPingEvent event) {
++ return String.format(Locale.ROOT, "\u00a71\u0000%d\u0000%s\u0000%s\u0000%d\u0000%d", 127, serverinfo.getServerVersion(), event.getMotd(), event.getNumPlayers(), event.getMaxPlayers());
++ // CraftBukkit end
+ }
+
+ private static void sendFlushAndClose(ChannelHandlerContext channelhandlercontext, ByteBuf bytebuf) {