Package cn.nukkit.inventory
Class ShapedRecipe
java.lang.Object
cn.nukkit.inventory.ShapedRecipe
- All Implemented Interfaces:
CraftingRecipe
,Recipe
- Author:
- MagicDroidX (Nukkit Project)
-
Nested Class Summary
-
Constructor Summary
ConstructorDescriptionShapedRecipe
(Item primaryResult, String[] shape, Map<Character, Item> ingredients, List<Item> extraResults) ShapedRecipe
(String recipeId, int priority, Item primaryResult, String[] shape, Map<Character, ItemDescriptor> ingredients, Collection<Item> extraResults) ShapedRecipe
(String recipeId, int priority, Item primaryResult, String[] shape, Map<Character, Item> ingredients, List<Item> extraResults) Constructs a ShapedRecipe instance. -
Method Summary
Modifier and TypeMethodDescriptionint
getId()
getIngredient
(int x, int y) Deprecated.Deprecated.getNewIngredient
(int x, int y) int
String[]
getShape()
getType()
int
getWidth()
boolean
matchItems
(List<Item> inputList, List<Item> extraOutputList) Returns whether the specified list of crafting grid inputs and outputs matches this recipe.boolean
matchItems
(List<Item> inputList, List<Item> extraOutputList, int multiplier) void
registerToCraftingManager
(CraftingManager manager) boolean
void
setIngredient
(char key, ItemDescriptor item) setIngredient
(char key, Item item) setIngredient
(String key, Item item) toString()
-
Constructor Details
-
ShapedRecipe
-
ShapedRecipe
public ShapedRecipe(String recipeId, int priority, Item primaryResult, String[] shape, Map<Character, Item> ingredients, List<Item> extraResults) Constructs a ShapedRecipe instance.- Parameters:
primaryResult
- Primary result of the recipeshape
-
Array of 1, 2, or 3 strings representing the rows of the recipe. This accepts an array of 1, 2 or 3 strings. Each string should be of the same length and must be at most 3 characters long. Each character represents a unique type of ingredient. Spaces are interpreted as air.ingredients
-
Char => Item map of items to be set into the shape. This accepts an array of Items, indexed by character. Every unique character (except space) in the shape array MUST have a corresponding item in this list. Space character is automatically treated as air.extraResults
-
List of additional result items to leave in the crafting grid afterwards. Used for things like cake recipe empty buckets.Note: Recipes **do not** need to be square. Do NOT add padding for empty rows/columns.
-
ShapedRecipe
public ShapedRecipe(String recipeId, int priority, Item primaryResult, String[] shape, Map<Character, ItemDescriptor> ingredients, Collection<Item> extraResults)
-
-
Method Details
-
getWidth
public int getWidth() -
getHeight
public int getHeight() -
getResult
-
getRecipeId
- Specified by:
getRecipeId
in interfaceRecipe
-
getId
- Specified by:
getId
in interfaceCraftingRecipe
-
setId
- Specified by:
setId
in interfaceCraftingRecipe
-
setIngredient
-
setIngredient
-
setIngredient
@PowerNukkitXOnly @Since("1.19.50-r2") public ShapedRecipe setIngredient(char key, ItemDescriptor item) -
getIngredientList
@Deprecated @DeprecationDetails(since="1.19.50-r2", reason="new ingredients format", replaceWith="use getNewIngredientList()") public List<Item> getIngredientList()Deprecated. -
getNewIngredientList
-
getIngredientMap
-
getIngredient
@Deprecated @DeprecationDetails(since="1.19.50-r2", reason="new ingredients format", replaceWith="use getNewIngredient()") public Item getIngredient(int x, int y) Deprecated. -
getNewIngredient
-
getShape
-
registerToCraftingManager
- Specified by:
registerToCraftingManager
in interfaceRecipe
-
getType
-
getExtraResults
- Specified by:
getExtraResults
in interfaceCraftingRecipe
-
getAllResults
- Specified by:
getAllResults
in interfaceCraftingRecipe
-
getPriority
public int getPriority()- Specified by:
getPriority
in interfaceCraftingRecipe
-
matchItems
- Specified by:
matchItems
in interfaceCraftingRecipe
-
matchItems
Returns whether the specified list of crafting grid inputs and outputs matches this recipe. Outputs DO NOT include the primary result item.- Specified by:
matchItems
in interfaceCraftingRecipe
- Parameters:
inputList
- list of items taken from the crafting gridextraOutputList
- list of items put back into the crafting grid (secondary results)- Returns:
- bool
-
toString
-
requiresCraftingTable
public boolean requiresCraftingTable()- Specified by:
requiresCraftingTable
in interfaceCraftingRecipe
-
getIngredientsAggregate
- Specified by:
getIngredientsAggregate
in interfaceCraftingRecipe
-