mirror of https://github.com/PaperMC/Paper.git
71 lines
1.7 KiB
Java
71 lines
1.7 KiB
Java
package com.destroystokyo.paper.event.entity;
|
|
|
|
import org.bukkit.entity.Witch;
|
|
import org.bukkit.event.Cancellable;
|
|
import org.bukkit.event.HandlerList;
|
|
import org.bukkit.event.entity.EntityEvent;
|
|
import org.bukkit.inventory.ItemStack;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
/**
|
|
* Fired when a witch consumes the potion in their hand to buff themselves.
|
|
*/
|
|
public class WitchConsumePotionEvent extends EntityEvent implements Cancellable {
|
|
@Nullable private ItemStack potion;
|
|
|
|
public WitchConsumePotionEvent(@NotNull Witch witch, @Nullable ItemStack potion) {
|
|
super(witch);
|
|
this.potion = potion;
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public Witch getEntity() {
|
|
return (Witch) super.getEntity();
|
|
}
|
|
|
|
/**
|
|
* @return the potion the witch will consume and have the effects applied.
|
|
*/
|
|
@Nullable
|
|
public ItemStack getPotion() {
|
|
return potion;
|
|
}
|
|
|
|
/**
|
|
* Sets the potion to be consumed and applied to the witch.
|
|
* @param potion The potion
|
|
*/
|
|
public void setPotion(@Nullable ItemStack potion) {
|
|
this.potion = potion != null ? potion.clone() : null;
|
|
}
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
|
|
@NotNull
|
|
public HandlerList getHandlers() {
|
|
return handlers;
|
|
}
|
|
|
|
@NotNull
|
|
public static HandlerList getHandlerList() {
|
|
return handlers;
|
|
}
|
|
|
|
private boolean cancelled = false;
|
|
|
|
/**
|
|
* @return Event was cancelled or potion was null
|
|
*/
|
|
@Override
|
|
public boolean isCancelled() {
|
|
return cancelled || potion == null;
|
|
}
|
|
|
|
@Override
|
|
public void setCancelled(boolean cancel) {
|
|
cancelled = cancel;
|
|
}
|
|
}
|