Class Event

java.lang.Object
org.bukkit.event.Event
Direct Known Subclasses:
AsyncPlayerDataPreLoadEvent, AsyncPlayerPreLoginEvent, AsyncTabCompleteEvent, BlockEvent, EntityEvent, FillProfileEvent, GS4QueryEvent, HangingEvent, InventoryEvent, InventoryMoveItemEvent, InventoryPickupItemEvent, LookupProfileEvent, PlayerConnectionCloseEvent, PlayerEvent, PlayerHandshakeEvent, PlayerLeashEntityEvent, PlayerPreLoginEvent, PreCreatureSpawnEvent, PreFillProfileEvent, PreLookupProfileEvent, ProfileWhitelistVerifyEvent, ServerEvent, ServerExceptionEvent, ServerTickEndEvent, ServerTickStartEvent, TabCompleteEvent, ThrownEggHatchEvent, UnknownCommandEvent, VehicleEvent, WeatherEvent, WhitelistStateUpdateEvent, WhitelistToggleEvent, WorldEvent

public abstract class Event extends Object
Represents an event. All events require a static method named getHandlerList() which returns the same HandlerList as getHandlers().
See Also:
  • Constructor Details

    • Event

      public Event()
      The default constructor is defined for cleaner code. This constructor assumes the event is synchronous.
    • Event

      public Event(boolean isAsync)
      This constructor is used to explicitly declare an event as synchronous or asynchronous.
      Parameters:
      isAsync - true indicates the event will fire asynchronously, false by default from default constructor
  • Method Details

    • callEvent

      public boolean callEvent()
      Calls the event and tests if cancelled.
      Returns:
      false if event was cancelled, if cancellable. otherwise true.
    • getEventMetadata

      @NotNull public Map<String,Object> getEventMetadata()
      Gets the metadata of this event.
      Returns:
      The event metadata map.
    • isSupportInterrupt

      public boolean isSupportInterrupt()
      이 이벤트가 인터럽트를 지원하는지 여부를 가져옵니다.
      Returns:
      인터럽트 지원 여부
    • getEventName

      @NotNull public @NotNull String getEventName()
      Convenience method for providing a user-friendly identifier. By default, it is the event's class's simple name.
      Returns:
      name of this event
    • getHandlers

      @NotNull public abstract @NotNull HandlerList getHandlers()
    • isAsynchronous

      public final boolean isAsynchronous()
      Any custom event that should not by synchronized with other events must use the specific constructor. These are the caveats of using an asynchronous event:
      • The event is never fired from inside code triggered by a synchronous event. Attempting to do so results in an IllegalStateException.
      • However, asynchronous event handlers may fire synchronous or asynchronous events
      • The event may be fired multiple times simultaneously and in any order.
      • Any newly registered or unregistered handler is ignored after an event starts execution.
      • The handlers for this event may block for any length of time.
      • Some implementations may selectively declare a specific event use as asynchronous. This behavior should be clearly defined.
      • Asynchronous calls are not calculated in the plugin timing system.
      Returns:
      false by default, true if the event fires asynchronously