Record Class ShapedRecipePattern

java.lang.Object
java.lang.Record
net.minecraft.world.item.crafting.ShapedRecipePattern

public record ShapedRecipePattern(int width, int height, NonNullList<Ingredient> ingredients, Optional<ShapedRecipePattern.Data> data) extends Record
  • Field Details

    • width

      private final int width
      The field for the width record component.
    • height

      private final int height
      The field for the height record component.
    • ingredients

      private final NonNullList<Ingredient> ingredients
      The field for the ingredients record component.
    • data

      private final Optional<ShapedRecipePattern.Data> data
      The field for the data record component.
    • MAX_SIZE

      @Deprecated private static final int MAX_SIZE
      Deprecated.
      See Also:
    • maxWidth

      static int maxWidth
    • maxHeight

      static int maxHeight
    • MAP_CODEC

      public static final com.mojang.serialization.MapCodec<ShapedRecipePattern> MAP_CODEC
  • Constructor Details

    • ShapedRecipePattern

      public ShapedRecipePattern(int width, int height, NonNullList<Ingredient> ingredients, Optional<ShapedRecipePattern.Data> data)
      Creates an instance of a ShapedRecipePattern record class.
      Parameters:
      width - the value for the width record component
      height - the value for the height record component
      ingredients - the value for the ingredients record component
      data - the value for the data record component
  • Method Details

    • getMaxWidth

      public static int getMaxWidth()
    • getMaxHeight

      public static int getMaxHeight()
    • setCraftingSize

      public static void setCraftingSize(int width, int height)
      Expand the max width and height allowed in the deserializer. This should be called by modders who add custom crafting tables that are larger than the vanilla 3x3.
      Parameters:
      width - your max recipe width
      height - your max recipe height
    • of

      public static ShapedRecipePattern of(Map<Character,Ingredient> p_312851_, String... p_312645_)
    • of

      public static ShapedRecipePattern of(Map<Character,Ingredient> p_312370_, List<String> p_312701_)
    • unpack

      private static com.mojang.serialization.DataResult<ShapedRecipePattern> unpack(ShapedRecipePattern.Data p_312037_)
    • shrink

      static String[] shrink(List<String> p_311893_)
    • firstNonSpace

      private static int firstNonSpace(String p_312343_)
    • lastNonSpace

      private static int lastNonSpace(String p_311944_)
    • matches

      public boolean matches(CraftingContainer p_311919_)
    • matches

      private boolean matches(CraftingContainer p_312113_, int p_312598_, int p_312930_, boolean p_312052_)
    • toNetwork

      public void toNetwork(FriendlyByteBuf p_312479_)
    • fromNetwork

      public static ShapedRecipePattern fromNetwork(FriendlyByteBuf p_312006_)
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • width

      public int width()
      Returns the value of the width record component.
      Returns:
      the value of the width record component
    • height

      public int height()
      Returns the value of the height record component.
      Returns:
      the value of the height record component
    • ingredients

      public NonNullList<Ingredient> ingredients()
      Returns the value of the ingredients record component.
      Returns:
      the value of the ingredients record component
    • data

      Returns the value of the data record component.
      Returns:
      the value of the data record component