namespace Minecraft.Server.FourKit.Event.Inventory;
using Minecraft.Server.FourKit.Entity;
using Minecraft.Server.FourKit.Inventory;
///
/// An abstract base class for events that describe an interaction between a
/// and the contents of an .
/// This is currently not emitted anywhere, use instead.
///
public abstract class InventoryInteractEvent : InventoryEvent, Cancellable
{
private bool _cancelled;
internal protected InventoryInteractEvent(InventoryView transaction) : base(transaction)
{
}
///
/// Gets the player who performed the click.
///
/// The clicking player.
public HumanEntity getWhoClicked()
{
return transaction.getPlayer();
}
///
/// Gets the cancellation state of this event. A cancelled event will not
/// be executed in the server, but will still pass to other plugins.
///
/// true if this event is cancelled.
public bool isCancelled() => _cancelled;
///
/// Sets the cancellation state of this event. A cancelled event will not
/// be executed in the server, but will still pass to other plugins.
///
/// true if you wish to cancel this event.
public void setCancelled(bool cancel) => _cancelled = cancel;
}