GUI Javadoc
This commit is contained in:
@@ -1,20 +1,29 @@
|
||||
package com.willfp.eco.core.gui.menu;
|
||||
|
||||
import com.willfp.eco.core.gui.slot.Slot;
|
||||
import com.willfp.eco.core.items.builder.ItemStackBuilder;
|
||||
import com.willfp.eco.internal.gui.FillerSlot;
|
||||
import com.willfp.eco.util.ListUtils;
|
||||
import lombok.Getter;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class FillerMask {
|
||||
/**
|
||||
* Mask.
|
||||
*/
|
||||
@Getter
|
||||
private final List<List<Slot>> mask;
|
||||
|
||||
/**
|
||||
* Create a new filler mask.
|
||||
*
|
||||
* @param material The mask material.
|
||||
* @param pattern The pattern.
|
||||
*/
|
||||
public FillerMask(@NotNull final Material material,
|
||||
@NotNull final String... pattern) {
|
||||
if (material == Material.AIR) {
|
||||
@@ -23,11 +32,9 @@ public class FillerMask {
|
||||
|
||||
mask = ListUtils.create2DList(6, 9);
|
||||
|
||||
ItemStack itemStack = new ItemStack(material);
|
||||
ItemMeta meta = itemStack.getItemMeta();
|
||||
assert meta != null;
|
||||
meta.setDisplayName("§r");
|
||||
itemStack.setItemMeta(meta);
|
||||
ItemStack itemStack = new ItemStackBuilder(material)
|
||||
.setDisplayName("&r")
|
||||
.build();
|
||||
|
||||
int row = 0;
|
||||
|
||||
|
||||
@@ -16,24 +16,72 @@ import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public interface Menu {
|
||||
/**
|
||||
* Get the amount of rows.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
int getRows();
|
||||
|
||||
/**
|
||||
* Get slot at given row and column.
|
||||
*
|
||||
* @param row The row.
|
||||
* @param column The column.
|
||||
* @return The row.
|
||||
*/
|
||||
Slot getSlot(int row,
|
||||
int column);
|
||||
|
||||
/**
|
||||
* Get the menu title.
|
||||
*
|
||||
* @return The title.
|
||||
*/
|
||||
String getTitle();
|
||||
|
||||
/**
|
||||
* Open the inventory for the player.
|
||||
*
|
||||
* @param player The player.
|
||||
* @return The inventory.
|
||||
*/
|
||||
Inventory open(@NotNull Player player);
|
||||
|
||||
/**
|
||||
* Create a builder with a given amount of rows.
|
||||
*
|
||||
* @param rows The rows.
|
||||
* @return The builder.
|
||||
*/
|
||||
static Builder builder(final int rows) {
|
||||
return new Builder(rows);
|
||||
}
|
||||
|
||||
class Builder {
|
||||
/**
|
||||
* The amount of rows.
|
||||
*/
|
||||
private final int rows;
|
||||
|
||||
/**
|
||||
* The title.
|
||||
*/
|
||||
private String title = "Menu";
|
||||
|
||||
/**
|
||||
* The mask slots.
|
||||
*/
|
||||
private List<List<Slot>> maskSlots;
|
||||
|
||||
/**
|
||||
* The slots.
|
||||
*/
|
||||
private final List<List<Slot>> slots;
|
||||
|
||||
/**
|
||||
* The close event handler.
|
||||
*/
|
||||
private Consumer<InventoryCloseEvent> onClose = (event) -> {
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user