package de.iani.treasurechest;

import java.util.Arrays;
import org.bukkit.Location;
import org.bukkit.inventory.Inventory;

public class OpenInventoryData {
    private Location location;

    private Inventory inventory;

    private Integer[] itemAtLocation;

    public OpenInventoryData(Location location, Inventory inventory) {
        this.location = location;
        this.inventory = inventory;
    }

    public Inventory getInventory() {
        return inventory;
    }

    public Location getLocation() {
        return location;
    }

    public void setItemAtPosition(int inventoryPosition, int itemListPosition) {
        if (itemAtLocation == null) {
            itemAtLocation = new Integer[inventoryPosition + 1];
        } else if (itemAtLocation.length <= inventoryPosition) {
            itemAtLocation = Arrays.copyOf(itemAtLocation, inventoryPosition + 1);
        }
        itemAtLocation[inventoryPosition] = itemListPosition;
    }

    public Integer getEntryAtPosition(int inventoryPosition) {
        if (itemAtLocation == null || itemAtLocation.length <= inventoryPosition || inventoryPosition < 0) {
            return null;
        }
        return itemAtLocation[inventoryPosition];
    }

    public void removeEntryAtPosition(int inventoryPosition) {
        if (itemAtLocation == null || itemAtLocation.length <= inventoryPosition || inventoryPosition < 0) {
            return;
        }
        itemAtLocation[inventoryPosition] = null;
    }
}
