68 lines
1.5 KiB
Java
68 lines
1.5 KiB
Java
package xyz.inlineyt.stamper.builder;
|
|
|
|
import org.bukkit.Material;
|
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
import org.bukkit.inventory.ItemFlag;
|
|
import org.bukkit.inventory.ItemStack;
|
|
import org.bukkit.inventory.meta.ItemMeta;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.function.Consumer;
|
|
|
|
public class ItemBuilder {
|
|
|
|
|
|
|
|
|
|
private Map<Integer, Consumer<InventoryClickEvent>> clickActions;
|
|
private ItemMeta itemMeta;
|
|
private ItemStack itemStack;
|
|
public ItemBuilder(Material mat){
|
|
itemStack = new ItemStack(mat);
|
|
itemMeta = itemStack.getItemMeta();
|
|
this.clickActions = new HashMap<>();
|
|
}
|
|
public ItemBuilder setDisplayname(String s){
|
|
itemMeta.setDisplayName(s);
|
|
return this;
|
|
}
|
|
public ItemBuilder setLocalizedName(String s){
|
|
itemMeta.setLocalizedName(s);
|
|
return this;
|
|
}
|
|
public ItemBuilder setLore(String... s){
|
|
itemMeta.setLore(Arrays.asList(s));
|
|
return this;
|
|
}
|
|
|
|
public ItemBuilder setUnbreakable(boolean s){
|
|
itemMeta.setUnbreakable(s);
|
|
return this;
|
|
}
|
|
public ItemBuilder addItemFlags(ItemFlag... s){
|
|
itemMeta.addItemFlags(s);
|
|
return this;
|
|
}
|
|
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "ItemBuilder{" +
|
|
"itemMeta=" + itemMeta +
|
|
", itemStack=" + itemStack +
|
|
'}';
|
|
}
|
|
public ItemStack build(){
|
|
itemStack.setItemMeta(itemMeta);
|
|
return itemStack;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|