package com.jcwhatever.nucleus.views; import org.bukkit.Bukkit; import org.bukkit.event.inventory.InventoryType; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryView; import org.bukkit.plugin.Plugin; import javax.annotation.Nullable; /** * Mock implementation of a {@link View}. */ public class MockView extends View { private InventoryView _view; private Inventory _inventory; protected ViewCloseReason onCloseReason; protected ViewOpenReason onOpenReason; /** * Constructor. * * @param plugin */ protected MockView(Plugin plugin) { super(plugin); } @Override public InventoryType getInventoryType() { return InventoryType.CHEST; } @Nullable @Override public InventoryView getInventoryView() { return _view; } @Nullable @Override public Inventory getInventory() { return _inventory; } @Override protected boolean openView(ViewOpenReason reason) { onOpenReason = reason; _inventory = Bukkit.createInventory(getViewSession().getPlayer(), getInventoryType(), "test"); _view = getViewSession().getPlayer().openInventory(_inventory); return true; } @Override protected void onClose(ViewCloseReason reason) { onCloseReason = reason; } }