// Path: Auctions-API/src/main/java/com/sainttx/auctions/api/AuctionPlugin.java
// public interface AuctionPlugin extends Plugin {
// 
//     /**
//      * Returns the AuctionManager instance
//      *
//      * @return the manager instance
//      */
//     AuctionManager getManager();
// 
//     /**
//      * Returns the Vault economy provider
//      *
//      * @return the vault economy provider
//      */
//     Economy getEconomy();
// 
//     /**
//      * Returns the {@link MessageFactory} instance
//      *
//      * @return the message factory
//      */
//     MessageFactory getMessageFactory();
// 
//     /**
//      * Returns the {@link Settings} for the plugin.
//      *
//      * @return the settings
//      */
//     Settings getSettings();
// 
//     /**
//      * Gets an items name
//      *
//      * @param item the item
//      * @return the display name of the item
//      */
//     String getItemName(ItemStack item);
// 
//     /**
//      * Saves a players auctioned reward to file if the plugin was unable
//      * to return it
//      *
//      * @param uuid The ID of a player
//      * @param reward The reward that was auctioned
//      */
//     void saveOfflinePlayer(UUID uuid, Reward reward);
// 
//     /**
//      * Gets a stored reward for a UUID. Returns null if there is no reward for the id.
//      *
//      * @param uuid the uuid
//      * @return the stored reward
//      */
//     Reward getOfflineReward(UUID uuid);
// 
//     /**
//      * Removes a reward that is stored for a UUID
//      *
//      * @param uuid the uuid
//      */
//     void removeOfflineReward(UUID uuid);
// 
// }
// 
// Path: Auctions-API/src/main/java/com/sainttx/auctions/api/Message.java
// public interface Message {
// 
//     /**
//      * Returns the path inside the configuration configuration path of the message.
//      *
//      * @return the path.
//      */
//     String getMessage();
// 
//     /**
//      * Returns whether or not this message is considered "spammy". Spammy messages
//      * are able to be ignored by players using the /auction spam command.
//      *
//      * @return whether this message is considered spammy or not.
//      */
//     boolean isSpammy();
// 
//     /**
//      * Returns whether or not this message can be ignored
//      *
//      * @return whether this message is ignorable or not.
//      */
//     boolean isIgnorable();
// }


import com.sainttx.auctions.api.AuctionPlugin;
import com.sainttx.auctions.api.Message;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import java.util.Map;
/*
 * Copyright (C) SainttX <http://sainttx.com>
 * Copyright (C) contributors
 *
 * This file is part of Auctions.
 *
 * Auctions is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Auctions is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Auctions.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.sainttx.auctions.api.reward;



/**
 * An implementation of {@link Reward} that gives players an item
 */
public class ItemReward implements Reward {

    private AuctionPlugin plugin;
    private ItemStack item;
// Path: Auctions-API/src/main/java/com/sainttx/auctions/api/AuctionPlugin.java
// public interface AuctionPlugin extends Plugin {
// 
//     /**
//      * Returns the AuctionManager instance
//      *
//      * @return the manager instance
//      */
//     AuctionManager getManager();
// 
//     /**
//      * Returns the Vault economy provider
//      *
//      * @return the vault economy provider
//      */
//     Economy getEconomy();
// 
//     /**
//      * Returns the {@link MessageFactory} instance
//      *
//      * @return the message factory
//      */
//     MessageFactory getMessageFactory();
// 
//     /**
//      * Returns the {@link Settings} for the plugin.
//      *
//      * @return the settings
//      */
//     Settings getSettings();
// 
//     /**
//      * Gets an items name
//      *
//      * @param item the item
//      * @return the display name of the item
//      */
//     String getItemName(ItemStack item);
// 
//     /**
//      * Saves a players auctioned reward to file if the plugin was unable
//      * to return it
//      *
//      * @param uuid The ID of a player
//      * @param reward The reward that was auctioned
//      */
//     void saveOfflinePlayer(UUID uuid, Reward reward);
// 
//     /**
//      * Gets a stored reward for a UUID. Returns null if there is no reward for the id.
//      *
//      * @param uuid the uuid
//      * @return the stored reward
//      */
//     Reward getOfflineReward(UUID uuid);
// 
//     /**
//      * Removes a reward that is stored for a UUID
//      *
//      * @param uuid the uuid
//      */
//     void removeOfflineReward(UUID uuid);
// 
// }
// 
// Path: Auctions-API/src/main/java/com/sainttx/auctions/api/Message.java
// public interface Message {
// 
//     /**
//      * Returns the path inside the configuration configuration path of the message.
//      *
//      * @return the path.
//      */
//     String getMessage();
// 
//     /**
//      * Returns whether or not this message is considered "spammy". Spammy messages
//      * are able to be ignored by players using the /auction spam command.
//      *
//      * @return whether this message is considered spammy or not.
//      */
//     boolean isSpammy();
// 
//     /**
//      * Returns whether or not this message can be ignored
//      *
//      * @return whether this message is ignorable or not.
//      */
//     boolean isIgnorable();
// }


// Path: Auctions-API/src/main/java/com/sainttx/auctions/api/reward/ItemReward.java
import com.sainttx.auctions.api.AuctionPlugin;
import com.sainttx.auctions.api.Message;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import java.util.Map;

/*
 * Copyright (C) SainttX <http://sainttx.com>
 * Copyright (C) contributors
 *
 * This file is part of Auctions.
 *
 * Auctions is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Auctions is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Auctions.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.sainttx.auctions.api.reward;



/**
 * An implementation of {@link Reward} that gives players an item
 */
public class ItemReward implements Reward {

    private AuctionPlugin plugin;
    private ItemStack item;
    private Message notEnoughRoom = new Message() { // TODO: Default for isSpammy