<divclass="inheritance"title="Inheritance Tree"><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">java.lang.Object</a>
<dd><code><ahref="player/AsyncPlayerPreLoginEvent.html"title="class in org.bukkit.event.player">AsyncPlayerPreLoginEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.html"title="class in com.destroystokyo.paper.event.server">AsyncTabCompleteEvent</a></code>, <code><ahref="block/BlockEvent.html"title="class in org.bukkit.event.block">BlockEvent</a></code>, <code><ahref="entity/EntityEvent.html"title="class in org.bukkit.event.entity">EntityEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/profile/FillProfileEvent.html"title="class in com.destroystokyo.paper.event.profile">FillProfileEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/server/GS4QueryEvent.html"title="class in com.destroystokyo.paper.event.server">GS4QueryEvent</a></code>, <code><ahref="hanging/HangingEvent.html"title="class in org.bukkit.event.hanging">HangingEvent</a></code>, <code><ahref="inventory/InventoryEvent.html"title="class in org.bukkit.event.inventory">InventoryEvent</a></code>, <code><ahref="inventory/InventoryMoveItemEvent.html"title="class in org.bukkit.event.inventory">InventoryMoveItemEvent</a></code>, <code><ahref="inventory/InventoryPickupItemEvent.html"title="class in org.bukkit.event.inventory">InventoryPickupItemEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/profile/LookupProfileEvent.html"title="class in com.destroystokyo.paper.event.profile">LookupProfileEvent</a></code>, <code><ahref="../../../me/totalfreedom/scissors/event/block/MasterBlockFireEvent.html"title="class in me.totalfreedom.scissors.event.block">MasterBlockFireEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/player/PlayerConnectionCloseEvent.html"title="class in com.destroystokyo.paper.event.player">PlayerConnectionCloseEvent</a></code>, <code><ahref="player/PlayerEvent.html"title="class in org.bukkit.event.player">PlayerEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/player/PlayerHandshakeEvent.html"title="class in com.destroystokyo.paper.event.player">PlayerHandshakeEvent</a></code>, <code><ahref="entity/PlayerLeashEntityEvent.html"title="class in org.bukkit.event.entity">PlayerLeashEntityEvent</a></code>, <code><ahref="player/PlayerPreLoginEvent.html"title="class in org.bukkit.event.player">PlayerPreLoginEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/entity/PreCreatureSpawnEvent.html"title="class in com.destroystokyo.paper.event.entity">PreCreatureSpawnEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/profile/PreFillProfileEvent.html"title="class in com.destroystokyo.paper.event.profile">PreFillProfileEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/profile/PreLookupProfileEvent.html"title="class in com.destroystokyo.paper.event.profile">PreLookupProfileEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/profile/ProfileWhitelistVerifyEvent.html"title="class in com.destroystokyo.paper.event.profile">ProfileWhitelistVerifyEvent</a></code>, <code><ahref="server/ServerEvent.html"title="class in org.bukkit.event.server">ServerEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/server/ServerExceptionEvent.html"title="class in com.destroystokyo.paper.event.server">ServerExceptionEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/server/ServerTickEndEvent.html"title="class in com.destroystokyo.paper.event.server">ServerTickEndEvent</a></code>, <code><ahref="../../../com/destroystokyo/paper/event/server/ServerTickStartEvent.html"title="class in com.destroystokyo.paper.event.server">ServerTickStartEvent</a></code>, <code><ahref="../../../me/totalfreedom/scissors/event/player/SpectatorTeleportEvent.html"title="class in me.totalfreedom.scissors.event.player">SpectatorTeleportEvent</a></code>, <code><ahref="server/TabCompleteEvent.html"title="class in org.bukkit.event.server">TabCompleteEvent</a></code>, <code><ahref="../../../com/destroystokyo/pa
</dl>
<hr>
<divclass="type-signature"><spanclass="modifiers">public abstract class </span><spanclass="element-name type-name-label">Event</span>
<spanclass="extends-implements">extends <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></span></div>
<divclass="block">Represents an event.
All events require a static method named getHandlerList() which returns the same <ahref="HandlerList.html"title="class in org.bukkit.event"><code>HandlerList</code></a> as <ahref="#getHandlers()"><code>getHandlers()</code></a>.</div>
<divclass="col-second even-row-color"><code><ahref="Event.Result.html"class="type-name-link"title="enum class in org.bukkit.event">Event.Result</a></code></div>
<divclass="block">Calls the event and tests if cancelled.</div>
</div>
<divclass="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></code></div>
<divclass="block">Convenience method for providing a user-friendly identifier.</div>
</div>
<divclass="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="HandlerList.html"title="class in org.bukkit.event">HandlerList</a></code></div>
<divclass="block">Any custom event that should not by synchronized with other events must
use the specific constructor.</div>
</div>
</div>
</div>
</div>
<divclass="inherited-list">
<h3id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></h3>
<code><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()"title="class or interface in java.lang"class="external-link">clone</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)"title="class or interface in java.lang"class="external-link">equals</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()"title="class or interface in java.lang"class="external-link">finalize</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()"title="class or interface in java.lang"class="external-link">getClass</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()"title="class or interface in java.lang"class="external-link">hashCode</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()"title="class or interface in java.lang"class="external-link">notify</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()"title="class or interface in java.lang"class="external-link">notifyAll</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()"title="class or interface in java.lang"class="external-link">toString</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)"title="class or interface in java.lang"class="external-link">wait</a></code></div>
<divclass="block">Calls the event and tests if cancelled.</div>
<dlclass="notes">
<dt>Returns:</dt>
<dd>false if event was cancelled, if cancellable. otherwise true.</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="getEventName()">
<h3>getEventName</h3>
<divclass="member-signature"><spanclass="annotations"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a>
</span><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a></span> <spanclass="element-name">getEventName</span>()</div>
<divclass="block">Convenience method for providing a user-friendly identifier. By
default, it is the event's class's <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html#getSimpleName()"title="class or interface in java.lang"class="external-link">simple name</a>.</div>
<dlclass="notes">
<dt>Returns:</dt>
<dd>name of this event</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="getHandlers()">
<h3>getHandlers</h3>
<divclass="member-signature"><spanclass="annotations"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a>
</span><spanclass="modifiers">public abstract</span> <spanclass="return-type"><ahref="https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/org/jetbrains/annotations/NotNull.html"title="class or interface in org.jetbrains.annotations"class="external-link">@NotNull</a><ahref="HandlerList.html"title="class in org.bukkit.event">HandlerList</a></span> <spanclass="element-name">getHandlers</span>()</div>
<divclass="block">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:
<ul>
<li>The event is never fired from inside code triggered by a
synchronous event. Attempting to do so results in an <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html"title="class or interface in java.lang"class="external-link"><code>IllegalStateException</code></a>.
<li>However, asynchronous event handlers may fire synchronous or
asynchronous events
<li>The event may be fired multiple times simultaneously and in any
order.
<li>Any newly registered or unregistered handler is ignored after an
event starts execution.
<li>The handlers for this event may block for any length of time.
<li>Some implementations may selectively declare a specific event use
as asynchronous. This behavior should be clearly defined.
<li>Asynchronous calls are not calculated in the plugin timing system.
</ul></div>
<dlclass="notes">
<dt>Returns:</dt>
<dd>false by default, true if the event fires asynchronously</dd>