Class PlayerGameModeChangeEvent

java.lang.Object
org.bukkit.event.Event
org.bukkit.event.player.PlayerEvent
org.bukkit.event.player.PlayerGameModeChangeEvent
All Implemented Interfaces:
Cancellable

public class PlayerGameModeChangeEvent extends PlayerEvent implements Cancellable
Called when the GameMode of the player is changed.

NOTE: When getCause() is PlayerGameModeChangeEvent.Cause.DEFAULT_GAMEMODE, the Player from PlayerEvent.getPlayer() might not be fully online at the time this event is fired. Plugins should use OfflinePlayer.isOnline() to check before changing player state.

  • Constructor Details

  • Method Details

    • isCancelled

      public boolean isCancelled()
      Description copied from interface: Cancellable
      Gets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins
      Specified by:
      isCancelled in interface Cancellable
      Returns:
      true if this event is cancelled
    • setCancelled

      public void setCancelled(boolean cancel)
      Description copied from interface: Cancellable
      Sets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins.
      Specified by:
      setCancelled in interface Cancellable
      Parameters:
      cancel - true if you wish to cancel this event
    • getNewGameMode

      @NotNull public @NotNull GameMode getNewGameMode()
      Gets the GameMode the player is switched to.
      Returns:
      player's new GameMode
    • getHandlers

      @NotNull public @NotNull HandlerList getHandlers()
      Specified by:
      getHandlers in class Event
    • getHandlerList

      @NotNull public static @NotNull HandlerList getHandlerList()
    • getCause

      Gets the cause of this gamemode change.
      Returns:
      the cause
    • cancelMessage

      @Nullable public Component cancelMessage()
      Only valid if the cause of the gamemode change was directly due to a command.. Gets the message shown to the command user if the event is cancelled as a notification that a player's gamemode was not changed.

      This returns null if the gamemode change was due to a plugin, or a player joining the game with a gamemode not equal to the server default gamemode and force-gamemode is set to true.

      Returns:
      the error message shown to the command user, null if not directly caused by a command
    • cancelMessage

      public void cancelMessage(@Nullable Component message)
      Sets the message shown to the command user if the event was cancelled. The message is only shown to cancelled events that are directly called by a command not by a plugin or a player joining with the wrong gamemode.
      Parameters:
      message - the error message shown to the command user, null to show no message.