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

    Constructors
    Constructor
    Description
    BetterModelBukkitEvent(@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 Type
    Method
    Description
    <T extends kr.toxicity.model.api.event.ModelEvent>
    T
    as(@NotNull Class<T> eventClass)
    Casts the wrapped event to the specified class if possible.
    <T extends kr.toxicity.model.api.event.ModelEvent>
    void
    as(@NotNull Class<T> eventClass, @NotNull Consumer<? super T> consumer)
    Executes a consumer if the wrapped event is of the specified type.
    static org.bukkit.event.HandlerList
    Returns the handler list for this event.
    @NotNull org.bukkit.event.HandlerList
     
    <T extends kr.toxicity.model.api.event.ModelEvent>
    boolean
    is(@NotNull Class<T> eventClass)
    Checks if the wrapped event is an instance of the specified class.
    @Nullable kr.toxicity.model.api.event.ModelEvent
    Returns the underlying model event, if initialized.

    Methods inherited from class org.bukkit.event.Event

    callEvent, getEventName, isAsynchronous

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 event
      supplier - 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 against
      consumer - 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:
      getHandlers in class org.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