SPIGOT-2272: Add API for virtual Merchants
By: Lukas Hennig <lukas@wirsindwir.de>
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
package org.bukkit.entity;
|
||||
|
||||
import java.util.List;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.inventory.MerchantRecipe;
|
||||
import org.bukkit.inventory.Merchant;
|
||||
|
||||
/**
|
||||
* Represents a villager NPC
|
||||
*/
|
||||
public interface Villager extends Ageable, NPC, InventoryHolder {
|
||||
public interface Villager extends Ageable, NPC, InventoryHolder, Merchant {
|
||||
|
||||
/**
|
||||
* Gets the current profession of this villager.
|
||||
@@ -24,48 +23,6 @@ public interface Villager extends Ageable, NPC, InventoryHolder {
|
||||
*/
|
||||
public void setProfession(Profession profession);
|
||||
|
||||
/**
|
||||
* Get a list of trades currently available from this villager.
|
||||
*
|
||||
* @return an immutable list of trades
|
||||
*/
|
||||
List<MerchantRecipe> getRecipes();
|
||||
|
||||
/**
|
||||
* Set the list of trades currently available from this villager.
|
||||
* <br>
|
||||
* This will not change the selected trades of players currently trading
|
||||
* with this villager.
|
||||
*
|
||||
* @param recipes a list of recipes
|
||||
*/
|
||||
void setRecipes(List<MerchantRecipe> recipes);
|
||||
|
||||
/**
|
||||
* Get the recipe at a certain index of this villager's trade list.
|
||||
*
|
||||
* @param i the index
|
||||
* @return the recipe
|
||||
* @throws IndexOutOfBoundsException
|
||||
*/
|
||||
MerchantRecipe getRecipe(int i) throws IndexOutOfBoundsException;
|
||||
|
||||
/**
|
||||
* Set the recipe at a certain index of this villager's trade list.
|
||||
*
|
||||
* @param i the index
|
||||
* @param recipe the recipe
|
||||
* @throws IndexOutOfBoundsException
|
||||
*/
|
||||
void setRecipe(int i, MerchantRecipe recipe) throws IndexOutOfBoundsException;
|
||||
|
||||
/**
|
||||
* Get the number of trades this villager currently has available.
|
||||
*
|
||||
* @return the recipe count
|
||||
*/
|
||||
int getRecipeCount();
|
||||
|
||||
/**
|
||||
* Gets this villager's inventory.
|
||||
* <br>
|
||||
@@ -77,21 +34,6 @@ public interface Villager extends Ageable, NPC, InventoryHolder {
|
||||
@Override
|
||||
Inventory getInventory();
|
||||
|
||||
/**
|
||||
* Gets whether this villager is currently trading.
|
||||
*
|
||||
* @return whether the villager is trading
|
||||
*/
|
||||
boolean isTrading();
|
||||
|
||||
/**
|
||||
* Gets the player this villager is trading with, or null if it is not
|
||||
* currently trading.
|
||||
*
|
||||
* @return the trader, or null
|
||||
*/
|
||||
HumanEntity getTrader();
|
||||
|
||||
/**
|
||||
* Gets this villager's riches, the number of emeralds this villager has
|
||||
* been given.
|
||||
|
||||
Reference in New Issue
Block a user