Newer
Older
ultramine_bukkit / src / main / java / org / bukkit / event / entity / EntityUnleashEvent.java
@vlad20012 vlad20012 on 24 Feb 2017 1 KB initial
package org.bukkit.event.entity;

import org.bukkit.entity.Entity;
import org.bukkit.event.HandlerList;

/**
 * Called immediately prior to an entity being unleashed.
 */
public class EntityUnleashEvent extends EntityEvent
{
	private static final HandlerList handlers = new HandlerList();
	private final UnleashReason reason;

	public EntityUnleashEvent(Entity entity, UnleashReason reason)
	{
		super(entity);
		this.reason = reason;
	}

	/**
	 * Returns the reason for the unleashing.
	 *
	 * @return The reason
	 */
	public UnleashReason getReason()
	{
		return reason;
	}

	@Override
	public HandlerList getHandlers()
	{
		return handlers;
	}

	public static HandlerList getHandlerList()
	{
		return handlers;
	}

	public enum UnleashReason
	{
		/**
		 * When the entity's leashholder has died or logged out, and so is
		 * unleashed
		 */
		HOLDER_GONE,
		/**
		 * When the entity's leashholder attempts to unleash it
		 */
		PLAYER_UNLEASH,
		/**
		 * When the entity's leashholder is more than 10 blocks away
		 */
		DISTANCE,
		UNKNOWN;
	}
}