Class ServerListPingEvent

All Implemented Interfaces:
Iterable<Player>

public class ServerListPingEvent extends ServerEvent implements Iterable<Player>
Called when a server list ping is coming in. Displayed players can be checked and removed by iterating over this event.
Note: The players in iterator() will not be shown in the server info if Bukkit.getHideOnlinePlayers() is true.
  • Constructor Details

    • ServerListPingEvent

      public ServerListPingEvent(@NotNull String hostname, @NotNull InetAddress address, @NotNull String motd, int numPlayers, int maxPlayers)
    • ServerListPingEvent

      protected ServerListPingEvent(@NotNull String hostname, @NotNull InetAddress address, @NotNull String motd, int maxPlayers)
      This constructor is intended for implementations that provide the iterator() method, thus provided the getNumPlayers() count.
      Parameters:
      hostname - The hostname that was used to connect to the server
      address - the address of the pinger
      motd - the message of the day
      maxPlayers - the max number of players
  • Method Details

    • getHostname

      @NotNull public String getHostname()
      Gets the hostname that the player used to connect to the server, or blank if unknown
      Returns:
      The hostname
    • getAddress

      @NotNull public InetAddress getAddress()
      Get the address the ping is coming from.
      Returns:
      the address
    • getMotd

      @NotNull public String getMotd()
      Get the message of the day message.
      Returns:
      the message of the day
    • setMotd

      public void setMotd(@NotNull String motd)
      Change the message of the day message.
      Parameters:
      motd - the message of the day
    • getNumPlayers

      public int getNumPlayers()
      Get the number of players sent.
      Returns:
      the number of players
    • getMaxPlayers

      public int getMaxPlayers()
      Get the maximum number of players sent.
      Returns:
      the maximum number of players
    • shouldSendChatPreviews

      @Deprecated(since="1.19.3") public boolean shouldSendChatPreviews()
      Deprecated.
      chat previews have been removed
      Gets whether the server needs to send a preview of the chat to the client.
      Returns:
      true if chat preview is enabled, false otherwise
    • setMaxPlayers

      public void setMaxPlayers(int maxPlayers)
      Set the maximum number of players sent.
      Parameters:
      maxPlayers - the maximum number of player
    • setServerIcon

      Sets the server-icon sent to the client.
      Parameters:
      icon - the icon to send to the client
      Throws:
      IllegalArgumentException - if the CachedServerIcon is not created by the caller of this event; null may be accepted for some implementations
      UnsupportedOperationException - if the caller of this event does not support setting the server icon
    • getHandlers

      @NotNull public HandlerList getHandlers()
      Specified by:
      getHandlers in class Event
    • getHandlerList

      @NotNull public static HandlerList getHandlerList()
    • iterator

      @NotNull public Iterator<Player> iterator() throws UnsupportedOperationException

      Calling the Iterator.remove() method will force that particular player to not be displayed on the player list, decrease the size returned by getNumPlayers(), and will not be returned again by any new iterator.
      Note: The players here will not be shown in the server info if Bukkit.getHideOnlinePlayers() is true.

      Specified by:
      iterator in interface Iterable<Player>
      Throws:
      UnsupportedOperationException - if the caller of this event does not support removing players