Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dev.stylecraft.essentials.utils.builder;
- import org.bukkit.Material;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.inventory.ItemFlag;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- public class ItemBuilder {
- private ItemStack itemStack;
- public ItemBuilder(ItemStack itemStack){
- this.itemStack = itemStack;
- }
- public ItemBuilder(Material material){
- this.itemStack = new ItemStack(material);
- }
- public ItemBuilder(Material material, byte data){
- this.itemStack = new ItemStack(material, data);
- }
- public ItemBuilder(Material material, int amount){
- this.itemStack = new ItemStack(material, (byte) 0);
- }
- public ItemBuilder(Material material, int amount, byte data){
- this.itemStack = new ItemStack(material, amount, data);
- }
- public ItemBuilder setItemStack(ItemStack itemStack){
- this.itemStack = itemStack;
- return this;
- }
- public ItemBuilder setData(byte data){
- itemStack.setDurability(data);
- return this;
- }
- public ItemBuilder setAmount(int amount){
- itemStack.setAmount(amount);
- return this;
- }
- public ItemBuilder setDisplayName(String displayName){
- ItemMeta itemMeta = itemStack.getItemMeta();
- itemMeta.setDisplayName(displayName);
- itemStack.setItemMeta(itemMeta);
- return this;
- }
- public ItemBuilder setLore(List<String> lore){
- ItemMeta itemMeta = itemStack.getItemMeta();
- itemMeta.setLore(lore);
- itemStack.setItemMeta(itemMeta);
- return this;
- }
- public ItemBuilder setLore(String... lore){
- ItemMeta itemMeta = itemStack.getItemMeta();
- itemMeta.setLore(Arrays.asList(lore));
- itemStack.setItemMeta(itemMeta);
- return this;
- }
- public ItemBuilder addLoreLine(String line){
- ItemMeta itemMeta = itemStack.getItemMeta();
- List<String> lore = itemMeta.hasLore() ? itemMeta.getLore() : new ArrayList<>();
- lore.add(line);
- itemMeta.setLore(lore);
- itemStack.setItemMeta(itemMeta);
- return this;
- }
- public ItemBuilder addLoreLine(String... line){
- ItemMeta itemMeta = itemStack.getItemMeta();
- List<String> lore = itemMeta.hasLore() ? itemMeta.getLore() : new ArrayList<>();
- lore.addAll(Arrays.asList(line));
- itemMeta.setLore(lore);
- itemStack.setItemMeta(itemMeta);
- return this;
- }
- public ItemBuilder addEnchantment(Enchantment enchantment, int level){
- itemStack.addUnsafeEnchantment(enchantment, level);
- return this;
- }
- public ItemBuilder removeEnchantment(Enchantment enchantment){
- itemStack.removeEnchantment(enchantment);
- return this;
- }
- public ItemBuilder setUnbreakable(boolean unbreakable){
- ItemMeta itemMeta = itemStack.getItemMeta();
- itemMeta.setUnbreakable(unbreakable);
- itemStack.setItemMeta(itemMeta);
- return this;
- }
- public ItemBuilder addItemFlags(ItemFlag... itemFlag){
- ItemMeta itemMeta = itemStack.getItemMeta();
- itemMeta.addItemFlags(itemFlag);
- itemStack.setItemMeta(itemMeta);
- return this;
- }
- public ItemBuilder removeItemFlags(ItemFlag... itemFlag){
- ItemMeta itemMeta = itemStack.getItemMeta();
- itemMeta.removeItemFlags(itemFlag);
- itemStack.setItemMeta(itemMeta);
- return this;
- }
- public ItemBuilder setGlowing(boolean glowing){
- ItemMeta itemMeta = itemStack.getItemMeta();
- itemMeta.addEnchant(Enchantment.LURE, 1, true);
- itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
- itemStack.setItemMeta(itemMeta);
- return this;
- }
- public ItemStack build(){
- return itemStack;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement