Class CombinationOvenRecipe

java.lang.Object
com.hbm_m.recipe.CombinationOvenRecipe
All Implemented Interfaces:
net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>

public class CombinationOvenRecipe extends Object implements net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
Datapack-facing recipe shape (hbm_m:combination_oven) for the Combination Oven — generic port of the 1.7.10 TileEntityFurnaceCombination/CombinationRecipes.

Shape: 1 item input (with count) + N mB of a specific fluid -> 1 item output, over a fixed duration. Unlike the original (which is a hand-populated Java HashMap), this is a proper vanilla Recipe/RecipeSerializer pair so recipes can be added as datapack JSON later without touching machine code.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
    static class 
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    CombinationOvenRecipe(net.minecraft.resources.ResourceLocation id, net.minecraft.world.item.crafting.Ingredient input, int inputCount, net.minecraft.resources.ResourceLocation fluidId, int fluidAmount, net.minecraft.world.item.ItemStack output, int duration)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    net.minecraft.world.item.ItemStack
    assemble(net.minecraft.world.Container container, net.minecraft.core.RegistryAccess registryAccess)
     
    boolean
    canCraftInDimensions(int width, int height)
     
    int
     
    net.minecraft.world.level.material.Fluid
    Resolves the required fluid lazily (registries may not be fully populated at recipe-load time).
    int
     
    net.minecraft.resources.ResourceLocation
     
    net.minecraft.resources.ResourceLocation
     
    net.minecraft.world.item.crafting.Ingredient
     
    int
     
    net.minecraft.world.item.ItemStack
     
    net.minecraft.world.item.ItemStack
    getResultItem(net.minecraft.core.RegistryAccess registryAccess)
     
    net.minecraft.world.item.crafting.RecipeSerializer<?>
     
    net.minecraft.world.item.crafting.RecipeType<?>
     
    boolean
    matches(net.minecraft.world.Container container, net.minecraft.world.level.Level level)
     
    boolean
    matchesFluid(net.minecraft.world.level.material.Fluid tankFluid)
     
    boolean
    matchesInput(net.minecraft.world.item.ItemStack stack)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.minecraft.world.item.crafting.Recipe

    getGroup, getIngredients, getRemainingItems, getToastSymbol, isIncomplete, isSpecial, showNotification
  • Constructor Details

    • CombinationOvenRecipe

      public CombinationOvenRecipe(net.minecraft.resources.ResourceLocation id, net.minecraft.world.item.crafting.Ingredient input, int inputCount, net.minecraft.resources.ResourceLocation fluidId, int fluidAmount, net.minecraft.world.item.ItemStack output, int duration)
  • Method Details

    • getInput

      public net.minecraft.world.item.crafting.Ingredient getInput()
    • getInputCount

      public int getInputCount()
    • getFluidId

      @Nullable public net.minecraft.resources.ResourceLocation getFluidId()
    • getFluid

      @NotNull public net.minecraft.world.level.material.Fluid getFluid()
      Resolves the required fluid lazily (registries may not be fully populated at recipe-load time).
    • getFluidAmount

      public int getFluidAmount()
    • getOutput

      public net.minecraft.world.item.ItemStack getOutput()
    • getDuration

      public int getDuration()
    • matchesInput

      public boolean matchesInput(net.minecraft.world.item.ItemStack stack)
    • matchesFluid

      public boolean matchesFluid(net.minecraft.world.level.material.Fluid tankFluid)
    • matches

      public boolean matches(@NotNull net.minecraft.world.Container container, @NotNull net.minecraft.world.level.Level level)
      Specified by:
      matches in interface net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
    • assemble

      @NotNull public net.minecraft.world.item.ItemStack assemble(@NotNull net.minecraft.world.Container container, @NotNull net.minecraft.core.RegistryAccess registryAccess)
      Specified by:
      assemble in interface net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
    • canCraftInDimensions

      public boolean canCraftInDimensions(int width, int height)
      Specified by:
      canCraftInDimensions in interface net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
    • getResultItem

      @NotNull public net.minecraft.world.item.ItemStack getResultItem(@NotNull net.minecraft.core.RegistryAccess registryAccess)
      Specified by:
      getResultItem in interface net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
    • getId

      @NotNull public net.minecraft.resources.ResourceLocation getId()
      Specified by:
      getId in interface net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
    • getSerializer

      @NotNull public net.minecraft.world.item.crafting.RecipeSerializer<?> getSerializer()
      Specified by:
      getSerializer in interface net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
    • getType

      @NotNull public net.minecraft.world.item.crafting.RecipeType<?> getType()
      Specified by:
      getType in interface net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>