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

import org.bukkit.entity.HumanEntity;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;

/**
 * Called when a human entity's food level changes
 */
public class FoodLevelChangeEvent extends EntityEvent implements Cancellable
{
	private static final HandlerList handlers = new HandlerList();
	private boolean cancel = false;
	private int level;

	public FoodLevelChangeEvent(final HumanEntity what, final int level)
	{
		super(what);
		this.level = level;
	}

	@Override
	public HumanEntity getEntity()
	{
		return (HumanEntity) entity;
	}

	/**
	 * Gets the resultant food level that the entity involved in this event
	 * should be set to.
	 * <p>
	 * Where 20 is a full food bar and 0 is an empty one.
	 *
	 * @return The resultant food level
	 */
	public int getFoodLevel()
	{
		return level;
	}

	/**
	 * Sets the resultant food level that the entity involved in this event
	 * should be set to
	 *
	 * @param level the resultant food level that the entity involved in this
	 *              event should be set to
	 */
	public void setFoodLevel(int level)
	{
		if(level > 20) level = 20;
		else if(level < 0) level = 0;

		this.level = level;
	}

	public boolean isCancelled()
	{
		return cancel;
	}

	public void setCancelled(boolean cancel)
	{
		this.cancel = cancel;
	}

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

	public static HandlerList getHandlerList()
	{
		return handlers;
	}
}