package eu.mhsl.minenet.minigames.shared.inventory;

import net.minestom.server.entity.Player;
import net.minestom.server.inventory.Inventory;
import net.minestom.server.inventory.click.ClickType;
import net.minestom.server.item.ItemStack;

public class ItemClick {
    private final Player player;
    private final InteractableInventory inventory;
    private final int clickedSlot;
    private final ItemStack item;
    private final ClickType clickType;

    /**
     * Describes a click on an Item from an IntractableInventory
     * @param player
     * @param inventory
     * @param clickedSlot
     * @param item
     * @param clickType
     */
    public ItemClick(Player player, InteractableInventory inventory, int clickedSlot, ItemStack item, ClickType clickType) {
        this.player = player;
        this.inventory = inventory;
        this.clickedSlot = clickedSlot;
        this.item = item;
        this.clickType = clickType;
    }

    public Player getPlayer() {
        return player;
    }

    public Inventory getInventory() {
        return inventory;
    }

    public int getClickedSlot() {
        return clickedSlot;
    }

    public ItemStack getItem() {
        return item;
    }

    public ClickType getClickType() {
        return clickType;
    }
}
