13
0
geforkt von Mirrors/Paper

#1067: Add preview chat option in ServerListPingEvent

By: Doc <nachito94@msn.com>
Dieser Commit ist enthalten in:
CraftBukkit/Spigot 2022-06-18 20:55:26 +10:00
Ursprung 63d419d302
Commit 40a58283ca
3 geänderte Dateien mit 6 neuen und 5 gelöschten Zeilen

Datei anzeigen

@ -4,7 +4,7 @@
MinecraftServer minecraftserver = this.serverConnectionListener.getServer(); MinecraftServer minecraftserver = this.serverConnectionListener.getServer();
int i = bytebuf.readableBytes(); int i = bytebuf.readableBytes();
String s; String s;
+ org.bukkit.event.server.ServerListPingEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callServerListPingEvent(minecraftserver.server, inetsocketaddress.getAddress(), minecraftserver.getMotd(), minecraftserver.getPlayerCount(), minecraftserver.getMaxPlayers()); // CraftBukkit + org.bukkit.event.server.ServerListPingEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callServerListPingEvent(minecraftserver.server, inetsocketaddress.getAddress(), minecraftserver.getMotd(), minecraftserver.previewsChat(), minecraftserver.getPlayerCount(), minecraftserver.getMaxPlayers()); // CraftBukkit
switch (i) { switch (i) {
case 0: case 0:

Datei anzeigen

@ -19,7 +19,7 @@
public class PacketStatusListener implements PacketStatusInListener { public class PacketStatusListener implements PacketStatusInListener {
private static final IChatBaseComponent DISCONNECT_REASON = IChatBaseComponent.translatable("multiplayer.status.request_handled"); private static final IChatBaseComponent DISCONNECT_REASON = IChatBaseComponent.translatable("multiplayer.status.request_handled");
@@ -35,7 +47,102 @@ @@ -35,7 +47,103 @@
this.connection.disconnect(PacketStatusListener.DISCONNECT_REASON); this.connection.disconnect(PacketStatusListener.DISCONNECT_REASON);
} else { } else {
this.hasRequestedStatus = true; this.hasRequestedStatus = true;
@ -32,7 +32,7 @@
+ CraftIconCache icon = server.server.getServerIcon(); + CraftIconCache icon = server.server.getServerIcon();
+ +
+ ServerListPingEvent() { + ServerListPingEvent() {
+ super(((InetSocketAddress) connection.getRemoteAddress()).getAddress(), server.getMotd(), server.getPlayerList().getMaxPlayers()); + super(((InetSocketAddress) connection.getRemoteAddress()).getAddress(), server.getMotd(), server.previewsChat(), server.getPlayerList().getMaxPlayers());
+ } + }
+ +
+ @Override + @Override
@ -112,6 +112,7 @@
+ } + }
+ +
+ ServerPing ping = new ServerPing(); + ServerPing ping = new ServerPing();
+ ping.setPreviewsChat(event.shouldSendChatPreviews());
+ ping.setFavicon(event.icon.value); + ping.setFavicon(event.icon.value);
+ ping.setDescription(CraftChatMessage.fromString(event.getMotd(), true)[0]); + ping.setDescription(CraftChatMessage.fromString(event.getMotd(), true)[0]);
+ ping.setPlayers(playerSample); + ping.setPlayers(playerSample);

Datei anzeigen

@ -834,8 +834,8 @@ public class CraftEventFactory {
/** /**
* Server methods * Server methods
*/ */
public static ServerListPingEvent callServerListPingEvent(Server craftServer, InetAddress address, String motd, int numPlayers, int maxPlayers) { public static ServerListPingEvent callServerListPingEvent(Server craftServer, InetAddress address, String motd, boolean shouldSendChatPreviews, int numPlayers, int maxPlayers) {
ServerListPingEvent event = new ServerListPingEvent(address, motd, numPlayers, maxPlayers); ServerListPingEvent event = new ServerListPingEvent(address, motd, shouldSendChatPreviews, numPlayers, maxPlayers);
craftServer.getPluginManager().callEvent(event); craftServer.getPluginManager().callEvent(event);
return event; return event;
} }