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 Detail

      • BlockPhysicsEvent

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

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

      • 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
      • getHandlerList

        @NotNull
        public static HandlerList getHandlerList()