Class ConditionalRecipeOutput

java.lang.Object
net.neoforged.neoforge.common.crafting.ConditionalRecipeOutput
All Implemented Interfaces:
net.minecraft.data.recipes.RecipeOutput, IRecipeOutputExtension

@Internal public class ConditionalRecipeOutput extends Object implements net.minecraft.data.recipes.RecipeOutput
Wrapper around a RecipeOutput that adds conditions to all received recipes. Do not use directly, obtain via IRecipeOutputExtension.withConditions(ICondition...).
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final ICondition[]
     
    private final net.minecraft.data.recipes.RecipeOutput
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    ConditionalRecipeOutput(net.minecraft.data.recipes.RecipeOutput inner, ICondition[] conditions)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    accept(net.minecraft.resources.ResourceKey<net.minecraft.world.item.crafting.Recipe<?>> id, net.minecraft.world.item.crafting.Recipe<?> recipe, @Nullable net.minecraft.advancements.AdvancementHolder advancement, ICondition... conditions)
    Generates a recipe with the given conditions.
    net.minecraft.advancements.Advancement.Builder
     
    void
     

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IRecipeOutputExtension

    withConditions

    Methods inherited from interface net.minecraft.data.recipes.RecipeOutput

    accept
  • Field Details

    • inner

      private final net.minecraft.data.recipes.RecipeOutput inner
    • conditions

      private final ICondition[] conditions
  • Constructor Details

    • ConditionalRecipeOutput

      public ConditionalRecipeOutput(net.minecraft.data.recipes.RecipeOutput inner, ICondition[] conditions)
  • Method Details

    • advancement

      public net.minecraft.advancements.Advancement.Builder advancement()
      Specified by:
      advancement in interface net.minecraft.data.recipes.RecipeOutput
    • accept

      public void accept(net.minecraft.resources.ResourceKey<net.minecraft.world.item.crafting.Recipe<?>> id, net.minecraft.world.item.crafting.Recipe<?> recipe, @Nullable @Nullable net.minecraft.advancements.AdvancementHolder advancement, ICondition... conditions)
      Description copied from interface: IRecipeOutputExtension
      Generates a recipe with the given conditions.
      Specified by:
      accept in interface IRecipeOutputExtension
    • includeRootAdvancement

      public void includeRootAdvancement()
      Specified by:
      includeRootAdvancement in interface net.minecraft.data.recipes.RecipeOutput