Package net.minecraft.recipe
Class ShapedRecipe
java.lang.Object
net.minecraft.recipe.ShapedRecipe
- All Implemented Interfaces:
CraftingRecipe,Recipe<CraftingInventory>
- Direct Known Subclasses:
MapExtendingRecipe
- Mappings:
Namespace Name official cnfintermediary net/minecraft/class_1869named net/minecraft/recipe/ShapedRecipe
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final CraftingRecipeCategorystatic final Stringstatic final String(package private) final boolean(package private) final boolean(package private) final String(package private) final intprivate final Identifier(package private) final DefaultedList<Ingredient>(package private) final ItemStack(package private) final boolean(package private) final int -
Constructor Summary
ConstructorsConstructorDescriptionShapedRecipe(Identifier id, String group, CraftingRecipeCategory category, int width, int height, DefaultedList<Ingredient> input, ItemStack output) ShapedRecipe(Identifier id, String group, CraftingRecipeCategory category, int width, int height, DefaultedList<Ingredient> input, ItemStack output, boolean showNotification, boolean bool, boolean bool2) -
Method Summary
Modifier and TypeMethodDescriptioncraft(CraftingInventory craftingInventory, DynamicRegistryManager dynamicRegistryManager) Crafts this recipe.(package private) static DefaultedList<Ingredient>createPatternMatrix(String[] pattern, Map<String, Ingredient> symbols, int width, int height) Compiles a pattern and series of symbols into a list of ingredients (the matrix) suitable for matching against a crafting grid.private static intfindFirstSymbol(String line) private static intfindLastSymbol(String pattern) booleanfits(int width, int height) Returns whether this recipe will fit into the given grid size.getGroup()Returns a group this recipe belongs in, or an empty string.intgetId()Returns the ID of this recipe.Returns the ingredients accepted as inputs for this recipe.static ItemgetItem(JsonObject json) getOutput(DynamicRegistryManager registryManager) Returns a preview of the recipe's output.(package private) static String[]getPattern(JsonArray json) Returns the serializer associated with this recipe.intgetWidth()booleanisEmpty()Returns whether this recipe has no ingredient or has any empty ingredient.booleanmatches(CraftingInventory craftingInventory, World world) Returns whether this recipe matches the contents inside theinventoryin the givenworld.private booleanmatchesPattern(CraftingInventory inv, int offsetX, int offsetY, boolean flipped) static ItemStackoutputFromJson(JsonObject json) (package private) static Map<String,Ingredient> readSymbols(JsonObject json) Reads the pattern symbols.(package private) static String[]removePadding(String[] pattern) Removes empty space from around the recipe pattern.booleanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.recipe.CraftingRecipe
getTypeMethods inherited from interface net.minecraft.recipe.Recipe
createIcon, getRemainder, isIgnoredInRecipeBook, method_50831, method_50832
-
Field Details
-
field_44202
- See Also:
- Mappings:
Namespace Name Mixin selector official aLcnf;a:Ljava/lang/String;intermediary field_44202Lnet/minecraft/class_1869;field_44202:Ljava/lang/String;named field_44202Lnet/minecraft/recipe/ShapedRecipe;field_44202:Ljava/lang/String;
-
field_44203
- See Also:
- Mappings:
Namespace Name Mixin selector official bLcnf;b:Ljava/lang/String;intermediary field_44203Lnet/minecraft/class_1869;field_44203:Ljava/lang/String;named field_44203Lnet/minecraft/recipe/ShapedRecipe;field_44203:Ljava/lang/String;
-
width
final int width- Mappings:
Namespace Name Mixin selector official cLcnf;c:Iintermediary field_9055Lnet/minecraft/class_1869;field_9055:Inamed widthLnet/minecraft/recipe/ShapedRecipe;width:I
-
height
final int height- Mappings:
Namespace Name Mixin selector official dLcnf;d:Iintermediary field_9054Lnet/minecraft/class_1869;field_9054:Inamed heightLnet/minecraft/recipe/ShapedRecipe;height:I
-
input
- Mappings:
Namespace Name Mixin selector official eLcnf;e:Lhm;intermediary field_9052Lnet/minecraft/class_1869;field_9052:Lnet/minecraft/class_2371;named inputLnet/minecraft/recipe/ShapedRecipe;input:Lnet/minecraft/util/collection/DefaultedList;
-
output
- Mappings:
Namespace Name Mixin selector official fLcnf;f:Lcjr;intermediary field_9053Lnet/minecraft/class_1869;field_9053:Lnet/minecraft/class_1799;named outputLnet/minecraft/recipe/ShapedRecipe;output:Lnet/minecraft/item/ItemStack;
-
id
- Mappings:
Namespace Name Mixin selector official gLcnf;g:Lacy;intermediary field_9051Lnet/minecraft/class_1869;field_9051:Lnet/minecraft/class_2960;named idLnet/minecraft/recipe/ShapedRecipe;id:Lnet/minecraft/util/Identifier;
-
group
- Mappings:
Namespace Name Mixin selector official hLcnf;h:Ljava/lang/String;intermediary field_9056Lnet/minecraft/class_1869;field_9056:Ljava/lang/String;named groupLnet/minecraft/recipe/ShapedRecipe;group:Ljava/lang/String;
-
category
- Mappings:
Namespace Name Mixin selector official iLcnf;i:Lcmo;intermediary field_40256Lnet/minecraft/class_1869;field_40256:Lnet/minecraft/class_7710;named categoryLnet/minecraft/recipe/ShapedRecipe;category:Lnet/minecraft/recipe/book/CraftingRecipeCategory;
-
showNotification
final boolean showNotification- Mappings:
Namespace Name Mixin selector official jLcnf;j:Zintermediary field_42719Lnet/minecraft/class_1869;field_42719:Znamed showNotificationLnet/minecraft/recipe/ShapedRecipe;showNotification:Z
-
field_44204
final boolean field_44204- Mappings:
Namespace Name Mixin selector official kLcnf;k:Zintermediary field_44204Lnet/minecraft/class_1869;field_44204:Znamed field_44204Lnet/minecraft/recipe/ShapedRecipe;field_44204:Z
-
field_44205
final boolean field_44205- Mappings:
Namespace Name Mixin selector official lLcnf;l:Zintermediary field_44205Lnet/minecraft/class_1869;field_44205:Znamed field_44205Lnet/minecraft/recipe/ShapedRecipe;field_44205:Z
-
-
Constructor Details
-
ShapedRecipe
public ShapedRecipe(Identifier id, String group, CraftingRecipeCategory category, int width, int height, DefaultedList<Ingredient> input, ItemStack output, boolean showNotification, boolean bool, boolean bool2) - Mappings:
Namespace Name Mixin selector official <init>Lcnf;<init>(Lacy;Ljava/lang/String;Lcmo;IILhm;Lcjr;ZZZ)Vintermediary <init>Lnet/minecraft/class_1869;<init>(Lnet/minecraft/class_2960;Ljava/lang/String;Lnet/minecraft/class_7710;IILnet/minecraft/class_2371;Lnet/minecraft/class_1799;ZZZ)Vnamed <init>Lnet/minecraft/recipe/ShapedRecipe;<init>(Lnet/minecraft/util/Identifier;Ljava/lang/String;Lnet/minecraft/recipe/book/CraftingRecipeCategory;IILnet/minecraft/util/collection/DefaultedList;Lnet/minecraft/item/ItemStack;ZZZ)V
-
ShapedRecipe
public ShapedRecipe(Identifier id, String group, CraftingRecipeCategory category, int width, int height, DefaultedList<Ingredient> input, ItemStack output) - Mappings:
Namespace Name Mixin selector official <init>Lcnf;<init>(Lacy;Ljava/lang/String;Lcmo;IILhm;Lcjr;)Vintermediary <init>Lnet/minecraft/class_1869;<init>(Lnet/minecraft/class_2960;Ljava/lang/String;Lnet/minecraft/class_7710;IILnet/minecraft/class_2371;Lnet/minecraft/class_1799;)Vnamed <init>Lnet/minecraft/recipe/ShapedRecipe;<init>(Lnet/minecraft/util/Identifier;Ljava/lang/String;Lnet/minecraft/recipe/book/CraftingRecipeCategory;IILnet/minecraft/util/collection/DefaultedList;Lnet/minecraft/item/ItemStack;)V
-
-
Method Details
-
getId
Returns the ID of this recipe.- Specified by:
getIdin interfaceRecipe<CraftingInventory>- Returns:
- the ID of this recipe
- Mappings:
Namespace Name Mixin selector official eLcna;e()Lacy;intermediary method_8114Lnet/minecraft/class_1860;method_8114()Lnet/minecraft/class_2960;named getIdLnet/minecraft/recipe/Recipe;getId()Lnet/minecraft/util/Identifier;
-
getSerializer
Returns the serializer associated with this recipe.- Specified by:
getSerializerin interfaceRecipe<CraftingInventory>- Returns:
- the serializer associated with this recipe
- Mappings:
Namespace Name Mixin selector official aj_Lcna;aj_()Lcnc;intermediary method_8119Lnet/minecraft/class_1860;method_8119()Lnet/minecraft/class_1865;named getSerializerLnet/minecraft/recipe/Recipe;getSerializer()Lnet/minecraft/recipe/RecipeSerializer;
-
getGroup
Returns a group this recipe belongs in, or an empty string. This is only used by the recipe book.The group string is arbitrary, and is not rendered anywhere; in the recipe book, recipes with the same group will belong to the same cell in the grid of recipes. If the string is empty, this recipe will belong to its own cell.
- Specified by:
getGroupin interfaceRecipe<CraftingInventory>- Returns:
- a group this recipe belongs in, or an empty string
- Mappings:
Namespace Name Mixin selector official cLcna;c()Ljava/lang/String;intermediary method_8112Lnet/minecraft/class_1860;method_8112()Ljava/lang/String;named getGroupLnet/minecraft/recipe/Recipe;getGroup()Ljava/lang/String;
-
getCategory
- Specified by:
getCategoryin interfaceCraftingRecipe- Mappings:
Namespace Name Mixin selector official dLcmp;d()Lcmo;intermediary method_45441Lnet/minecraft/class_3955;method_45441()Lnet/minecraft/class_7710;named getCategoryLnet/minecraft/recipe/CraftingRecipe;getCategory()Lnet/minecraft/recipe/book/CraftingRecipeCategory;
-
getOutput
Returns a preview of the recipe's output.The returned stack should not be modified. To obtain the actual output, call
Recipe.craft(Inventory, DynamicRegistryManager).- Specified by:
getOutputin interfaceRecipe<CraftingInventory>- Returns:
- a preview of the recipe's output
- Mappings:
Namespace Name Mixin selector official aLcna;a(Lhr;)Lcjr;intermediary method_8110Lnet/minecraft/class_1860;method_8110(Lnet/minecraft/class_5455;)Lnet/minecraft/class_1799;named getOutputLnet/minecraft/recipe/Recipe;getOutput(Lnet/minecraft/registry/DynamicRegistryManager;)Lnet/minecraft/item/ItemStack;
-
getIngredients
Returns the ingredients accepted as inputs for this recipe. Used by the recipe book when displaying a ghost form of this recipe on the crafting grid as well as for previewing the possible inputs in the book itself.- Specified by:
getIngredientsin interfaceRecipe<CraftingInventory>- Returns:
- the ingredients accepted as inputs for this recipe
- Mappings:
Namespace Name Mixin selector official aLcna;a()Lhm;intermediary method_8117Lnet/minecraft/class_1860;method_8117()Lnet/minecraft/class_2371;named getIngredientsLnet/minecraft/recipe/Recipe;getIngredients()Lnet/minecraft/util/collection/DefaultedList;
-
showNotification
public boolean showNotification()- Specified by:
showNotificationin interfaceRecipe<CraftingInventory>- Mappings:
Namespace Name Mixin selector official iLcna;i()Zintermediary method_49188Lnet/minecraft/class_1860;method_49188()Znamed showNotificationLnet/minecraft/recipe/Recipe;showNotification()Z
-
fits
public boolean fits(int width, int height) Returns whether this recipe will fit into the given grid size.This is currently only used by recipe book.
- Specified by:
fitsin interfaceRecipe<CraftingInventory>- Parameters:
width- the width of the input inventoryheight- the height of the input inventory- Returns:
- whether this recipe will fit into the given grid size
- Mappings:
Namespace Name Mixin selector official aLcna;a(II)Zintermediary method_8113Lnet/minecraft/class_1860;method_8113(II)Znamed fitsLnet/minecraft/recipe/Recipe;fits(II)Z
-
matches
Description copied from interface:RecipeReturns whether this recipe matches the contents inside theinventoryin the givenworld.The
worldcurrently is only used by the map cloning recipe to prevent duplication of explorer maps.- Specified by:
matchesin interfaceRecipe<CraftingInventory>- Parameters:
craftingInventory- the input inventoryworld- the input world- Returns:
- whether this recipe matches the contents inside the
inventoryin the givenworld - Mappings:
Namespace Name Mixin selector official aLcnf;a(Lcfi;Lcql;)Zintermediary method_17728Lnet/minecraft/class_1869;method_17728(Lnet/minecraft/class_1715;Lnet/minecraft/class_1937;)Znamed matchesLnet/minecraft/recipe/ShapedRecipe;matches(Lnet/minecraft/inventory/CraftingInventory;Lnet/minecraft/world/World;)Z
-
matchesPattern
- Mappings:
Namespace Name Mixin selector official aLcnf;a(Lcfi;IIZ)Zintermediary method_8161Lnet/minecraft/class_1869;method_8161(Lnet/minecraft/class_1715;IIZ)Znamed matchesPatternLnet/minecraft/recipe/ShapedRecipe;matchesPattern(Lnet/minecraft/inventory/CraftingInventory;IIZ)Z
-
craft
public ItemStack craft(CraftingInventory craftingInventory, DynamicRegistryManager dynamicRegistryManager) Description copied from interface:RecipeCrafts this recipe.This method does not perform side effects on the
inventory.This method should return a new item stack on each call.
- Specified by:
craftin interfaceRecipe<CraftingInventory>- Parameters:
craftingInventory- the input inventory- Returns:
- the resulting item stack
- Mappings:
Namespace Name Mixin selector official aLcnf;a(Lcfi;Lhr;)Lcjr;intermediary method_17727Lnet/minecraft/class_1869;method_17727(Lnet/minecraft/class_1715;Lnet/minecraft/class_5455;)Lnet/minecraft/class_1799;named craftLnet/minecraft/recipe/ShapedRecipe;craft(Lnet/minecraft/inventory/CraftingInventory;Lnet/minecraft/registry/DynamicRegistryManager;)Lnet/minecraft/item/ItemStack;
-
getWidth
public int getWidth()- Mappings:
Namespace Name Mixin selector official kLcnf;k()Iintermediary method_8150Lnet/minecraft/class_1869;method_8150()Inamed getWidthLnet/minecraft/recipe/ShapedRecipe;getWidth()I
-
getHeight
public int getHeight()- Mappings:
Namespace Name Mixin selector official lLcnf;l()Iintermediary method_8158Lnet/minecraft/class_1869;method_8158()Inamed getHeightLnet/minecraft/recipe/ShapedRecipe;getHeight()I
-
createPatternMatrix
static DefaultedList<Ingredient> createPatternMatrix(String[] pattern, Map<String, Ingredient> symbols, int width, int height) Compiles a pattern and series of symbols into a list of ingredients (the matrix) suitable for matching against a crafting grid.- Mappings:
Namespace Name Mixin selector official aLcnf;a([Ljava/lang/String;Ljava/util/Map;II)Lhm;intermediary method_8148Lnet/minecraft/class_1869;method_8148([Ljava/lang/String;Ljava/util/Map;II)Lnet/minecraft/class_2371;named createPatternMatrixLnet/minecraft/recipe/ShapedRecipe;createPatternMatrix([Ljava/lang/String;Ljava/util/Map;II)Lnet/minecraft/util/collection/DefaultedList;
-
removePadding
Removes empty space from around the recipe pattern.Turns patterns such as:
Into:" o" " a" " ""o" "a"- Returns:
- a new recipe pattern with all leading and trailing empty rows/columns removed
- Mappings:
Namespace Name Mixin selector official aLcnf;a([Ljava/lang/String;)[Ljava/lang/String;intermediary method_8146Lnet/minecraft/class_1869;method_8146([Ljava/lang/String;)[Ljava/lang/String;named removePaddingLnet/minecraft/recipe/ShapedRecipe;removePadding([Ljava/lang/String;)[Ljava/lang/String;
-
isEmpty
public boolean isEmpty()Returns whether this recipe has no ingredient or has any empty ingredient. The recipe book uses this to ignore recipes for display.- Specified by:
isEmptyin interfaceRecipe<CraftingInventory>- Returns:
- whether this recipe has no ingredient or has any empty ingredient
- Mappings:
Namespace Name Mixin selector official jLcna;j()Zintermediary method_31584Lnet/minecraft/class_1860;method_31584()Znamed isEmptyLnet/minecraft/recipe/Recipe;isEmpty()Z
-
findFirstSymbol
- Mappings:
Namespace Name Mixin selector official aLcnf;a(Ljava/lang/String;)Iintermediary method_8151Lnet/minecraft/class_1869;method_8151(Ljava/lang/String;)Inamed findFirstSymbolLnet/minecraft/recipe/ShapedRecipe;findFirstSymbol(Ljava/lang/String;)I
-
findLastSymbol
- Mappings:
Namespace Name Mixin selector official bLcnf;b(Ljava/lang/String;)Iintermediary method_8153Lnet/minecraft/class_1869;method_8153(Ljava/lang/String;)Inamed findLastSymbolLnet/minecraft/recipe/ShapedRecipe;findLastSymbol(Ljava/lang/String;)I
-
getPattern
- Mappings:
Namespace Name Mixin selector official aLcnf;a(Lcom/google/gson/JsonArray;)[Ljava/lang/String;intermediary method_8145Lnet/minecraft/class_1869;method_8145(Lcom/google/gson/JsonArray;)[Ljava/lang/String;named getPatternLnet/minecraft/recipe/ShapedRecipe;getPattern(Lcom/google/gson/JsonArray;)[Ljava/lang/String;
-
readSymbols
Reads the pattern symbols.- Returns:
- a mapping from a symbol to the ingredient it represents
- Mappings:
Namespace Name Mixin selector official cLcnf;c(Lcom/google/gson/JsonObject;)Ljava/util/Map;intermediary method_8157Lnet/minecraft/class_1869;method_8157(Lcom/google/gson/JsonObject;)Ljava/util/Map;named readSymbolsLnet/minecraft/recipe/ShapedRecipe;readSymbols(Lcom/google/gson/JsonObject;)Ljava/util/Map;
-
outputFromJson
- Mappings:
Namespace Name Mixin selector official aLcnf;a(Lcom/google/gson/JsonObject;)Lcjr;intermediary method_35228Lnet/minecraft/class_1869;method_35228(Lcom/google/gson/JsonObject;)Lnet/minecraft/class_1799;named outputFromJsonLnet/minecraft/recipe/ShapedRecipe;outputFromJson(Lcom/google/gson/JsonObject;)Lnet/minecraft/item/ItemStack;
-
getItem
- Mappings:
Namespace Name Mixin selector official bLcnf;b(Lcom/google/gson/JsonObject;)Lcjm;intermediary method_8155Lnet/minecraft/class_1869;method_8155(Lcom/google/gson/JsonObject;)Lnet/minecraft/class_1792;named getItemLnet/minecraft/recipe/ShapedRecipe;getItem(Lcom/google/gson/JsonObject;)Lnet/minecraft/item/Item;
-