Newer
Older
TreasureChest / src / main / java / de / iani / treasurechest / TreasureChestItem.java
@Brokkonaut Brokkonaut on 4 Jul 2017 1 KB Transfer to git
package de.iani.treasurechest;

import org.bukkit.inventory.ItemStack;

public class TreasureChestItem implements Cloneable {
    private ItemStack displayItem;

    private ItemStack[] priceItems;

    private int priceMoney;

    public TreasureChestItem(ItemStack displayItem) {
        this.displayItem = displayItem;
    }

    public TreasureChestItem(ItemStack displayItem, ItemStack[] priceItems, int priceMoney) {
        this.displayItem = displayItem;
        this.priceItems = priceItems;
        this.priceMoney = priceMoney;
    }

    public ItemStack getDisplayItem() {
        return displayItem;
    }

    public ItemStack[] getPriceItems() {
        return priceItems;
    }

    public int getPriceMoney() {
        return priceMoney;
    }

    public void setPriceMoney(int amount) {
        priceMoney = amount;
    }

    public void addPriceItem(ItemStack item) {
        if (priceItems == null) {
            priceItems = new ItemStack[] { item };
        } else {
            ItemStack[] temp = priceItems;
            priceItems = new ItemStack[temp.length + 1];
            System.arraycopy(temp, 0, priceItems, 0, temp.length);
            priceItems[temp.length] = item;
        }
    }

    @Override
    public TreasureChestItem clone() {
        try {
            TreasureChestItem el = (TreasureChestItem) super.clone();
            if (displayItem != null) {
                el.displayItem = displayItem.clone();
            }
            if (priceItems != null) {
                el.priceItems = new ItemStack[priceItems.length];
                for (int i = 0; i < priceItems.length; i++) {
                    el.priceItems[i] = priceItems[i] != null ? priceItems[i].clone() : null;
                }
            }
            return el;
        } catch (CloneNotSupportedException e) {
            throw new Error(e);
        }
    }
}