Package org.bukkit.inventory
Interface Merchant
-
- All Known Subinterfaces:
AbstractVillager
,Villager
,WanderingTrader
public interface Merchant
Represents a merchant. A merchant is a special type of inventory which can facilitate custom trades between items.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull MerchantRecipe
getRecipe(int i)
Get the recipe at a certain index of this merchant's trade list.int
getRecipeCount()
Get the number of trades this merchant currently has available.@NotNull List<MerchantRecipe>
getRecipes()
Get a list of trades currently available from this merchant.@Nullable HumanEntity
getTrader()
Gets the player this merchant is trading with, or null if it is not currently trading.boolean
isTrading()
Gets whether this merchant is currently trading.void
setRecipe(int i, @NotNull MerchantRecipe recipe)
Set the recipe at a certain index of this merchant's trade list.void
setRecipes(@NotNull List<MerchantRecipe> recipes)
Set the list of trades currently available from this merchant.
-
-
-
Method Detail
-
getRecipes
@NotNull @NotNull List<MerchantRecipe> getRecipes()
Get a list of trades currently available from this merchant.- Returns:
- an immutable list of trades
-
setRecipes
void setRecipes(@NotNull @NotNull List<MerchantRecipe> recipes)
Set the list of trades currently available from this merchant.
This will not change the selected trades of players currently trading with this merchant.- Parameters:
recipes
- a list of recipes
-
getRecipe
@NotNull @NotNull MerchantRecipe getRecipe(int i) throws IndexOutOfBoundsException
Get the recipe at a certain index of this merchant's trade list.- Parameters:
i
- the index- Returns:
- the recipe
- Throws:
IndexOutOfBoundsException
- if recipe index out of bounds
-
setRecipe
void setRecipe(int i, @NotNull @NotNull MerchantRecipe recipe) throws IndexOutOfBoundsException
Set the recipe at a certain index of this merchant's trade list.- Parameters:
i
- the indexrecipe
- the recipe- Throws:
IndexOutOfBoundsException
- if recipe index out of bounds
-
getRecipeCount
int getRecipeCount()
Get the number of trades this merchant currently has available.- Returns:
- the recipe count
-
isTrading
boolean isTrading()
Gets whether this merchant is currently trading.- Returns:
- whether the merchant is trading
-
getTrader
@Nullable @Nullable HumanEntity getTrader()
Gets the player this merchant is trading with, or null if it is not currently trading.- Returns:
- the trader, or null
-
-