Class BlockPhysicsEvent

All Implemented Interfaces:
Cancellable

public class BlockPhysicsEvent extends BlockEvent implements Cancellable
Thrown when a block physics check is called.
This event is a high frequency event, it may be called thousands of times per a second on a busy server. Plugins are advised to listen to the event with caution and only perform lightweight checks when using it.
In addition to this, cancelling the event is liable to leave the world in an inconsistent state. For example if you use the event to leave a block floating in mid air when that block has a requirement to be attached to something, there is no guarantee that the floating block will persist across server restarts or map upgrades.
Plugins should also note that where possible this event may only called for the "root" block of physics updates in order to limit event spam. Physics updates that cause other blocks to change their state may not result in an event for each of those blocks (usually adjacent). If you are concerned about monitoring these changes then you should check adjacent blocks yourself.
  • Constructor Details

    • BlockPhysicsEvent

      public BlockPhysicsEvent(@NotNull Block block, @NotNull BlockData changed)
    • BlockPhysicsEvent

      public BlockPhysicsEvent(@NotNull Block block, @NotNull BlockData changed, @NotNull Block sourceBlock)
  • Method Details

    • getSourceBlock

      @NotNull public Block getSourceBlock()
      Gets the source block that triggered this event. Note: This will default to block if not set.
      Returns:
      The source block
    • getChangedType

      @NotNull public Material getChangedType()
      Gets the type of block that changed, causing this event
      Returns:
      Changed block's type
    • 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
    • getHandlers

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

      @NotNull public static HandlerList getHandlerList()