Class ShapedRecipe

java.lang.Object
net.minecraft.recipe.ShapedRecipe
All Implemented Interfaces:
CraftingRecipe, Recipe<CraftingInventory>
Direct Known Subclasses:
MapExtendingRecipe

public class ShapedRecipe extends Object implements CraftingRecipe
Mappings:
Namespace Name
official bsu
intermediary net/minecraft/class_1869
named net/minecraft/recipe/ShapedRecipe
  • Field Details

    • width

      private final int width
      Mappings:
      Namespace Name Mixin selector
      official a Lbsu;a:I
      intermediary field_9055 Lnet/minecraft/class_1869;field_9055:I
      named width Lnet/minecraft/recipe/ShapedRecipe;width:I
    • height

      private final int height
      Mappings:
      Namespace Name Mixin selector
      official b Lbsu;b:I
      intermediary field_9054 Lnet/minecraft/class_1869;field_9054:I
      named height Lnet/minecraft/recipe/ShapedRecipe;height:I
    • input

      private final DefaultedList<Ingredient> input
      Mappings:
      Namespace Name Mixin selector
      official c Lbsu;c:Lgn;
      intermediary field_9052 Lnet/minecraft/class_1869;field_9052:Lnet/minecraft/class_2371;
      named input Lnet/minecraft/recipe/ShapedRecipe;input:Lnet/minecraft/util/collection/DefaultedList;
    • output

      private final ItemStack output
      Mappings:
      Namespace Name Mixin selector
      official d Lbsu;d:Lbpx;
      intermediary field_9053 Lnet/minecraft/class_1869;field_9053:Lnet/minecraft/class_1799;
      named output Lnet/minecraft/recipe/ShapedRecipe;output:Lnet/minecraft/item/ItemStack;
    • id

      private final Identifier id
      Mappings:
      Namespace Name Mixin selector
      official e Lbsu;e:Lwp;
      intermediary field_9051 Lnet/minecraft/class_1869;field_9051:Lnet/minecraft/class_2960;
      named id Lnet/minecraft/recipe/ShapedRecipe;id:Lnet/minecraft/util/Identifier;
    • group

      private final String group
      Mappings:
      Namespace Name Mixin selector
      official f Lbsu;f:Ljava/lang/String;
      intermediary field_9056 Lnet/minecraft/class_1869;field_9056:Ljava/lang/String;
      named group Lnet/minecraft/recipe/ShapedRecipe;group:Ljava/lang/String;
  • Constructor Details

    • ShapedRecipe

      public ShapedRecipe(Identifier id, String group, int width, int height, DefaultedList<Ingredient> input, ItemStack output)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lbsu;<init>(Lwp;Ljava/lang/String;IILgn;Lbpx;)V
      intermediary <init> Lnet/minecraft/class_1869;<init>(Lnet/minecraft/class_2960;Ljava/lang/String;IILnet/minecraft/class_2371;Lnet/minecraft/class_1799;)V
      named <init> Lnet/minecraft/recipe/ShapedRecipe;<init>(Lnet/minecraft/util/Identifier;Ljava/lang/String;IILnet/minecraft/util/collection/DefaultedList;Lnet/minecraft/item/ItemStack;)V
  • Method Details

    • getId

      public Identifier getId()
      Specified by:
      getId in interface Recipe<CraftingInventory>
      Mappings:
      Namespace Name Mixin selector
      official f Lbsp;f()Lwp;
      intermediary method_8114 Lnet/minecraft/class_1860;method_8114()Lnet/minecraft/class_2960;
      named getId Lnet/minecraft/recipe/Recipe;getId()Lnet/minecraft/util/Identifier;
    • getSerializer

      public RecipeSerializer<?> getSerializer()
      Specified by:
      getSerializer in interface Recipe<CraftingInventory>
      Mappings:
      Namespace Name Mixin selector
      official ai_ Lbsp;ai_()Lbsr;
      intermediary method_8119 Lnet/minecraft/class_1860;method_8119()Lnet/minecraft/class_1865;
      named getSerializer Lnet/minecraft/recipe/Recipe;getSerializer()Lnet/minecraft/recipe/RecipeSerializer;
    • getGroup

      public String getGroup()
      Optional group this recipe belongs in. Used to group recipes into different categories by the recipe book.
      Specified by:
      getGroup in interface Recipe<CraftingInventory>
      Mappings:
      Namespace Name Mixin selector
      official d Lbsp;d()Ljava/lang/String;
      intermediary method_8112 Lnet/minecraft/class_1860;method_8112()Ljava/lang/String;
      named getGroup Lnet/minecraft/recipe/Recipe;getGroup()Ljava/lang/String;
    • getOutput

      public ItemStack getOutput()
      Specified by:
      getOutput in interface Recipe<CraftingInventory>
      Mappings:
      Namespace Name Mixin selector
      official c Lbsp;c()Lbpx;
      intermediary method_8110 Lnet/minecraft/class_1860;method_8110()Lnet/minecraft/class_1799;
      named getOutput Lnet/minecraft/recipe/Recipe;getOutput()Lnet/minecraft/item/ItemStack;
    • getIngredients

      public DefaultedList<Ingredient> getIngredients()
      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:
      getIngredients in interface Recipe<CraftingInventory>
      Mappings:
      Namespace Name Mixin selector
      official a Lbsp;a()Lgn;
      intermediary method_8117 Lnet/minecraft/class_1860;method_8117()Lnet/minecraft/class_2371;
      named getIngredients Lnet/minecraft/recipe/Recipe;getIngredients()Lnet/minecraft/util/collection/DefaultedList;
    • fits

      public boolean fits(int width, int height)
      Determines whether this recipe's pattern will fit into the available crafting area.
      Specified by:
      fits in interface Recipe<CraftingInventory>
      Mappings:
      Namespace Name Mixin selector
      official a Lbsp;a(II)Z
      intermediary method_8113 Lnet/minecraft/class_1860;method_8113(II)Z
      named fits Lnet/minecraft/recipe/Recipe;fits(II)Z
    • matches

      public boolean matches(CraftingInventory craftingInventory, World world)
      Description copied from interface: Recipe
      Determines whether this recipe matches the contents currently placed inside the available crafting grid.
      Specified by:
      matches in interface Recipe<CraftingInventory>
      Mappings:
      Namespace Name Mixin selector
      official a Lbsu;a(Lbmf;Lbvx;)Z
      intermediary method_17728 Lnet/minecraft/class_1869;method_17728(Lnet/minecraft/class_1715;Lnet/minecraft/class_1937;)Z
      named matches Lnet/minecraft/recipe/ShapedRecipe;matches(Lnet/minecraft/inventory/CraftingInventory;Lnet/minecraft/world/World;)Z
    • matchesPattern

      private boolean matchesPattern(CraftingInventory inv, int offsetX, int offsetY, boolean flipped)
      Mappings:
      Namespace Name Mixin selector
      official a Lbsu;a(Lbmf;IIZ)Z
      intermediary method_8161 Lnet/minecraft/class_1869;method_8161(Lnet/minecraft/class_1715;IIZ)Z
      named matchesPattern Lnet/minecraft/recipe/ShapedRecipe;matchesPattern(Lnet/minecraft/inventory/CraftingInventory;IIZ)Z
    • craft

      public ItemStack craft(CraftingInventory craftingInventory)
      Description copied from interface: Recipe
      Crafts this recipe.

      This method may perform side effects on the inventory argument.

      This method should return a new item stack on each call.

      Specified by:
      craft in interface Recipe<CraftingInventory>
      Returns:
      the resulting item stack
      Mappings:
      Namespace Name Mixin selector
      official a Lbsu;a(Lbmf;)Lbpx;
      intermediary method_17727 Lnet/minecraft/class_1869;method_17727(Lnet/minecraft/class_1715;)Lnet/minecraft/class_1799;
      named craft Lnet/minecraft/recipe/ShapedRecipe;craft(Lnet/minecraft/inventory/CraftingInventory;)Lnet/minecraft/item/ItemStack;
    • getWidth

      public int getWidth()
      Mappings:
      Namespace Name Mixin selector
      official j Lbsu;j()I
      intermediary method_8150 Lnet/minecraft/class_1869;method_8150()I
      named getWidth Lnet/minecraft/recipe/ShapedRecipe;getWidth()I
    • getHeight

      public int getHeight()
      Mappings:
      Namespace Name Mixin selector
      official k Lbsu;k()I
      intermediary method_8158 Lnet/minecraft/class_1869;method_8158()I
      named getHeight Lnet/minecraft/recipe/ShapedRecipe;getHeight()I
    • createPatternMatrix

      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.
      Mappings:
      Namespace Name Mixin selector
      official b Lbsu;b([Ljava/lang/String;Ljava/util/Map;II)Lgn;
      intermediary method_8148 Lnet/minecraft/class_1869;method_8148([Ljava/lang/String;Ljava/util/Map;II)Lnet/minecraft/class_2371;
      named createPatternMatrix Lnet/minecraft/recipe/ShapedRecipe;createPatternMatrix([Ljava/lang/String;Ljava/util/Map;II)Lnet/minecraft/util/collection/DefaultedList;
    • removePadding

      static String[] removePadding(String[] pattern)
      Removes empty space from around the recipe pattern.

      Turns patterns such as:

       
       "   o"
       "   a"
       "    "
       
       
      Into:
       
       "o"
       "a"
       
       
      Returns:
      a new recipe pattern with all leading and trailing empty rows/columns removed
      Mappings:
      Namespace Name Mixin selector
      official a Lbsu;a([Ljava/lang/String;)[Ljava/lang/String;
      intermediary method_8146 Lnet/minecraft/class_1869;method_8146([Ljava/lang/String;)[Ljava/lang/String;
      named removePadding Lnet/minecraft/recipe/ShapedRecipe;removePadding([Ljava/lang/String;)[Ljava/lang/String;
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Recipe<CraftingInventory>
      Mappings:
      Namespace Name Mixin selector
      official i Lbsp;i()Z
      intermediary method_31584 Lnet/minecraft/class_1860;method_31584()Z
      named isEmpty Lnet/minecraft/recipe/Recipe;isEmpty()Z
    • findFirstSymbol

      private static int findFirstSymbol(String line)
      Mappings:
      Namespace Name Mixin selector
      official a Lbsu;a(Ljava/lang/String;)I
      intermediary method_8151 Lnet/minecraft/class_1869;method_8151(Ljava/lang/String;)I
      named findFirstSymbol Lnet/minecraft/recipe/ShapedRecipe;findFirstSymbol(Ljava/lang/String;)I
    • findLastSymbol

      private static int findLastSymbol(String pattern)
      Mappings:
      Namespace Name Mixin selector
      official b Lbsu;b(Ljava/lang/String;)I
      intermediary method_8153 Lnet/minecraft/class_1869;method_8153(Ljava/lang/String;)I
      named findLastSymbol Lnet/minecraft/recipe/ShapedRecipe;findLastSymbol(Ljava/lang/String;)I
    • getPattern

      private static String[] getPattern(JsonArray json)
      Mappings:
      Namespace Name Mixin selector
      official b Lbsu;b(Lcom/google/gson/JsonArray;)[Ljava/lang/String;
      intermediary method_8145 Lnet/minecraft/class_1869;method_8145(Lcom/google/gson/JsonArray;)[Ljava/lang/String;
      named getPattern Lnet/minecraft/recipe/ShapedRecipe;getPattern(Lcom/google/gson/JsonArray;)[Ljava/lang/String;
    • readSymbols

      private static Map<String,​Ingredient> readSymbols(JsonObject json)
      Reads the pattern symbols.
      Returns:
      a mapping from a symbol to the ingredient it represents
      Mappings:
      Namespace Name Mixin selector
      official d Lbsu;d(Lcom/google/gson/JsonObject;)Ljava/util/Map;
      intermediary method_8157 Lnet/minecraft/class_1869;method_8157(Lcom/google/gson/JsonObject;)Ljava/util/Map;
      named readSymbols Lnet/minecraft/recipe/ShapedRecipe;readSymbols(Lcom/google/gson/JsonObject;)Ljava/util/Map;
    • outputFromJson

      public static ItemStack outputFromJson(JsonObject json)
      Mappings:
      Namespace Name Mixin selector
      official a Lbsu;a(Lcom/google/gson/JsonObject;)Lbpx;
      intermediary method_35228 Lnet/minecraft/class_1869;method_35228(Lcom/google/gson/JsonObject;)Lnet/minecraft/class_1799;
      named outputFromJson Lnet/minecraft/recipe/ShapedRecipe;outputFromJson(Lcom/google/gson/JsonObject;)Lnet/minecraft/item/ItemStack;
    • getItemStack

      public static Item getItemStack(JsonObject json)
      Mappings:
      Namespace Name Mixin selector
      official b Lbsu;b(Lcom/google/gson/JsonObject;)Lbpt;
      intermediary method_8155 Lnet/minecraft/class_1869;method_8155(Lcom/google/gson/JsonObject;)Lnet/minecraft/class_1792;
      named getItemStack Lnet/minecraft/recipe/ShapedRecipe;getItemStack(Lcom/google/gson/JsonObject;)Lnet/minecraft/item/Item;