Class AsyncPlayerChatEvent

All Implemented Interfaces:
Cancellable
Direct Known Subclasses:
AsyncPlayerChatPreviewEvent

public class AsyncPlayerChatEvent extends PlayerEvent implements Cancellable
This event will sometimes fire synchronously, depending on how it was triggered.

The constructor provides a boolean to indicate if the event was fired synchronously or asynchronously. When asynchronous, this event can be called from any thread, sans the main thread, and has limited access to the API.

If a player is the direct cause of this event by an incoming packet, this event will be asynchronous. If a plugin triggers this event by compelling a player to chat, this event will be synchronous.

Care should be taken to check Event.isAsynchronous() and treat the event appropriately.

  • Constructor Details Link icon

    • AsyncPlayerChatEvent Link icon

      public AsyncPlayerChatEvent(boolean async, @NotNull Player who, @NotNull String message, @NotNull Set<Player> players)
      Parameters:
      async - This changes the event to a synchronous state.
      who - the chat sender
      message - the message sent
      players - the players to receive the message. This may be a lazy or unmodifiable collection.
  • Method Details Link icon

    • getMessage Link icon

      @NotNull public String getMessage()
      Gets the message that the player is attempting to send. This message will be used with getFormat().
      Returns:
      Message the player is attempting to send
    • setMessage Link icon

      public void setMessage(@NotNull String message)
      Sets the message that the player will send. This message will be used with getFormat().
      Parameters:
      message - New message that the player will send
    • getFormat Link icon

      @NotNull public String getFormat()
      Gets the format to use to display this chat message.

      When this event finishes execution, the first format parameter is the Player.getDisplayName() and the second parameter is getMessage()

      Returns:
      String.format(String, Object...) compatible format string
    • setFormat Link icon

      public void setFormat(@NotNull String format) throws IllegalFormatException, NullPointerException
      Sets the format to use to display this chat message.

      When this event finishes execution, the first format parameter is the Player.getDisplayName() and the second parameter is getMessage()

      Parameters:
      format - String.format(String, Object...) compatible format string
      Throws:
      IllegalFormatException - if the underlying API throws the exception
      NullPointerException - if format is null
      See Also:
    • getRecipients Link icon

      @NotNull public Set<Player> getRecipients()
      Gets a set of recipients that this chat message will be displayed to.

      The set returned is not guaranteed to be mutable and may auto-populate on access. Any listener accessing the returned set should be aware that it may reduce performance for a lazy set implementation.

      Listeners should be aware that modifying the list may throw UnsupportedOperationException if the event caller provides an unmodifiable set.

      Returns:
      All Players who will see this chat message
    • isCancelled Link icon

      public boolean isCancelled()
      Description copied from interface: Cancellable
      Gets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins
      Specified by:
      isCancelled in interface Cancellable
      Returns:
      true if this event is cancelled
    • setCancelled Link icon

      public void setCancelled(boolean cancel)
      Description copied from interface: Cancellable
      Sets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins.
      Specified by:
      setCancelled in interface Cancellable
      Parameters:
      cancel - true if you wish to cancel this event
    • getHandlers Link icon

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

      @NotNull public static HandlerList getHandlerList()