mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 11:27:35 +01:00
Add event for player editing sign
This commit is contained in:
parent
7920d9020b
commit
7c2fbd4ab8
@ -0,0 +1,105 @@
|
||||
package io.papermc.paper.event.player;
|
||||
|
||||
import org.bukkit.block.Sign;
|
||||
import org.bukkit.block.sign.Side;
|
||||
import org.bukkit.entity.HumanEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
|
||||
/**
|
||||
* Called when a player begins editing a sign's text.
|
||||
* <p>
|
||||
* Cancelling this event stops the sign editing menu from opening.
|
||||
*/
|
||||
@NullMarked
|
||||
public class PlayerOpenSignEvent extends PlayerEvent implements Cancellable {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
|
||||
private final Sign sign;
|
||||
private final Side side;
|
||||
private final Cause cause;
|
||||
|
||||
private boolean cancelled;
|
||||
|
||||
@ApiStatus.Internal
|
||||
public PlayerOpenSignEvent(final Player editor, final Sign sign, final Side side, final Cause cause) {
|
||||
super(editor);
|
||||
this.sign = sign;
|
||||
this.side = side;
|
||||
this.cause = cause;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the sign that was clicked.
|
||||
*
|
||||
* @return {@link Sign} that was clicked
|
||||
*/
|
||||
public Sign getSign() {
|
||||
return this.sign;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets which side of the sign was clicked.
|
||||
*
|
||||
* @return {@link Side} that was clicked
|
||||
* @see Sign#getSide(Side)
|
||||
*/
|
||||
public Side getSide() {
|
||||
return this.side;
|
||||
}
|
||||
|
||||
/**
|
||||
* The cause of this sign open.
|
||||
*
|
||||
* @return the cause
|
||||
*/
|
||||
public Cause getCause() {
|
||||
return this.cause;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return this.cancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(final boolean cancel) {
|
||||
this.cancelled = cancel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
/**
|
||||
* The cause of the {@link PlayerOpenSignEvent}.
|
||||
*/
|
||||
public enum Cause {
|
||||
/**
|
||||
* The event was triggered by the placement of a sign.
|
||||
*/
|
||||
PLACE,
|
||||
/**
|
||||
* The event was triggered by an interaction with a sign.
|
||||
*/
|
||||
INTERACT,
|
||||
/**
|
||||
* The event was triggered via a plugin with {@link HumanEntity#openSign(Sign, Side)}
|
||||
*/
|
||||
PLUGIN,
|
||||
/**
|
||||
* Fallback cause for any unknown cause.
|
||||
*/
|
||||
UNKNOWN,
|
||||
}
|
||||
}
|
@ -9,7 +9,10 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* This event is fired when a sign is opened by the player.
|
||||
* @deprecated use {@link io.papermc.paper.event.player.PlayerOpenSignEvent}
|
||||
*/
|
||||
@Deprecated(forRemoval = true) // Paper
|
||||
@org.bukkit.Warning(false) // Paper
|
||||
public class PlayerSignOpenEvent extends PlayerEvent implements Cancellable {
|
||||
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
Loading…
Reference in New Issue
Block a user