程序包 org.bukkit.event.player

# 类 AsyncPlayerChatEvent

java.lang.Object
org.bukkit.event.Event
org.bukkit.event.player.PlayerEvent
org.bukkit.event.player.AsyncPlayerChatEvent

所有已实现的接口:
  `Cancellable`

直接已知子类:
  `AsyncPlayerChatPreviewEvent`

public class AsyncPlayerChatEvent extends PlayerEvent implements Cancellable
当玩家聊天时触发这个事件.

构造器提供了一个表示事件同步触发还是异步触发的布尔值。 当异步时，本事件可以被任何线程调用，无主线程，访问API受限。

如果玩家通过传入的聊天数据包导致触发本事件，本事件将是异步的。 如果一个插件通过迫使玩家聊天（比如`Player.chat`）而触发本事件，本事件将是同步的。

应注意通过`Event.isAsynchronous()`检查本事件是同步的还是异步的，适当地处理本事件。

- ## 嵌套类概要

  ## 从类继承的嵌套类/接口 org.bukkit.event.Event

  `Event.Result`

- ## 字段概要

  ### 从类继承的字段 org.bukkit.event.player.PlayerEvent

  `player`

- ## 构造器概要

  构造器
  构造器
  说明
  `AsyncPlayerChatEvent(boolean async, @NotNull Player who, @NotNull String message, @NotNull Set<Player> players)`

- ## 方法概要

  修饰符和类型
  方法
  说明
  `@NotNull String`
  `getFormat()`
  获取用于展示这条字符消息的格式。
  `static @NotNull HandlerList`
  `getHandlerList()`
  `@NotNull HandlerList`
  `getHandlers()`
  `@NotNull String`
  `getMessage()`
  获得这个玩家试图发送的信息。
  `@NotNull Set<Player>`
  `getRecipients()`
  获取一个将看到这条消息的玩家的集合。
  `boolean`
  `isCancelled()`
  获取这个事件是否被取消.一个被取消的事件不会在服务器里执行，但是仍然会传递事件到其他插件.
  `void`
  `setCancelled(boolean cancel)`
  取消这个事件.
  `void`
  `setFormat(@NotNull String format)`
  设置用于展示这条字符消息的格式。
  `void`
  `setMessage(@NotNull String message)`
  设置这个玩家将发送的信息。

  ### 从类继承的方法 org.bukkit.event.player.PlayerEvent

  `getPlayer`

  ### 从类继承的方法 org.bukkit.event.Event

  `getEventName, isAsynchronous`

  ### 从类继承的方法 java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 构造器详细资料

  - ### AsyncPlayerChatEvent

    public AsyncPlayerChatEvent(boolean async, @NotNull @NotNull Player who, @NotNull @NotNull String message, @NotNull @NotNull Set<Player> players)
    参数:
      `async` - 设置该事件为同步事件
      `who` - 触发者
      `message` - 发送的信息
      `players` - 消息发送者

- ## 方法详细资料

  - ### getMessage

    @NotNull public @NotNull String getMessage()
    获得这个玩家试图发送的信息。这个消息 将以`getFormat()`的格式被获取。

    原文:Gets the message that the player is attempting to send. This message will be used with `getFormat()`.

    返回:
      这个玩家试图发送的信息

  - ### setMessage

    public void setMessage(@NotNull @NotNull String message)
    设置这个玩家将发送的信息。这个消息 将以`getFormat()`的格式被设置。

    原文:Sets the message that the player will send. This message will be used with `getFormat()`.

    参数:
      `message` - 设置的这个玩家将发送的新消息

  - ### getFormat

    @NotNull public @NotNull String getFormat()
    获取用于展示这条字符消息的格式。

    这个事件执行完毕后，获取的格式的第一个部分是 `Player.getDisplayName()` 第二个部分是 `getMessage()`

    原文: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()`

    返回:
      输出格式：`String.format(String, Object...)`

  - ### setFormat

    public void setFormat(@NotNull @NotNull String format) throws IllegalFormatException, NullPointerException
    设置用于展示这条字符消息的格式。

    这个事件执行完毕后，设置的格式的第一个部分是 `Player.getDisplayName()` 第二个部分是 `getMessage()`

    原文: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()`

    参数:
      `format` - 输出格式：`String.format(String, Object...)`
    抛出:
      `IllegalFormatException` - 底层API抛出错误
      `NullPointerException` - 如果这个格式为null则抛出错误
    另请参阅:
      - `String.format(String, Object...)`

  - ### getRecipients

    @NotNull public @NotNull Set<Player> getRecipients()
    获取一个将看到这条消息的玩家的集合。

    本方法返回的集合不保证可以改变和访问时可能自动填充。 任何监听器访问这个返回的集合应该知道对于一个lazy set的实现可能会降低性能.

    监听器应注意到如果事件传唤者提供了一个不可修改的Set集合的话修改这个列表可能会抛出`UnsupportedOperationException`异常。

    原文: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.

    返回:
      所有会看到这个消息的玩家

  - ### isCancelled

    public boolean isCancelled()
    从接口复制的说明: `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

    指定者:
      `isCancelled` 在接口中 `Cancellable`
    返回:
      如果事件已经被取消，则为true

  - ### setCancelled

    public void setCancelled(boolean cancel)
    从接口复制的说明: `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.

    指定者:
      `setCancelled` 在接口中 `Cancellable`
    参数:
      `cancel` - 如果你想取消这个事件，则为true

  - ### getHandlers

    @NotNull public @NotNull HandlerList getHandlers()
    指定者:
      `getHandlers` 在类中 `Event`

  - ### getHandlerList

    @NotNull public static @NotNull HandlerList getHandlerList()