Class ArcFurnaceRecipe

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

public class ArcFurnaceRecipe extends Object implements net.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
Datapack-facing recipe shape (hbm_m:arc_furnace) for the Arc Furnace — generic port of the 1.7.10 ArcFurnaceRecipes/ArcFurnaceRecipe (see TileEntityMachineArcFurnaceLarge for the original single-block-per-recipe application logic; that class is a multiblock and was NOT ported structurally).

Shape: 1 item input (with count) -> optional item output (with count) AND/OR up to 2 fluid outputs (fluid + amount each). A recipe may produce only a fluid (e.g. melting ore into molten metal), only an item (e.g. flint -> silicon nuggets... in the original those also produce a fluid, but the shape supports item-only for completeness), or both. Mirrors CombinationOvenRecipe architecturally (own RecipeType/RecipeSerializer pair, JSON-driven via datapacks, no recipes hardcoded in Java).

Bewusst NICHT uebernommen (Konsistenz mit Combination Oven/Ore Slopper in dieser Session): Energieverbrauch, die Multiblock-Struktur, Electrode-Hitze-Animation.

  • Nested Class Summary

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

    Constructors
    Constructor
    Description
    ArcFurnaceRecipe(net.minecraft.resources.ResourceLocation id, net.minecraft.world.item.crafting.Ingredient input, int inputCount, net.minecraft.world.item.ItemStack output, net.minecraft.resources.ResourceLocation fluidId1, int fluidAmount1, net.minecraft.resources.ResourceLocation fluidId2, int fluidAmount2, 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 fluid 1 lazily (registries may not be fully populated at recipe-load time).
    net.minecraft.world.level.material.Fluid
    Resolves fluid 2 lazily (registries may not be fully populated at recipe-load time).
    int
     
    int
     
    net.minecraft.resources.ResourceLocation
     
    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
     
    boolean
     
    boolean
     
    boolean
    matches(net.minecraft.world.Container container, net.minecraft.world.level.Level level)
     
    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

    • ArcFurnaceRecipe

      public ArcFurnaceRecipe(net.minecraft.resources.ResourceLocation id, net.minecraft.world.item.crafting.Ingredient input, int inputCount, net.minecraft.world.item.ItemStack output, net.minecraft.resources.ResourceLocation fluidId1, int fluidAmount1, net.minecraft.resources.ResourceLocation fluidId2, int fluidAmount2, int duration)
  • Method Details

    • getInput

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

      public int getInputCount()
    • getOutput

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

      public boolean hasItemOutput()
    • getFluidId1

      @Nullable public net.minecraft.resources.ResourceLocation getFluidId1()
    • getFluidAmount1

      public int getFluidAmount1()
    • getFluidId2

      @Nullable public net.minecraft.resources.ResourceLocation getFluidId2()
    • getFluidAmount2

      public int getFluidAmount2()
    • getFluid1

      @NotNull public net.minecraft.world.level.material.Fluid getFluid1()
      Resolves fluid 1 lazily (registries may not be fully populated at recipe-load time).
    • getFluid2

      @NotNull public net.minecraft.world.level.material.Fluid getFluid2()
      Resolves fluid 2 lazily (registries may not be fully populated at recipe-load time).
    • hasFluidOutput1

      public boolean hasFluidOutput1()
    • hasFluidOutput2

      public boolean hasFluidOutput2()
    • getDuration

      public int getDuration()
    • matchesInput

      public boolean matchesInput(net.minecraft.world.item.ItemStack stack)
    • 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>