Package net.commoble.jumbofurnace.recipes

# Record Class JumboFurnaceRecipe

java.lang.Object
java.lang.Record
net.commoble.jumbofurnace.recipes.JumboFurnaceRecipe

All Implemented Interfaces:
  `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

public record JumboFurnaceRecipe(String group, List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients, List<net.minecraft.world.item.ItemStack> results, float experience, int cookingTime, Supplier<Integer> specificity) extends Record implements net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>

## Field Summary

Fields
Modifier and Type
Field
Description
`static final com.mojang.serialization.MapCodec<JumboFurnaceRecipe>`
`CODEC`
`static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf,JumboFurnaceRecipe>`
`STREAM_CODEC`

### Fields inherited from interface net.minecraft.world.item.crafting.Recipe

`CONDITIONAL_CODEC`

## Constructor Summary

Constructors
Constructor
Description
`JumboFurnaceRecipe(String group, List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients, List<net.minecraft.world.item.ItemStack> results, float experience, int cookingTime)`
`JumboFurnaceRecipe(String group, List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients, List<net.minecraft.world.item.ItemStack> results, float experience, int cookingTime, Supplier<Integer> specificity)`
Creates an instance of a `JumboFurnaceRecipe` record class.
`JumboFurnaceRecipe(net.minecraft.world.item.crafting.SmeltingRecipe baseRecipe)`
Wrapper around regular furnace recipes to make single-input jumbo furnace recipes

## Method Summary

Modifier and Type
Method
Description
`net.minecraft.world.item.ItemStack`
`assemble(net.minecraft.world.item.crafting.RecipeInput input, net.minecraft.core.HolderLookup.Provider registries)`
`boolean`
`canCraftInDimensions(int width, int height)`
`int`
`cookingTime()`
Returns the value of the `cookingTime` record component.
`final boolean`
`equals(Object o)`
Indicates whether some other object is "equal to" this one.
`float`
`experience()`
Returns the value of the `experience` record component.
`net.minecraft.core.NonNullList<net.minecraft.world.item.crafting.Ingredient>`
`getIngredients()`
`net.minecraft.core.NonNullList<net.minecraft.world.item.ItemStack>`
`getRemainingItems(net.minecraft.world.item.crafting.RecipeInput inv)`
`net.minecraft.world.item.ItemStack`
`getResultItem(net.minecraft.core.HolderLookup.Provider registries)`
`net.minecraft.world.item.crafting.RecipeSerializer<?>`
`getSerializer()`
`static int`
`getSpecificity(List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients, float experience)`
`net.minecraft.world.item.crafting.RecipeType<?>`
`getType()`
`String`
`group()`
Returns the value of the `group` record component.
`final int`
`hashCode()`
Returns a hash code value for this object.
`List<net.neoforged.neoforge.common.crafting.SizedIngredient>`
`ingredients()`
Returns the value of the `ingredients` record component.
`boolean`
`isSpecial()`
`boolean`
`matches(net.minecraft.world.item.crafting.RecipeInput inv, net.minecraft.world.level.Level worldIn)`
`static com.mojang.serialization.DataResult<List<net.minecraft.world.item.ItemStack>>`
`readResults(List<net.minecraft.world.item.ItemStack> list)`
`List<net.minecraft.world.item.ItemStack>`
`results()`
Returns the value of the `results` record component.
`Supplier<Integer>`
`specificity()`
Returns the value of the `specificity` record component.
`final String`
`toString()`
Returns a string representation of this record class.
`static com.mojang.serialization.DataResult<List<net.neoforged.neoforge.common.crafting.SizedIngredient>>`
`validateIngredients(List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients)`
`static com.mojang.serialization.DataResult<List<net.minecraft.world.item.ItemStack>>`
`writeResults(List<net.minecraft.world.item.ItemStack> results)`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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

`getGroup, getToastSymbol, isIncomplete, showNotification`

## Field Details

### CODEC

public static final com.mojang.serialization.MapCodec<JumboFurnaceRecipe> CODEC

### STREAM_CODEC

public static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf,JumboFurnaceRecipe> STREAM_CODEC

## Constructor Details

### JumboFurnaceRecipe

public JumboFurnaceRecipe(String group, List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients, List<net.minecraft.world.item.ItemStack> results, float experience, int cookingTime)

### JumboFurnaceRecipe

public JumboFurnaceRecipe(net.minecraft.world.item.crafting.SmeltingRecipe baseRecipe)
Wrapper around regular furnace recipes to make single-input jumbo furnace recipes

### JumboFurnaceRecipe

public JumboFurnaceRecipe(String group, List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients, List<net.minecraft.world.item.ItemStack> results, float experience, int cookingTime, Supplier<Integer> specificity)
Creates an instance of a `JumboFurnaceRecipe` record class.

Parameters:
  `group` - the value for the `group` record component
  `ingredients` - the value for the `ingredients` record component
  `results` - the value for the `results` record component
  `experience` - the value for the `experience` record component
  `cookingTime` - the value for the `cookingTime` record component
  `specificity` - the value for the `specificity` record component

## Method Details

### validateIngredients

public static com.mojang.serialization.DataResult<List<net.neoforged.neoforge.common.crafting.SizedIngredient>> validateIngredients(List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients)

### readResults

public static com.mojang.serialization.DataResult<List<net.minecraft.world.item.ItemStack>> readResults(List<net.minecraft.world.item.ItemStack> list)

### writeResults

public static com.mojang.serialization.DataResult<List<net.minecraft.world.item.ItemStack>> writeResults(List<net.minecraft.world.item.ItemStack> results)

### getIngredients

public net.minecraft.core.NonNullList<net.minecraft.world.item.crafting.Ingredient> getIngredients()

Specified by:
  `getIngredients` in interface `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

### matches

public boolean matches(net.minecraft.world.item.crafting.RecipeInput inv, net.minecraft.world.level.Level worldIn)

Specified by:
  `matches` in interface `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

### canCraftInDimensions

public boolean canCraftInDimensions(int width, int height)

Specified by:
  `canCraftInDimensions` in interface `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

### assemble

public net.minecraft.world.item.ItemStack assemble(net.minecraft.world.item.crafting.RecipeInput input, net.minecraft.core.HolderLookup.Provider registries)

Specified by:
  `assemble` in interface `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

### getResultItem

public net.minecraft.world.item.ItemStack getResultItem(net.minecraft.core.HolderLookup.Provider registries)

Specified by:
  `getResultItem` in interface `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

### getSerializer

public net.minecraft.world.item.crafting.RecipeSerializer<?> getSerializer()

Specified by:
  `getSerializer` in interface `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

### getType

public net.minecraft.world.item.crafting.RecipeType<?> getType()

Specified by:
  `getType` in interface `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

### isSpecial

public boolean isSpecial()

Specified by:
  `isSpecial` in interface `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

### getSpecificity

public static int getSpecificity(List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients, float experience)

### getRemainingItems

public net.minecraft.core.NonNullList<net.minecraft.world.item.ItemStack> getRemainingItems(net.minecraft.world.item.crafting.RecipeInput inv)

Specified by:
  `getRemainingItems` in interface `net.minecraft.world.item.crafting.Recipe<net.minecraft.world.item.crafting.RecipeInput>`

### toString

public final String toString()
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.

Specified by:
  `toString` in class `Record`
Returns:
  a string representation of this object

### hashCode

public final int hashCode()
Returns a hash code value for this object. The value is derived from the hash code of each of the record components.

Specified by:
  `hashCode` in class `Record`
Returns:
  a hash code value for this object

### equals

public final boolean equals(Object o)
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with `Objects::equals(Object,Object)`; primitive components are compared with '=='.

Specified by:
  `equals` in class `Record`
Parameters:
  `o` - the object with which to compare
Returns:
  `true` if this object is the same as the `o` argument; `false` otherwise.

### group

public String group()
Returns the value of the `group` record component.

Returns:
  the value of the `group` record component

### ingredients

public List<net.neoforged.neoforge.common.crafting.SizedIngredient> ingredients()
Returns the value of the `ingredients` record component.

Returns:
  the value of the `ingredients` record component

### results

public List<net.minecraft.world.item.ItemStack> results()
Returns the value of the `results` record component.

Returns:
  the value of the `results` record component

### experience

public float experience()
Returns the value of the `experience` record component.

Returns:
  the value of the `experience` record component

### cookingTime

public int cookingTime()
Returns the value of the `cookingTime` record component.

Returns:
  the value of the `cookingTime` record component

### specificity

public Supplier<Integer> specificity()
Returns the value of the `specificity` record component.

Returns:
  the value of the `specificity` record component