Add in ShopHandler interface
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
package com.alttd.playershops.api;
|
||||
|
||||
import com.alttd.playershops.shop.AbstractShop;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public interface ShopHandler { // TODO finish docs
|
||||
|
||||
/**
|
||||
* Get the shop at a given location
|
||||
*
|
||||
* @param location Location of the shop
|
||||
* @return Shop at the given location or <b>null</b> if no shop is found there
|
||||
*/
|
||||
AbstractShop getShop(Location location);
|
||||
|
||||
/**
|
||||
* Checks whether there is a shop at a given location
|
||||
* @param location Location to check
|
||||
* @return Whether there is a shop at the given location
|
||||
*/
|
||||
boolean isShop(Location location);
|
||||
|
||||
/**
|
||||
* Get a collection of all loaded shops
|
||||
*
|
||||
* This collection is safe to use for looping over and removing shops.
|
||||
*
|
||||
* @return Read-only collection of all shops
|
||||
*/
|
||||
Collection<AbstractShop> getShops();
|
||||
|
||||
/**
|
||||
* Add a player's custom shop limit
|
||||
*
|
||||
* @param uuid The uuid linked to this player
|
||||
* @param limit The new maximum amount of shops this player can have
|
||||
*/
|
||||
void addPlayerLimit(UUID uuid, int limit);
|
||||
|
||||
/**
|
||||
* Get the maximum amount of shops this player is allowed to have
|
||||
*
|
||||
* @param uuid The uuid linked to this player
|
||||
* @return The limit of shops for this player
|
||||
*/
|
||||
int getShopLimit(UUID uuid);
|
||||
|
||||
/**
|
||||
* Checks wether this block is valid to be used as a shop
|
||||
*
|
||||
* @param block the block to check
|
||||
* @return true if this block can be a shop
|
||||
*/
|
||||
boolean isShopMaterial(Block block);
|
||||
|
||||
/**
|
||||
* Get all the shops owned by a player
|
||||
*
|
||||
* @param uuid The uuid linked to this player
|
||||
* @return List of shops this player owns
|
||||
*/
|
||||
List<AbstractShop> getShops(UUID uuid);
|
||||
|
||||
ArrayList<Material> getShopMaterials();
|
||||
}
|
||||
Reference in New Issue
Block a user