Interface TransmuteRecipe

All Superinterfaces:
CraftingRecipe, Recipe

@NonExtendable public interface TransmuteRecipe extends CraftingRecipe
A recipe turning one item into another while keeping its components, such as dyeing a shulker box or a bundle without emptying it, or copying a filled map.

The grid must hold exactly one input and between minMaterials() and maxMaterials() materials, anywhere. The result takes the components of the input, then those of the result on top.

Since:
0.1.0
  • Method Details

    • builder

      static TransmuteRecipe.Builder builder(Key key)
      Parameters:
      key - the identifier of the recipe
      Returns:
      a builder for a transmute recipe
      Since:
      0.1.0
    • input

      Ingredient input()
      Returns:
      the item transformed, whose components the result keeps
      Since:
      0.1.0
    • material

      Ingredient material()
      Returns:
      what transforms it, each material in its own slot
      Since:
      0.1.0
    • minMaterials

      int minMaterials()
      Returns:
      the fewest materials the grid may hold, at least 1
      Since:
      0.1.0
    • maxMaterials

      int maxMaterials()
      Returns:
      the most materials the grid may hold
      Since:
      0.1.0
    • resultItem

      @Nullable TypedKey<Item> resultItem()
      Returns:
      the item the input becomes, null when it stays the same item
      Since:
      0.1.0
    • resultCount

      int resultCount()
      Returns:
      how many items one craft gives, before materials are added
      Since:
      0.1.0
    • resultComponents

      DataComponentMap resultComponents()
      Returns:
      the components applied on top of those of the input
      Since:
      0.1.0
    • addMaterialCountToResult

      boolean addMaterialCountToResult()
      Returns:
      whether the result gains one item per material, as when copying a map
      Since:
      0.1.0