Class BetterModelBukkitEvent
java.lang.Object
org.bukkit.event.Event
kr.toxicity.model.api.bukkit.event.BetterModelBukkitEvent
public final class BetterModelBukkitEvent
extends org.bukkit.event.Event
A wrapper class that adapts
ModelEvent to Bukkit's Event system.
This allows Bukkit plugins to listen for BetterModel events using the standard Bukkit event API.
The underlying ModelEvent is lazily initialized when accessed.
- Since:
- 2.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from class org.bukkit.event.Event
org.bukkit.event.Event.Result -
Constructor Summary
ConstructorsConstructorDescriptionBetterModelBukkitEvent(@NotNull Class<? extends kr.toxicity.model.api.event.ModelEvent> eventClass, @NotNull Supplier<? extends kr.toxicity.model.api.event.ModelEvent> supplier) Creates a new BetterModelBukkitEvent. -
Method Summary
Modifier and TypeMethodDescription<T extends kr.toxicity.model.api.event.ModelEvent>
TCasts the wrapped event to the specified class if possible.<T extends kr.toxicity.model.api.event.ModelEvent>
voidExecutes a consumer if the wrapped event is of the specified type.static org.bukkit.event.HandlerListReturns the handler list for this event.@NotNull org.bukkit.event.HandlerList<T extends kr.toxicity.model.api.event.ModelEvent>
booleanChecks if the wrapped event is an instance of the specified class.@Nullable kr.toxicity.model.api.event.ModelEventsource()Returns the underlying model event, if initialized.Methods inherited from class org.bukkit.event.Event
callEvent, getEventName, isAsynchronous
-
Constructor Details
-
BetterModelBukkitEvent
@Internal public BetterModelBukkitEvent(@NotNull @NotNull Class<? extends kr.toxicity.model.api.event.ModelEvent> eventClass, @NotNull @NotNull Supplier<? extends kr.toxicity.model.api.event.ModelEvent> supplier) Creates a new BetterModelBukkitEvent.- Parameters:
eventClass- the class of the model eventsupplier- a supplier that creates the model event- Since:
- 2.0.0
-
-
Method Details
-
is
public <T extends kr.toxicity.model.api.event.ModelEvent> boolean is(@NotNull @NotNull Class<T> eventClass) Checks if the wrapped event is an instance of the specified class.- Type Parameters:
T- the type of the event- Parameters:
eventClass- the class to check against- Returns:
- true if the wrapped event is assignable to the class
- Since:
- 2.0.0
-
as
@Nullable public <T extends kr.toxicity.model.api.event.ModelEvent> T as(@NotNull @NotNull Class<T> eventClass) Casts the wrapped event to the specified class if possible.This method initializes the underlying event if it hasn't been created yet.
- Type Parameters:
T- the type of the event- Parameters:
eventClass- the class to cast to- Returns:
- the cast event, or null if the cast is not possible
- Since:
- 2.0.0
-
as
public <T extends kr.toxicity.model.api.event.ModelEvent> void as(@NotNull @NotNull Class<T> eventClass, @NotNull @NotNull Consumer<? super T> consumer) Executes a consumer if the wrapped event is of the specified type.- Type Parameters:
T- the type of the event- Parameters:
eventClass- the class to check againstconsumer- the consumer to execute- Since:
- 2.0.0
-
source
@Internal @Nullable public @Nullable kr.toxicity.model.api.event.ModelEvent source()Returns the underlying model event, if initialized.- Returns:
- the model event, or null if not yet initialized
- Since:
- 2.0.0
-
getHandlers
@NotNull public @NotNull org.bukkit.event.HandlerList getHandlers()- Specified by:
getHandlersin classorg.bukkit.event.Event
-
getHandlerList
public static org.bukkit.event.HandlerList getHandlerList()Returns the handler list for this event.- Returns:
- the handler list
- Since:
- 2.0.0
-