diff --git a/src/main/java/net/minestom/server/event/ListenerHandle.java b/src/main/java/net/minestom/server/event/ListenerHandle.java index eb3f82362..5f3850695 100644 --- a/src/main/java/net/minestom/server/event/ListenerHandle.java +++ b/src/main/java/net/minestom/server/event/ListenerHandle.java @@ -4,14 +4,24 @@ import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** - * Represents a key to access an {@link EventNode} listeners. + * Represents a key to a listenable event, retrievable from {@link EventNode#getHandle(Class)}. * Useful to avoid map lookups. + *

+ * It is recommended to store instances of this class in {@code static final} fields. * * @param the event type */ @ApiStatus.Experimental @ApiStatus.NonExtendable public interface ListenerHandle { + /** + * Calls the given event. + * Will try to fast exit the execution when possible if {@link #hasListener()} return {@code false}. + *

+ * Anonymous and subclasses are not supported, events must have the exact type {@code E}. + * + * @param event the event to call + */ void call(@NotNull E event); /**