@@ -0,0 +1,3013 @@
+/*%0A * Copyright (c) 2015 Demigods RPG%0A *%0A * Permission is hereby granted, free of charge, to any person obtaining a copy%0A * of this software and associated documentation files (the %22Software%22), to deal%0A * in the Software without restriction, including without limitation the rights%0A * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell%0A * copies of the Software, and to permit persons to whom the Software is%0A * furnished to do so, subject to the following conditions:%0A *%0A * The above copyright notice and this permission notice shall be included in all%0A * copies or substantial portions of the Software.%0A *%0A * THE SOFTWARE IS PROVIDED %22AS IS%22, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR%0A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,%0A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE%0A * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER%0A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,%0A * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE%0A * SOFTWARE.%0A */%0A%0Apackage com.demigodsrpg.demigames.impl.util;%0A%0Aimport org.bukkit.Material;%0Aimport org.bukkit.enchantments.Enchantment;%0Aimport org.bukkit.inventory.ItemFlag;%0Aimport org.bukkit.inventory.ItemStack;%0Aimport org.bukkit.inventory.meta.ItemMeta;%0Aimport org.bukkit.material.MaterialData;%0A%0Aimport java.util.Arrays;%0A%0Apublic class ItemStackBuilder %7B%0A%0A    // -- DATA -- //%0A%0A    private ItemStack item;%0A    private ItemMeta meta;%0A%0A    // -- CONSTRUCTORS -- //%0A%0A    public ItemStackBuilder(Material type) %7B%0A        item = new ItemStack(type);%0A        meta = item.getItemMeta();%0A    %7D%0A%0A    public ItemStackBuilder(MaterialData data) %7B%0A        item = new ItemStack(data.getItemType());%0A        item.setData(data);%0A        meta = item.getItemMeta();%0A    %7D%0A%0A    // -- SETTERS -- //%0A%0A    public ItemStackBuilder type(Material type) %7B%0A        item.setType(type);%0A        return this;%0A    %7D%0A%0A    public ItemStackBuilder data(MaterialData data) %7B%0A        item.setData(data);%0A        return this;%0A    %7D%0A%0A    public ItemStackBuilder amount(int amount) %7B%0A        item.setAmount(amount);%0A        return this;%0A    %7D%0A%0A    public ItemStackBuilder durability(short durability) %7B%0A        item.setDurability(durability);%0A        return this;%0A    %7D%0A%0A    public ItemStackBuilder enchant(Enchantment enchant, int level) %7B%0A        meta.addEnchant(enchant, level, true);%0A        return this;%0A    %7D%0A%0A    public ItemStackBuilder itemFlags(ItemFlag... flags) %7B%0A        meta.addItemFlags(flags);%0A        return this;%0A    %7D%0A%0A    public ItemStackBuilder displayName(String displayName) %7B%0A        meta.setDisplayName(displayName);%0A        return this;%0A    %7D%0A%0A    public ItemStackBuilder lore(String... lore) %7B%0A        meta.setLore(Arrays.asList(lore));%0A        return this;%0A    %7D%0A%0A    // -- BUILD -- //%0A%0A    public ItemStack build() %7B%0A        ItemStack item = this.item.clone();%0A        item.setItemMeta(meta);%0A        return item;%0A    %7D%0A%7D%0A

Add ItemStackBuilder.