Class AsyncPlayerChatEvent

  • All Implemented Interfaces:
    Cancellable

    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 Detail

      • AsyncPlayerChatEvent

        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 Detail

      • getMessage

        @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

        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
      • getRecipients

        @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

        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

        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
      • getHandlerList

        @NotNull
        public static HandlerList getHandlerList()