Package com.hbm_m.recipe
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 ClassesModifier and TypeClassDescriptionstatic classstatic class -
Constructor Summary
ConstructorsConstructorDescriptionArcFurnaceRecipe(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 TypeMethodDescriptionnet.minecraft.world.item.ItemStackassemble(net.minecraft.world.Container container, net.minecraft.core.RegistryAccess registryAccess) booleancanCraftInDimensions(int width, int height) intnet.minecraft.world.level.material.FluidResolves fluid 1 lazily (registries may not be fully populated at recipe-load time).net.minecraft.world.level.material.FluidResolves fluid 2 lazily (registries may not be fully populated at recipe-load time).intintnet.minecraft.resources.ResourceLocationnet.minecraft.resources.ResourceLocationnet.minecraft.resources.ResourceLocationgetId()net.minecraft.world.item.crafting.IngredientgetInput()intnet.minecraft.world.item.ItemStacknet.minecraft.world.item.ItemStackgetResultItem(net.minecraft.core.RegistryAccess registryAccess) net.minecraft.world.item.crafting.RecipeSerializer<?>net.minecraft.world.item.crafting.RecipeType<?>getType()booleanbooleanbooleanbooleanmatches(net.minecraft.world.Container container, net.minecraft.world.level.Level level) booleanmatchesInput(net.minecraft.world.item.ItemStack stack) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
matchesin interfacenet.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:
assemblein interfacenet.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
-
canCraftInDimensions
public boolean canCraftInDimensions(int width, int height) - Specified by:
canCraftInDimensionsin interfacenet.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:
getResultItemin interfacenet.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
-
getId
@NotNull public net.minecraft.resources.ResourceLocation getId()- Specified by:
getIdin interfacenet.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
-
getSerializer
@NotNull public net.minecraft.world.item.crafting.RecipeSerializer<?> getSerializer()- Specified by:
getSerializerin interfacenet.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
-
getType
@NotNull public net.minecraft.world.item.crafting.RecipeType<?> getType()- Specified by:
getTypein interfacenet.minecraft.world.item.crafting.Recipe<net.minecraft.world.Container>
-