ChestsPlusPlus/ChestsPlusPlus_Main/src/main/java/com/jamesdpeters/minecraft/chests/interfaces/CraftingInventoryImpl.java

236 lines
5.3 KiB
Java

package com.jamesdpeters.minecraft.chests.interfaces;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.HumanEntity;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.HashMap;
import java.util.List;
import java.util.ListIterator;
public class CraftingInventoryImpl implements CraftingInventory {
Inventory inventory;
ItemStack result;
ItemStack[] matrix;
Recipe recipe;
public CraftingInventoryImpl(Inventory inventory, ItemStack result, List<ItemStack> matrix, Recipe recipe) {
this.inventory = inventory;
this.result = result;
this.matrix = matrix.toArray(new ItemStack[0]);
this.recipe = recipe;
}
@Nullable
@Override
public ItemStack getResult() {
return result;
}
@NotNull
@Override
public ItemStack[] getMatrix() {
return matrix;
}
@Override
public void setResult(@Nullable ItemStack newResult) {
result = newResult;
}
@Override
public void setMatrix(@NotNull ItemStack[] contents) {
matrix = contents;
}
@Nullable
@Override
public Recipe getRecipe() {
return recipe;
}
// INVENTORY METHODS
@Override
public int getSize() {
return inventory.getSize();
}
@Override
public int getMaxStackSize() {
return inventory.getMaxStackSize();
}
@Override
public void setMaxStackSize(int size) {
inventory.setMaxStackSize(size);
}
@Nullable
@Override
public ItemStack getItem(int index) {
return inventory.getItem(index);
}
@Override
public void setItem(int index, @Nullable ItemStack item) {
inventory.setItem(index, item);
}
@NotNull
@Override
public HashMap<Integer, ItemStack> addItem(@NotNull ItemStack... items)
throws IllegalArgumentException {
return inventory.addItem(items);
}
@NotNull
@Override
public HashMap<Integer, ItemStack> removeItem(@NotNull ItemStack... items)
throws IllegalArgumentException {
return inventory.removeItem(items);
}
@NotNull
@Override
public ItemStack[] getContents() {
return inventory.getContents();
}
@Override
public void setContents(@NotNull ItemStack[] items) throws IllegalArgumentException {
inventory.setContents(items);
}
@NotNull
@Override
public ItemStack[] getStorageContents() {
return inventory.getStorageContents();
}
@Override
public void setStorageContents(@NotNull ItemStack[] items) throws IllegalArgumentException {
inventory.setStorageContents(items);
}
@Override
public boolean contains(@NotNull Material material) throws IllegalArgumentException {
return inventory.contains(material);
}
@Override
public boolean contains(@Nullable ItemStack item) {
return inventory.contains(item);
}
@Override
public boolean contains(@NotNull Material material, int amount) throws IllegalArgumentException {
return inventory.contains(material, amount);
}
@Override
public boolean contains(@Nullable ItemStack item, int amount) {
return inventory.contains(item, amount);
}
@Override
public boolean containsAtLeast(@Nullable ItemStack item, int amount) {
return inventory.containsAtLeast(item, amount);
}
@NotNull
@Override
public HashMap<Integer, ? extends ItemStack> all(@NotNull Material material)
throws IllegalArgumentException {
return inventory.all(material);
}
@NotNull
@Override
public HashMap<Integer, ? extends ItemStack> all(@Nullable ItemStack item) {
return inventory.all(item);
}
@Override
public int first(@NotNull Material material) throws IllegalArgumentException {
return inventory.first(material);
}
@Override
public int first(@NotNull ItemStack item) {
return inventory.first(item);
}
@Override
public int firstEmpty() {
return inventory.firstEmpty();
}
@Override
public boolean isEmpty() {
return inventory.isEmpty();
}
@Override
public void remove(@NotNull Material material) throws IllegalArgumentException {
inventory.remove(material);
}
@Override
public void remove(@NotNull ItemStack item) {
inventory.remove(item);
}
@Override
public void clear(int index) {
inventory.clear(index);
}
@Override
public void clear() {
inventory.clear();
}
@NotNull
@Override
public List<HumanEntity> getViewers() {
return inventory.getViewers();
}
@NotNull
@Override
public InventoryType getType() {
return inventory.getType();
}
@Nullable
@Override
public InventoryHolder getHolder() {
return inventory.getHolder();
}
@NotNull
@Override
public ListIterator<ItemStack> iterator() {
return inventory.iterator();
}
@NotNull
@Override
public ListIterator<ItemStack> iterator(int index) {
return inventory.iterator(index);
}
@Nullable
@Override
public Location getLocation() {
return inventory.getLocation();
}
}