mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 23:10:16 +01:00
Introduce beacon activation/deactivation events
This commit is contained in:
parent
b1396d8f38
commit
0bdc7d2ba9
2 changed files with 85 additions and 0 deletions
|
@ -0,0 +1,41 @@
|
|||
package io.papermc.paper.event.block;
|
||||
|
||||
import org.bukkit.block.Beacon;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.block.BlockEvent;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
|
||||
/**
|
||||
* Called when a beacon is activated.
|
||||
* Activation occurs when the beacon beam becomes visible.
|
||||
*/
|
||||
@NullMarked
|
||||
public class BeaconActivatedEvent extends BlockEvent {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
|
||||
@ApiStatus.Internal
|
||||
public BeaconActivatedEvent(final Block block) {
|
||||
super(block);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the beacon that was activated.
|
||||
*
|
||||
* @return the beacon that was activated.
|
||||
*/
|
||||
public Beacon getBeacon() {
|
||||
return (Beacon) this.block.getState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
package io.papermc.paper.event.block;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Beacon;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.block.BlockEvent;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Called when a beacon is deactivated, either because its base block(s) or itself were destroyed.
|
||||
*/
|
||||
@NullMarked
|
||||
public class BeaconDeactivatedEvent extends BlockEvent {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
|
||||
@ApiStatus.Internal
|
||||
public BeaconDeactivatedEvent(final Block block) {
|
||||
super(block);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the beacon that was deactivated.
|
||||
* This will return {@code null} if the beacon does not exist.
|
||||
* (which can occur after the deactivation of a now broken beacon)
|
||||
*
|
||||
* @return The beacon that got deactivated, or {@code null} if it does not exist.
|
||||
*/
|
||||
public @Nullable Beacon getBeacon() {
|
||||
return this.block.getType() == Material.BEACON ? (Beacon) this.block.getState() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue