package de.iani.treasurechest; import org.bukkit.Location; import org.bukkit.inventory.Inventory; public class OpenInventoryData { private Location location; private Inventory inventory; private int[] 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 int[inventoryPosition + 1]; } else if (itemAtLocation.length <= inventoryPosition) { int[] temp = itemAtLocation; itemAtLocation = new int[inventoryPosition + 1]; System.arraycopy(temp, 0, itemAtLocation, 0, temp.length); } itemAtLocation[inventoryPosition] = itemListPosition + 1; } public int getEntryAtPosition(int inventoryPosition) { if (itemAtLocation == null || itemAtLocation.length <= inventoryPosition || inventoryPosition < 0) { return -1; } return itemAtLocation[inventoryPosition] - 1; } public void removeEntryAtPositionAndShift(int inventoryPosition) { if (itemAtLocation == null || itemAtLocation.length <= inventoryPosition || inventoryPosition < 0) { return; } int old = itemAtLocation[inventoryPosition]; if (old >= 0) { itemAtLocation[inventoryPosition] = -1; for (int i = 0; i < itemAtLocation.length; i++) { int oldHere = itemAtLocation[i]; if (oldHere > old) { itemAtLocation[i] = oldHere - 1; } } } } }