Package org.bukkit.event
Class Event
java.lang.Object
org.bukkit.event.Event
- Direct Known Subclasses:
 AsyncPlayerPreLoginEvent,BlockEvent,EntityEvent,HangingEvent,InventoryEvent,InventoryMoveItemEvent,InventoryPickupItemEvent,PlayerEvent,PlayerLeashEntityEvent,PlayerPreLoginEvent,ServerEvent,TabCompleteEvent,VehicleEvent,WeatherEvent,WorldEvent
Represents an event.
 All events require a static method named getHandlerList() which returns the same 
HandlerList as getHandlers().- 
Nested Class Summary
Nested Classes - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionConvenience method for providing a user-friendly identifier.abstract HandlerListfinal booleanAny custom event that should not by synchronized with other events must use the specific constructor. 
- 
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
- 
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
 - 
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
 
 - The event is never fired from inside code triggered by a
     synchronous event. Attempting to do so results in an 
 
 -