mirror of
https://github.com/PaperMC/Paper.git
synced 2025-07-31 20:22:05 -07:00
Add FishHookStateChangeEvent (#12165)
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package io.papermc.paper.event.entity;
|
||||
|
||||
import org.bukkit.entity.FishHook;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.entity.EntityEvent;
|
||||
import org.bukkit.event.player.PlayerFishEvent;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
|
||||
/**
|
||||
* Called just before a {@link FishHook}'s {@link FishHook.HookState} is changed.
|
||||
*
|
||||
* <p>If you want to monitor a player's fishing state transition, you can use {@link PlayerFishEvent}.</p>
|
||||
*/
|
||||
@NullMarked
|
||||
public final class FishHookStateChangeEvent extends EntityEvent {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
|
||||
private final FishHook.HookState newHookState;
|
||||
|
||||
@ApiStatus.Internal
|
||||
public FishHookStateChangeEvent(final FishHook entity, final FishHook.HookState newHookState) {
|
||||
super(entity);
|
||||
this.newHookState = newHookState;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the <strong>new</strong> hook state of the {@link FishHook}.
|
||||
*
|
||||
* <p>Refer to {@link FishHook#getState()} to get the current hook state.</p>
|
||||
*
|
||||
* @return the <strong>new</strong> hook state
|
||||
*/
|
||||
public FishHook.HookState getNewHookState() {
|
||||
return this.newHookState;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FishHook getEntity() {
|
||||
return (FishHook) super.getEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
}
|
@@ -1,6 +1,7 @@
|
||||
package org.bukkit.entity;
|
||||
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
import io.papermc.paper.event.entity.FishHookStateChangeEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -306,6 +307,7 @@ public interface FishHook extends Projectile {
|
||||
|
||||
/**
|
||||
* Represents a state in which a fishing hook may be.
|
||||
* State transitions can be listened for using {@link FishHookStateChangeEvent}
|
||||
*/
|
||||
public enum HookState {
|
||||
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package org.bukkit.event.player;
|
||||
|
||||
import io.papermc.paper.event.entity.FishHookStateChangeEvent;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.FishHook;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -12,6 +13,8 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Thrown when a player is fishing
|
||||
*
|
||||
* <p>If you want to monitor a fishhooks state transition, you can use {@link FishHookStateChangeEvent}.</p>
|
||||
*/
|
||||
public class PlayerFishEvent extends PlayerEvent implements Cancellable {
|
||||
|
||||
|
Reference in New Issue
Block a user