diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatteryRecipe.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatteryRecipe.kt index c7f28ed6e..b03b50f99 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatteryRecipe.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatteryRecipe.kt @@ -10,7 +10,6 @@ import net.minecraft.data.recipes.ShapelessRecipeBuilder import net.minecraft.resources.ResourceLocation import net.minecraft.tags.TagKey import net.minecraft.world.item.Item -import net.minecraft.world.item.ItemStack import net.minecraft.world.item.crafting.Ingredient import net.minecraft.world.item.crafting.RecipeSerializer import net.minecraft.world.level.ItemLike @@ -18,11 +17,7 @@ import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.recipe.EnergyContainerRecipe import java.util.function.Consumer -import java.util.stream.Stream -/** - * because you need [equals] - */ private interface RecipeCell { val value: Ingredient } @@ -30,7 +25,7 @@ private interface RecipeCell { private data class IngredientRecipeCell(override val value: Ingredient) : RecipeCell @Suppress("EqualsOrHashCode") -private data class ItemRecipeCell(val item: ItemLike) : RecipeCell { +private data class ItemRecipeCell(private val item: ItemLike) : RecipeCell { override val value: Ingredient by lazy { Ingredient.of(item) } override fun equals(other: Any?): Boolean { @@ -42,10 +37,6 @@ private data class ItemRecipeCell(val item: ItemLike) : RecipeCell { return item == other.item } - if (other is CollectionRecipeCell) { - return other.items.size == 1 && other.items.all { it.item == item && it.tag == null } - } - return false } } @@ -54,53 +45,6 @@ private data class TagRecipeCell(private val item: TagKey) : RecipeCell { override val value: Ingredient by lazy { Ingredient.of(item) } } -private data class ItemStackRecipeCell(private val item: ItemStack) : RecipeCell { - override val value: Ingredient by lazy { Ingredient.of(item) } -} - -@Suppress("EqualsOrHashCode") -private class CollectionRecipeCell : RecipeCell { - val items: ImmutableList - - constructor(input: Iterable) : this(input.iterator()) - - constructor(input: Iterator) { - val builder = ImmutableList.Builder() - for (value in input) builder.add(value) - items = builder.build() - } - - constructor(input: Stream) { - items = input.collect(ImmutableList.toImmutableList()) - } - - constructor(input: Array) : this(input.iterator()) - - private fun items() = items - override val value: Ingredient by lazy { Ingredient.of(items().stream()) } - - override fun equals(other: Any?): Boolean { - if (other is CollectionRecipeCell) { - return other.items.all { a -> items.any { b -> a.equals(b, false) } } - } - - if (other is ItemRecipeCell) { - return items.size == 1 && items.all { it.item == other.item && it.tag == null } - } - - return false - } -} - -private fun makeCell(input: Ingredient?): RecipeCell? = input?.let(::IngredientRecipeCell) -private fun makeCell(input: ItemLike?): RecipeCell? = input?.let(::ItemRecipeCell) -private fun makeCell(input: TagKey?): RecipeCell? = input?.let(::TagRecipeCell) -private fun makeCell(input: Iterable?): RecipeCell? = input?.let(::CollectionRecipeCell) -private fun makeCell(input: Iterator?): RecipeCell? = input?.let(::CollectionRecipeCell) -private fun makeCell(input: Stream?): RecipeCell? = input?.let(::CollectionRecipeCell) -private fun makeCell(input: Array?): RecipeCell? = input?.let(::CollectionRecipeCell) -private fun makeCell(input: ItemStack?): RecipeCell? = input?.let(::ItemStackRecipeCell) - private data class RecipeRow( val a: RecipeCell?, val b: RecipeCell?, @@ -217,3075 +161,427 @@ class MatteryRecipe(val result: ItemLike, val count: Int = 1) { }, name) } + fun row(): MatteryRecipe { + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(null, null, null) + + return this + } + fun row(a: Ingredient? = null, b: Ingredient? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::IngredientRecipeCell), b?.let(::IngredientRecipeCell), c?.let(::IngredientRecipeCell)) + return this } fun row(a: Ingredient? = null, b: Ingredient? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::IngredientRecipeCell), b?.let(::IngredientRecipeCell), c?.let(::ItemRecipeCell)) + return this } fun row(a: Ingredient? = null, b: Ingredient? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } - fun row(a: Ingredient? = null, b: Ingredient? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + rows[index++] = RecipeRow(a?.let(::IngredientRecipeCell), b?.let(::IngredientRecipeCell), c?.let(::TagRecipeCell)) - fun row(a: Ingredient? = null, b: Ingredient? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Ingredient? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Ingredient? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Ingredient? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) return this } fun row(a: Ingredient? = null, b: ItemLike? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::IngredientRecipeCell), b?.let(::ItemRecipeCell), c?.let(::IngredientRecipeCell)) + return this } fun row(a: Ingredient? = null, b: ItemLike? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::IngredientRecipeCell), b?.let(::ItemRecipeCell), c?.let(::ItemRecipeCell)) + return this } fun row(a: Ingredient? = null, b: ItemLike? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } - fun row(a: Ingredient? = null, b: ItemLike? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + rows[index++] = RecipeRow(a?.let(::IngredientRecipeCell), b?.let(::ItemRecipeCell), c?.let(::TagRecipeCell)) - fun row(a: Ingredient? = null, b: ItemLike? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemLike? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemLike? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemLike? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) return this } fun row(a: Ingredient? = null, b: TagKey? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::IngredientRecipeCell), b?.let(::TagRecipeCell), c?.let(::IngredientRecipeCell)) + return this } fun row(a: Ingredient? = null, b: TagKey? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::IngredientRecipeCell), b?.let(::TagRecipeCell), c?.let(::ItemRecipeCell)) + return this } fun row(a: Ingredient? = null, b: TagKey? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } - fun row(a: Ingredient? = null, b: TagKey? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + rows[index++] = RecipeRow(a?.let(::IngredientRecipeCell), b?.let(::TagRecipeCell), c?.let(::TagRecipeCell)) - fun row(a: Ingredient? = null, b: TagKey? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: TagKey? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: TagKey? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: TagKey? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterable? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterable? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterable? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterable? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterable? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterable? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterable? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterable? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterator? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterator? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterator? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterator? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterator? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterator? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterator? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Iterator? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Array? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Array? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Array? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Array? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Array? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Array? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Array? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Array? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Stream? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Stream? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Stream? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Stream? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Stream? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Stream? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Stream? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: Stream? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemStack? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemStack? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemStack? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemStack? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemStack? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemStack? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemStack? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Ingredient? = null, b: ItemStack? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) return this } fun row(a: ItemLike? = null, b: Ingredient? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::ItemRecipeCell), b?.let(::IngredientRecipeCell), c?.let(::IngredientRecipeCell)) + return this } fun row(a: ItemLike? = null, b: Ingredient? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::ItemRecipeCell), b?.let(::IngredientRecipeCell), c?.let(::ItemRecipeCell)) + return this } fun row(a: ItemLike? = null, b: Ingredient? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } - fun row(a: ItemLike? = null, b: Ingredient? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + rows[index++] = RecipeRow(a?.let(::ItemRecipeCell), b?.let(::IngredientRecipeCell), c?.let(::TagRecipeCell)) - fun row(a: ItemLike? = null, b: Ingredient? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Ingredient? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Ingredient? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Ingredient? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) return this } fun row(a: ItemLike? = null, b: ItemLike? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::ItemRecipeCell), b?.let(::ItemRecipeCell), c?.let(::IngredientRecipeCell)) + return this } fun row(a: ItemLike? = null, b: ItemLike? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::ItemRecipeCell), b?.let(::ItemRecipeCell), c?.let(::ItemRecipeCell)) + return this } fun row(a: ItemLike? = null, b: ItemLike? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } - fun row(a: ItemLike? = null, b: ItemLike? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + rows[index++] = RecipeRow(a?.let(::ItemRecipeCell), b?.let(::ItemRecipeCell), c?.let(::TagRecipeCell)) - fun row(a: ItemLike? = null, b: ItemLike? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemLike? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemLike? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemLike? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) return this } fun row(a: ItemLike? = null, b: TagKey? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::ItemRecipeCell), b?.let(::TagRecipeCell), c?.let(::IngredientRecipeCell)) + return this } fun row(a: ItemLike? = null, b: TagKey? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::ItemRecipeCell), b?.let(::TagRecipeCell), c?.let(::ItemRecipeCell)) + return this } fun row(a: ItemLike? = null, b: TagKey? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } - fun row(a: ItemLike? = null, b: TagKey? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + rows[index++] = RecipeRow(a?.let(::ItemRecipeCell), b?.let(::TagRecipeCell), c?.let(::TagRecipeCell)) - fun row(a: ItemLike? = null, b: TagKey? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: TagKey? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: TagKey? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: TagKey? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterable? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterable? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterable? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterable? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterable? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterable? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterable? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterable? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterator? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterator? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterator? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterator? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterator? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterator? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterator? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Iterator? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Array? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Array? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Array? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Array? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Array? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Array? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Array? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Array? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Stream? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Stream? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Stream? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Stream? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Stream? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Stream? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Stream? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: Stream? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemStack? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemStack? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemStack? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemStack? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemStack? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemStack? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemStack? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemLike? = null, b: ItemStack? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) return this } fun row(a: TagKey? = null, b: Ingredient? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::TagRecipeCell), b?.let(::IngredientRecipeCell), c?.let(::IngredientRecipeCell)) + return this } fun row(a: TagKey? = null, b: Ingredient? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::TagRecipeCell), b?.let(::IngredientRecipeCell), c?.let(::ItemRecipeCell)) + return this } fun row(a: TagKey? = null, b: Ingredient? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } - fun row(a: TagKey? = null, b: Ingredient? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + rows[index++] = RecipeRow(a?.let(::TagRecipeCell), b?.let(::IngredientRecipeCell), c?.let(::TagRecipeCell)) - fun row(a: TagKey? = null, b: Ingredient? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Ingredient? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Ingredient? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Ingredient? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) return this } fun row(a: TagKey? = null, b: ItemLike? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::TagRecipeCell), b?.let(::ItemRecipeCell), c?.let(::IngredientRecipeCell)) + return this } fun row(a: TagKey? = null, b: ItemLike? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::TagRecipeCell), b?.let(::ItemRecipeCell), c?.let(::ItemRecipeCell)) + return this } fun row(a: TagKey? = null, b: ItemLike? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } - fun row(a: TagKey? = null, b: ItemLike? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + rows[index++] = RecipeRow(a?.let(::TagRecipeCell), b?.let(::ItemRecipeCell), c?.let(::TagRecipeCell)) - fun row(a: TagKey? = null, b: ItemLike? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemLike? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemLike? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemLike? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) return this } fun row(a: TagKey? = null, b: TagKey? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::TagRecipeCell), b?.let(::TagRecipeCell), c?.let(::IngredientRecipeCell)) + return this } fun row(a: TagKey? = null, b: TagKey? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } + + rows[index++] = RecipeRow(a?.let(::TagRecipeCell), b?.let(::TagRecipeCell), c?.let(::ItemRecipeCell)) + return this } fun row(a: TagKey? = null, b: TagKey? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: TagKey? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: TagKey? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: TagKey? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: TagKey? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: TagKey? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterable? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterable? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterable? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterable? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterable? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterable? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterable? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterable? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterator? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterator? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterator? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterator? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterator? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterator? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterator? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Iterator? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Array? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Array? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Array? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Array? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Array? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Array? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Array? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Array? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Stream? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Stream? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Stream? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Stream? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Stream? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Stream? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Stream? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: Stream? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemStack? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemStack? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemStack? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemStack? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemStack? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemStack? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemStack? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: TagKey? = null, b: ItemStack? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Ingredient? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Ingredient? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Ingredient? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Ingredient? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Ingredient? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Ingredient? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Ingredient? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Ingredient? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemLike? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemLike? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemLike? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemLike? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemLike? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemLike? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemLike? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemLike? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: TagKey? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: TagKey? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: TagKey? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: TagKey? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: TagKey? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: TagKey? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: TagKey? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: TagKey? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterable? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterable? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterable? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterable? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterable? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterable? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterable? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterable? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterator? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterator? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterator? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterator? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterator? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterator? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterator? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Iterator? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Array? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Array? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Array? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Array? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Array? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Array? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Array? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Array? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Stream? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Stream? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Stream? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Stream? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Stream? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Stream? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Stream? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: Stream? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemStack? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemStack? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemStack? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemStack? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemStack? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemStack? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemStack? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterable? = null, b: ItemStack? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Ingredient? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Ingredient? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Ingredient? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Ingredient? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Ingredient? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Ingredient? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Ingredient? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Ingredient? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemLike? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemLike? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemLike? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemLike? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemLike? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemLike? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemLike? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemLike? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: TagKey? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: TagKey? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: TagKey? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: TagKey? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: TagKey? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: TagKey? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: TagKey? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: TagKey? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterable? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterable? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterable? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterable? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterable? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterable? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterable? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterable? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterator? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterator? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterator? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterator? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterator? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterator? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterator? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Iterator? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Array? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Array? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Array? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Array? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Array? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Array? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Array? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Array? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Stream? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Stream? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Stream? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Stream? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Stream? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Stream? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Stream? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: Stream? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemStack? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemStack? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemStack? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemStack? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemStack? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemStack? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemStack? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Iterator? = null, b: ItemStack? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Ingredient? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Ingredient? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Ingredient? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Ingredient? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Ingredient? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Ingredient? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Ingredient? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Ingredient? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemLike? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemLike? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemLike? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemLike? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemLike? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemLike? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemLike? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemLike? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: TagKey? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: TagKey? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: TagKey? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: TagKey? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: TagKey? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: TagKey? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: TagKey? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: TagKey? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterable? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterable? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterable? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterable? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterable? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterable? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterable? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterable? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterator? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterator? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterator? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterator? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterator? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterator? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterator? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Iterator? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Array? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Array? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Array? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Array? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Array? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Array? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Array? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Array? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Stream? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Stream? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Stream? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Stream? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Stream? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Stream? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Stream? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: Stream? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemStack? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemStack? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemStack? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemStack? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemStack? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemStack? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemStack? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Array? = null, b: ItemStack? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Ingredient? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Ingredient? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Ingredient? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Ingredient? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Ingredient? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Ingredient? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Ingredient? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Ingredient? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemLike? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemLike? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemLike? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemLike? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemLike? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemLike? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemLike? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemLike? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: TagKey? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: TagKey? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: TagKey? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: TagKey? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: TagKey? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: TagKey? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: TagKey? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: TagKey? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterable? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterable? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterable? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterable? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterable? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterable? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterable? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterable? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterator? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterator? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterator? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterator? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterator? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterator? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterator? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Iterator? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Array? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Array? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Array? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Array? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Array? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Array? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Array? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Array? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Stream? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Stream? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Stream? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Stream? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Stream? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Stream? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Stream? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: Stream? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemStack? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemStack? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemStack? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemStack? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + if (index == 3) { + throw IllegalStateException("Already have all rows defined") + } - fun row(a: Stream? = null, b: ItemStack? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemStack? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemStack? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: Stream? = null, b: ItemStack? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Ingredient? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Ingredient? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Ingredient? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Ingredient? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Ingredient? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Ingredient? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Ingredient? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Ingredient? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: ItemLike? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: ItemLike? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: ItemLike? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: ItemLike? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: ItemLike? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: ItemLike? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: ItemLike? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: ItemLike? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: TagKey? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: TagKey? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: TagKey? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: TagKey? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: TagKey? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: TagKey? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: TagKey? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } + rows[index++] = RecipeRow(a?.let(::TagRecipeCell), b?.let(::TagRecipeCell), c?.let(::TagRecipeCell)) - fun row(a: ItemStack? = null, b: TagKey? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) return this } - fun row(a: ItemStack? = null, b: Iterable? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Iterable? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Iterable? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Iterable? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this - } - - fun row(a: ItemStack? = null, b: Iterable? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowA(a: Ingredient?): MatteryRecipe { + return this.row(a, null as Ingredient?, null as Ingredient?) } - fun row(a: ItemStack? = null, b: Iterable? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowA(a: ItemLike?): MatteryRecipe { + return this.row(a, null as ItemLike?, null as ItemLike?) } - fun row(a: ItemStack? = null, b: Iterable? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowA(a: TagKey?): MatteryRecipe { + return this.row(a, null as TagKey?, null as TagKey?) } - fun row(a: ItemStack? = null, b: Iterable? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowB(b: Ingredient?): MatteryRecipe { + return this.row(null as Ingredient?, b, null as Ingredient?) } - fun row(a: ItemStack? = null, b: Iterator? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowB(b: ItemLike?): MatteryRecipe { + return this.row(null as ItemLike?, b, null as ItemLike?) } - fun row(a: ItemStack? = null, b: Iterator? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowB(b: TagKey?): MatteryRecipe { + return this.row(null as TagKey?, b, null as TagKey?) } - fun row(a: ItemStack? = null, b: Iterator? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowC(c: Ingredient?): MatteryRecipe { + return this.row(null as Ingredient?, null as Ingredient?, c) } - fun row(a: ItemStack? = null, b: Iterator? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowC(c: ItemLike?): MatteryRecipe { + return this.row(null as ItemLike?, null as ItemLike?, c) } - fun row(a: ItemStack? = null, b: Iterator? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowC(c: TagKey?): MatteryRecipe { + return this.row(null as TagKey?, null as TagKey?, c) } - fun row(a: ItemStack? = null, b: Iterator? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAB(a: Ingredient?, b: Ingredient?): MatteryRecipe { + return this.row(a, b, null as Ingredient?) } - fun row(a: ItemStack? = null, b: Iterator? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAB(a: Ingredient?, b: ItemLike?): MatteryRecipe { + return this.row(a, b, null as Ingredient?) } - fun row(a: ItemStack? = null, b: Iterator? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAB(a: Ingredient?, b: TagKey?): MatteryRecipe { + return this.row(a, b, null as Ingredient?) } - fun row(a: ItemStack? = null, b: Array? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAB(a: ItemLike?, b: Ingredient?): MatteryRecipe { + return this.row(a, b, null as ItemLike?) } - fun row(a: ItemStack? = null, b: Array? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAB(a: ItemLike?, b: ItemLike?): MatteryRecipe { + return this.row(a, b, null as ItemLike?) } - fun row(a: ItemStack? = null, b: Array? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAB(a: ItemLike?, b: TagKey?): MatteryRecipe { + return this.row(a, b, null as ItemLike?) } - fun row(a: ItemStack? = null, b: Array? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAB(a: TagKey?, b: Ingredient?): MatteryRecipe { + return this.row(a, b, null as TagKey?) } - fun row(a: ItemStack? = null, b: Array? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAB(a: TagKey?, b: ItemLike?): MatteryRecipe { + return this.row(a, b, null as TagKey?) } - fun row(a: ItemStack? = null, b: Array? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAB(a: TagKey?, b: TagKey?): MatteryRecipe { + return this.row(a, b, null as TagKey?) } - fun row(a: ItemStack? = null, b: Array? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAC(a: Ingredient?, c: Ingredient?): MatteryRecipe { + return this.row(a, null as Ingredient?, c) } - fun row(a: ItemStack? = null, b: Array? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAC(a: Ingredient?, c: ItemLike?): MatteryRecipe { + return this.row(a, null as Ingredient?, c) } - fun row(a: ItemStack? = null, b: Stream? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAC(a: Ingredient?, c: TagKey?): MatteryRecipe { + return this.row(a, null as Ingredient?, c) } - fun row(a: ItemStack? = null, b: Stream? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAC(a: ItemLike?, c: Ingredient?): MatteryRecipe { + return this.row(a, null as ItemLike?, c) } - fun row(a: ItemStack? = null, b: Stream? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAC(a: ItemLike?, c: ItemLike?): MatteryRecipe { + return this.row(a, null as ItemLike?, c) } - fun row(a: ItemStack? = null, b: Stream? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAC(a: ItemLike?, c: TagKey?): MatteryRecipe { + return this.row(a, null as ItemLike?, c) } - fun row(a: ItemStack? = null, b: Stream? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAC(a: TagKey?, c: Ingredient?): MatteryRecipe { + return this.row(a, null as TagKey?, c) } - fun row(a: ItemStack? = null, b: Stream? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAC(a: TagKey?, c: ItemLike?): MatteryRecipe { + return this.row(a, null as TagKey?, c) } - fun row(a: ItemStack? = null, b: Stream? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowAC(a: TagKey?, c: TagKey?): MatteryRecipe { + return this.row(a, null as TagKey?, c) } - fun row(a: ItemStack? = null, b: Stream? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowBC(b: Ingredient?, c: Ingredient?): MatteryRecipe { + return this.row(null as Ingredient?, b, c) } - fun row(a: ItemStack? = null, b: ItemStack? = null, c: Ingredient? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowBC(b: Ingredient?, c: ItemLike?): MatteryRecipe { + return this.row(null as Ingredient?, b, c) } - fun row(a: ItemStack? = null, b: ItemStack? = null, c: ItemLike? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowBC(b: Ingredient?, c: TagKey?): MatteryRecipe { + return this.row(null as Ingredient?, b, c) } - fun row(a: ItemStack? = null, b: ItemStack? = null, c: TagKey? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowBC(b: ItemLike?, c: Ingredient?): MatteryRecipe { + return this.row(null as ItemLike?, b, c) } - fun row(a: ItemStack? = null, b: ItemStack? = null, c: Iterable? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowBC(b: ItemLike?, c: ItemLike?): MatteryRecipe { + return this.row(null as ItemLike?, b, c) } - fun row(a: ItemStack? = null, b: ItemStack? = null, c: Iterator? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowBC(b: ItemLike?, c: TagKey?): MatteryRecipe { + return this.row(null as ItemLike?, b, c) } - fun row(a: ItemStack? = null, b: ItemStack? = null, c: Array? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowBC(b: TagKey?, c: Ingredient?): MatteryRecipe { + return this.row(null as TagKey?, b, c) } - fun row(a: ItemStack? = null, b: ItemStack? = null, c: Stream? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowBC(b: TagKey?, c: ItemLike?): MatteryRecipe { + return this.row(null as TagKey?, b, c) } - fun row(a: ItemStack? = null, b: ItemStack? = null, c: ItemStack? = null): MatteryRecipe { - check(index < 3) { "Already have all rows defined" } - rows[index++] = RecipeRow(makeCell(a), makeCell(b), makeCell(c)) - return this + fun rowBC(b: TagKey?, c: TagKey?): MatteryRecipe { + return this.row(null as TagKey?, b, c) } } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatteryRecipeExt.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatteryRecipeExt.kt deleted file mode 100644 index 09f8fd822..000000000 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatteryRecipeExt.kt +++ /dev/null @@ -1,865 +0,0 @@ -package ru.dbotthepony.mc.otm.datagen.recipes - -fun MatteryRecipe.rowA(a: Ingredient?): MatteryRecipe { - return this.row(a, null as Ingredient?, null as Ingredient?) -} - -fun MatteryRecipe.rowA(a: ItemLike?): MatteryRecipe { - return this.row(a, null as ItemLike?, null as ItemLike?) -} - -fun MatteryRecipe.rowA(a: TagKey?): MatteryRecipe { - return this.row(a, null as TagKey?, null as TagKey?) -} - -fun MatteryRecipe.rowA(a: Iterable?): MatteryRecipe { - return this.row(a, null as Iterable?, null as Iterable?) -} - -fun MatteryRecipe.rowA(a: Iterator?): MatteryRecipe { - return this.row(a, null as Iterator?, null as Iterator?) -} - -fun MatteryRecipe.rowA(a: Array?): MatteryRecipe { - return this.row(a, null as Array?, null as Array?) -} - -fun MatteryRecipe.rowA(a: Stream?): MatteryRecipe { - return this.row(a, null as Stream?, null as Stream?) -} - -fun MatteryRecipe.rowA(a: ItemStack?): MatteryRecipe { - return this.row(a, null as ItemStack?, null as ItemStack?) -} - -fun MatteryRecipe.rowB(b: Ingredient?): MatteryRecipe { - return this.row(null as Ingredient?, b, null as Ingredient?) -} - -fun MatteryRecipe.rowB(b: ItemLike?): MatteryRecipe { - return this.row(null as ItemLike?, b, null as ItemLike?) -} - -fun MatteryRecipe.rowB(b: TagKey?): MatteryRecipe { - return this.row(null as TagKey?, b, null as TagKey?) -} - -fun MatteryRecipe.rowB(b: Iterable?): MatteryRecipe { - return this.row(null as Iterable?, b, null as Iterable?) -} - -fun MatteryRecipe.rowB(b: Iterator?): MatteryRecipe { - return this.row(null as Iterator?, b, null as Iterator?) -} - -fun MatteryRecipe.rowB(b: Array?): MatteryRecipe { - return this.row(null as Array?, b, null as Array?) -} - -fun MatteryRecipe.rowB(b: Stream?): MatteryRecipe { - return this.row(null as Stream?, b, null as Stream?) -} - -fun MatteryRecipe.rowB(b: ItemStack?): MatteryRecipe { - return this.row(null as ItemStack?, b, null as ItemStack?) -} - -fun MatteryRecipe.rowC(c: Ingredient?): MatteryRecipe { - return this.row(null as Ingredient?, null as Ingredient?, c) -} - -fun MatteryRecipe.rowC(c: ItemLike?): MatteryRecipe { - return this.row(null as ItemLike?, null as ItemLike?, c) -} - -fun MatteryRecipe.rowC(c: TagKey?): MatteryRecipe { - return this.row(null as TagKey?, null as TagKey?, c) -} - -fun MatteryRecipe.rowC(c: Iterable?): MatteryRecipe { - return this.row(null as Iterable?, null as Iterable?, c) -} - -fun MatteryRecipe.rowC(c: Iterator?): MatteryRecipe { - return this.row(null as Iterator?, null as Iterator?, c) -} - -fun MatteryRecipe.rowC(c: Array?): MatteryRecipe { - return this.row(null as Array?, null as Array?, c) -} - -fun MatteryRecipe.rowC(c: Stream?): MatteryRecipe { - return this.row(null as Stream?, null as Stream?, c) -} - -fun MatteryRecipe.rowC(c: ItemStack?): MatteryRecipe { - return this.row(null as ItemStack?, null as ItemStack?, c) -} - -fun MatteryRecipe.rowAB(a: Ingredient?, b: Ingredient?): MatteryRecipe { - return this.row(a, b, null as Ingredient?) -} - -fun MatteryRecipe.rowAB(a: Ingredient?, b: ItemLike?): MatteryRecipe { - return this.row(a, b, null as Ingredient?) -} - -fun MatteryRecipe.rowAB(a: Ingredient?, b: TagKey?): MatteryRecipe { - return this.row(a, b, null as Ingredient?) -} - -fun MatteryRecipe.rowAB(a: Ingredient?, b: Iterable?): MatteryRecipe { - return this.row(a, b, null as Ingredient?) -} - -fun MatteryRecipe.rowAB(a: Ingredient?, b: Iterator?): MatteryRecipe { - return this.row(a, b, null as Ingredient?) -} - -fun MatteryRecipe.rowAB(a: Ingredient?, b: Array?): MatteryRecipe { - return this.row(a, b, null as Ingredient?) -} - -fun MatteryRecipe.rowAB(a: Ingredient?, b: Stream?): MatteryRecipe { - return this.row(a, b, null as Ingredient?) -} - -fun MatteryRecipe.rowAB(a: Ingredient?, b: ItemStack?): MatteryRecipe { - return this.row(a, b, null as Ingredient?) -} - -fun MatteryRecipe.rowAB(a: ItemLike?, b: Ingredient?): MatteryRecipe { - return this.row(a, b, null as ItemLike?) -} - -fun MatteryRecipe.rowAB(a: ItemLike?, b: ItemLike?): MatteryRecipe { - return this.row(a, b, null as ItemLike?) -} - -fun MatteryRecipe.rowAB(a: ItemLike?, b: TagKey?): MatteryRecipe { - return this.row(a, b, null as ItemLike?) -} - -fun MatteryRecipe.rowAB(a: ItemLike?, b: Iterable?): MatteryRecipe { - return this.row(a, b, null as ItemLike?) -} - -fun MatteryRecipe.rowAB(a: ItemLike?, b: Iterator?): MatteryRecipe { - return this.row(a, b, null as ItemLike?) -} - -fun MatteryRecipe.rowAB(a: ItemLike?, b: Array?): MatteryRecipe { - return this.row(a, b, null as ItemLike?) -} - -fun MatteryRecipe.rowAB(a: ItemLike?, b: Stream?): MatteryRecipe { - return this.row(a, b, null as ItemLike?) -} - -fun MatteryRecipe.rowAB(a: ItemLike?, b: ItemStack?): MatteryRecipe { - return this.row(a, b, null as ItemLike?) -} - -fun MatteryRecipe.rowAB(a: TagKey?, b: Ingredient?): MatteryRecipe { - return this.row(a, b, null as TagKey?) -} - -fun MatteryRecipe.rowAB(a: TagKey?, b: ItemLike?): MatteryRecipe { - return this.row(a, b, null as TagKey?) -} - -fun MatteryRecipe.rowAB(a: TagKey?, b: TagKey?): MatteryRecipe { - return this.row(a, b, null as TagKey?) -} - -fun MatteryRecipe.rowAB(a: TagKey?, b: Iterable?): MatteryRecipe { - return this.row(a, b, null as TagKey?) -} - -fun MatteryRecipe.rowAB(a: TagKey?, b: Iterator?): MatteryRecipe { - return this.row(a, b, null as TagKey?) -} - -fun MatteryRecipe.rowAB(a: TagKey?, b: Array?): MatteryRecipe { - return this.row(a, b, null as TagKey?) -} - -fun MatteryRecipe.rowAB(a: TagKey?, b: Stream?): MatteryRecipe { - return this.row(a, b, null as TagKey?) -} - -fun MatteryRecipe.rowAB(a: TagKey?, b: ItemStack?): MatteryRecipe { - return this.row(a, b, null as TagKey?) -} - -fun MatteryRecipe.rowAB(a: Iterable?, b: Ingredient?): MatteryRecipe { - return this.row(a, b, null as Iterable?) -} - -fun MatteryRecipe.rowAB(a: Iterable?, b: ItemLike?): MatteryRecipe { - return this.row(a, b, null as Iterable?) -} - -fun MatteryRecipe.rowAB(a: Iterable?, b: TagKey?): MatteryRecipe { - return this.row(a, b, null as Iterable?) -} - -fun MatteryRecipe.rowAB(a: Iterable?, b: Iterable?): MatteryRecipe { - return this.row(a, b, null as Iterable?) -} - -fun MatteryRecipe.rowAB(a: Iterable?, b: Iterator?): MatteryRecipe { - return this.row(a, b, null as Iterable?) -} - -fun MatteryRecipe.rowAB(a: Iterable?, b: Array?): MatteryRecipe { - return this.row(a, b, null as Iterable?) -} - -fun MatteryRecipe.rowAB(a: Iterable?, b: Stream?): MatteryRecipe { - return this.row(a, b, null as Iterable?) -} - -fun MatteryRecipe.rowAB(a: Iterable?, b: ItemStack?): MatteryRecipe { - return this.row(a, b, null as Iterable?) -} - -fun MatteryRecipe.rowAB(a: Iterator?, b: Ingredient?): MatteryRecipe { - return this.row(a, b, null as Iterator?) -} - -fun MatteryRecipe.rowAB(a: Iterator?, b: ItemLike?): MatteryRecipe { - return this.row(a, b, null as Iterator?) -} - -fun MatteryRecipe.rowAB(a: Iterator?, b: TagKey?): MatteryRecipe { - return this.row(a, b, null as Iterator?) -} - -fun MatteryRecipe.rowAB(a: Iterator?, b: Iterable?): MatteryRecipe { - return this.row(a, b, null as Iterator?) -} - -fun MatteryRecipe.rowAB(a: Iterator?, b: Iterator?): MatteryRecipe { - return this.row(a, b, null as Iterator?) -} - -fun MatteryRecipe.rowAB(a: Iterator?, b: Array?): MatteryRecipe { - return this.row(a, b, null as Iterator?) -} - -fun MatteryRecipe.rowAB(a: Iterator?, b: Stream?): MatteryRecipe { - return this.row(a, b, null as Iterator?) -} - -fun MatteryRecipe.rowAB(a: Iterator?, b: ItemStack?): MatteryRecipe { - return this.row(a, b, null as Iterator?) -} - -fun MatteryRecipe.rowAB(a: Array?, b: Ingredient?): MatteryRecipe { - return this.row(a, b, null as Array?) -} - -fun MatteryRecipe.rowAB(a: Array?, b: ItemLike?): MatteryRecipe { - return this.row(a, b, null as Array?) -} - -fun MatteryRecipe.rowAB(a: Array?, b: TagKey?): MatteryRecipe { - return this.row(a, b, null as Array?) -} - -fun MatteryRecipe.rowAB(a: Array?, b: Iterable?): MatteryRecipe { - return this.row(a, b, null as Array?) -} - -fun MatteryRecipe.rowAB(a: Array?, b: Iterator?): MatteryRecipe { - return this.row(a, b, null as Array?) -} - -fun MatteryRecipe.rowAB(a: Array?, b: Array?): MatteryRecipe { - return this.row(a, b, null as Array?) -} - -fun MatteryRecipe.rowAB(a: Array?, b: Stream?): MatteryRecipe { - return this.row(a, b, null as Array?) -} - -fun MatteryRecipe.rowAB(a: Array?, b: ItemStack?): MatteryRecipe { - return this.row(a, b, null as Array?) -} - -fun MatteryRecipe.rowAB(a: Stream?, b: Ingredient?): MatteryRecipe { - return this.row(a, b, null as Stream?) -} - -fun MatteryRecipe.rowAB(a: Stream?, b: ItemLike?): MatteryRecipe { - return this.row(a, b, null as Stream?) -} - -fun MatteryRecipe.rowAB(a: Stream?, b: TagKey?): MatteryRecipe { - return this.row(a, b, null as Stream?) -} - -fun MatteryRecipe.rowAB(a: Stream?, b: Iterable?): MatteryRecipe { - return this.row(a, b, null as Stream?) -} - -fun MatteryRecipe.rowAB(a: Stream?, b: Iterator?): MatteryRecipe { - return this.row(a, b, null as Stream?) -} - -fun MatteryRecipe.rowAB(a: Stream?, b: Array?): MatteryRecipe { - return this.row(a, b, null as Stream?) -} - -fun MatteryRecipe.rowAB(a: Stream?, b: Stream?): MatteryRecipe { - return this.row(a, b, null as Stream?) -} - -fun MatteryRecipe.rowAB(a: Stream?, b: ItemStack?): MatteryRecipe { - return this.row(a, b, null as Stream?) -} - -fun MatteryRecipe.rowAB(a: ItemStack?, b: Ingredient?): MatteryRecipe { - return this.row(a, b, null as ItemStack?) -} - -fun MatteryRecipe.rowAB(a: ItemStack?, b: ItemLike?): MatteryRecipe { - return this.row(a, b, null as ItemStack?) -} - -fun MatteryRecipe.rowAB(a: ItemStack?, b: TagKey?): MatteryRecipe { - return this.row(a, b, null as ItemStack?) -} - -fun MatteryRecipe.rowAB(a: ItemStack?, b: Iterable?): MatteryRecipe { - return this.row(a, b, null as ItemStack?) -} - -fun MatteryRecipe.rowAB(a: ItemStack?, b: Iterator?): MatteryRecipe { - return this.row(a, b, null as ItemStack?) -} - -fun MatteryRecipe.rowAB(a: ItemStack?, b: Array?): MatteryRecipe { - return this.row(a, b, null as ItemStack?) -} - -fun MatteryRecipe.rowAB(a: ItemStack?, b: Stream?): MatteryRecipe { - return this.row(a, b, null as ItemStack?) -} - -fun MatteryRecipe.rowAB(a: ItemStack?, b: ItemStack?): MatteryRecipe { - return this.row(a, b, null as ItemStack?) -} - -fun MatteryRecipe.rowAC(a: Ingredient?, c: Ingredient?): MatteryRecipe { - return this.row(a, null as Ingredient?, c) -} - -fun MatteryRecipe.rowAC(a: Ingredient?, c: ItemLike?): MatteryRecipe { - return this.row(a, null as Ingredient?, c) -} - -fun MatteryRecipe.rowAC(a: Ingredient?, c: TagKey?): MatteryRecipe { - return this.row(a, null as Ingredient?, c) -} - -fun MatteryRecipe.rowAC(a: Ingredient?, c: Iterable?): MatteryRecipe { - return this.row(a, null as Ingredient?, c) -} - -fun MatteryRecipe.rowAC(a: Ingredient?, c: Iterator?): MatteryRecipe { - return this.row(a, null as Ingredient?, c) -} - -fun MatteryRecipe.rowAC(a: Ingredient?, c: Array?): MatteryRecipe { - return this.row(a, null as Ingredient?, c) -} - -fun MatteryRecipe.rowAC(a: Ingredient?, c: Stream?): MatteryRecipe { - return this.row(a, null as Ingredient?, c) -} - -fun MatteryRecipe.rowAC(a: Ingredient?, c: ItemStack?): MatteryRecipe { - return this.row(a, null as Ingredient?, c) -} - -fun MatteryRecipe.rowAC(a: ItemLike?, c: Ingredient?): MatteryRecipe { - return this.row(a, null as ItemLike?, c) -} - -fun MatteryRecipe.rowAC(a: ItemLike?, c: ItemLike?): MatteryRecipe { - return this.row(a, null as ItemLike?, c) -} - -fun MatteryRecipe.rowAC(a: ItemLike?, c: TagKey?): MatteryRecipe { - return this.row(a, null as ItemLike?, c) -} - -fun MatteryRecipe.rowAC(a: ItemLike?, c: Iterable?): MatteryRecipe { - return this.row(a, null as ItemLike?, c) -} - -fun MatteryRecipe.rowAC(a: ItemLike?, c: Iterator?): MatteryRecipe { - return this.row(a, null as ItemLike?, c) -} - -fun MatteryRecipe.rowAC(a: ItemLike?, c: Array?): MatteryRecipe { - return this.row(a, null as ItemLike?, c) -} - -fun MatteryRecipe.rowAC(a: ItemLike?, c: Stream?): MatteryRecipe { - return this.row(a, null as ItemLike?, c) -} - -fun MatteryRecipe.rowAC(a: ItemLike?, c: ItemStack?): MatteryRecipe { - return this.row(a, null as ItemLike?, c) -} - -fun MatteryRecipe.rowAC(a: TagKey?, c: Ingredient?): MatteryRecipe { - return this.row(a, null as TagKey?, c) -} - -fun MatteryRecipe.rowAC(a: TagKey?, c: ItemLike?): MatteryRecipe { - return this.row(a, null as TagKey?, c) -} - -fun MatteryRecipe.rowAC(a: TagKey?, c: TagKey?): MatteryRecipe { - return this.row(a, null as TagKey?, c) -} - -fun MatteryRecipe.rowAC(a: TagKey?, c: Iterable?): MatteryRecipe { - return this.row(a, null as TagKey?, c) -} - -fun MatteryRecipe.rowAC(a: TagKey?, c: Iterator?): MatteryRecipe { - return this.row(a, null as TagKey?, c) -} - -fun MatteryRecipe.rowAC(a: TagKey?, c: Array?): MatteryRecipe { - return this.row(a, null as TagKey?, c) -} - -fun MatteryRecipe.rowAC(a: TagKey?, c: Stream?): MatteryRecipe { - return this.row(a, null as TagKey?, c) -} - -fun MatteryRecipe.rowAC(a: TagKey?, c: ItemStack?): MatteryRecipe { - return this.row(a, null as TagKey?, c) -} - -fun MatteryRecipe.rowAC(a: Iterable?, c: Ingredient?): MatteryRecipe { - return this.row(a, null as Iterable?, c) -} - -fun MatteryRecipe.rowAC(a: Iterable?, c: ItemLike?): MatteryRecipe { - return this.row(a, null as Iterable?, c) -} - -fun MatteryRecipe.rowAC(a: Iterable?, c: TagKey?): MatteryRecipe { - return this.row(a, null as Iterable?, c) -} - -fun MatteryRecipe.rowAC(a: Iterable?, c: Iterable?): MatteryRecipe { - return this.row(a, null as Iterable?, c) -} - -fun MatteryRecipe.rowAC(a: Iterable?, c: Iterator?): MatteryRecipe { - return this.row(a, null as Iterable?, c) -} - -fun MatteryRecipe.rowAC(a: Iterable?, c: Array?): MatteryRecipe { - return this.row(a, null as Iterable?, c) -} - -fun MatteryRecipe.rowAC(a: Iterable?, c: Stream?): MatteryRecipe { - return this.row(a, null as Iterable?, c) -} - -fun MatteryRecipe.rowAC(a: Iterable?, c: ItemStack?): MatteryRecipe { - return this.row(a, null as Iterable?, c) -} - -fun MatteryRecipe.rowAC(a: Iterator?, c: Ingredient?): MatteryRecipe { - return this.row(a, null as Iterator?, c) -} - -fun MatteryRecipe.rowAC(a: Iterator?, c: ItemLike?): MatteryRecipe { - return this.row(a, null as Iterator?, c) -} - -fun MatteryRecipe.rowAC(a: Iterator?, c: TagKey?): MatteryRecipe { - return this.row(a, null as Iterator?, c) -} - -fun MatteryRecipe.rowAC(a: Iterator?, c: Iterable?): MatteryRecipe { - return this.row(a, null as Iterator?, c) -} - -fun MatteryRecipe.rowAC(a: Iterator?, c: Iterator?): MatteryRecipe { - return this.row(a, null as Iterator?, c) -} - -fun MatteryRecipe.rowAC(a: Iterator?, c: Array?): MatteryRecipe { - return this.row(a, null as Iterator?, c) -} - -fun MatteryRecipe.rowAC(a: Iterator?, c: Stream?): MatteryRecipe { - return this.row(a, null as Iterator?, c) -} - -fun MatteryRecipe.rowAC(a: Iterator?, c: ItemStack?): MatteryRecipe { - return this.row(a, null as Iterator?, c) -} - -fun MatteryRecipe.rowAC(a: Array?, c: Ingredient?): MatteryRecipe { - return this.row(a, null as Array?, c) -} - -fun MatteryRecipe.rowAC(a: Array?, c: ItemLike?): MatteryRecipe { - return this.row(a, null as Array?, c) -} - -fun MatteryRecipe.rowAC(a: Array?, c: TagKey?): MatteryRecipe { - return this.row(a, null as Array?, c) -} - -fun MatteryRecipe.rowAC(a: Array?, c: Iterable?): MatteryRecipe { - return this.row(a, null as Array?, c) -} - -fun MatteryRecipe.rowAC(a: Array?, c: Iterator?): MatteryRecipe { - return this.row(a, null as Array?, c) -} - -fun MatteryRecipe.rowAC(a: Array?, c: Array?): MatteryRecipe { - return this.row(a, null as Array?, c) -} - -fun MatteryRecipe.rowAC(a: Array?, c: Stream?): MatteryRecipe { - return this.row(a, null as Array?, c) -} - -fun MatteryRecipe.rowAC(a: Array?, c: ItemStack?): MatteryRecipe { - return this.row(a, null as Array?, c) -} - -fun MatteryRecipe.rowAC(a: Stream?, c: Ingredient?): MatteryRecipe { - return this.row(a, null as Stream?, c) -} - -fun MatteryRecipe.rowAC(a: Stream?, c: ItemLike?): MatteryRecipe { - return this.row(a, null as Stream?, c) -} - -fun MatteryRecipe.rowAC(a: Stream?, c: TagKey?): MatteryRecipe { - return this.row(a, null as Stream?, c) -} - -fun MatteryRecipe.rowAC(a: Stream?, c: Iterable?): MatteryRecipe { - return this.row(a, null as Stream?, c) -} - -fun MatteryRecipe.rowAC(a: Stream?, c: Iterator?): MatteryRecipe { - return this.row(a, null as Stream?, c) -} - -fun MatteryRecipe.rowAC(a: Stream?, c: Array?): MatteryRecipe { - return this.row(a, null as Stream?, c) -} - -fun MatteryRecipe.rowAC(a: Stream?, c: Stream?): MatteryRecipe { - return this.row(a, null as Stream?, c) -} - -fun MatteryRecipe.rowAC(a: Stream?, c: ItemStack?): MatteryRecipe { - return this.row(a, null as Stream?, c) -} - -fun MatteryRecipe.rowAC(a: ItemStack?, c: Ingredient?): MatteryRecipe { - return this.row(a, null as ItemStack?, c) -} - -fun MatteryRecipe.rowAC(a: ItemStack?, c: ItemLike?): MatteryRecipe { - return this.row(a, null as ItemStack?, c) -} - -fun MatteryRecipe.rowAC(a: ItemStack?, c: TagKey?): MatteryRecipe { - return this.row(a, null as ItemStack?, c) -} - -fun MatteryRecipe.rowAC(a: ItemStack?, c: Iterable?): MatteryRecipe { - return this.row(a, null as ItemStack?, c) -} - -fun MatteryRecipe.rowAC(a: ItemStack?, c: Iterator?): MatteryRecipe { - return this.row(a, null as ItemStack?, c) -} - -fun MatteryRecipe.rowAC(a: ItemStack?, c: Array?): MatteryRecipe { - return this.row(a, null as ItemStack?, c) -} - -fun MatteryRecipe.rowAC(a: ItemStack?, c: Stream?): MatteryRecipe { - return this.row(a, null as ItemStack?, c) -} - -fun MatteryRecipe.rowAC(a: ItemStack?, c: ItemStack?): MatteryRecipe { - return this.row(a, null as ItemStack?, c) -} - -fun MatteryRecipe.rowBC(b: Ingredient?, c: Ingredient?): MatteryRecipe { - return this.row(null as Ingredient?, b, c) -} - -fun MatteryRecipe.rowBC(b: Ingredient?, c: ItemLike?): MatteryRecipe { - return this.row(null as Ingredient?, b, c) -} - -fun MatteryRecipe.rowBC(b: Ingredient?, c: TagKey?): MatteryRecipe { - return this.row(null as Ingredient?, b, c) -} - -fun MatteryRecipe.rowBC(b: Ingredient?, c: Iterable?): MatteryRecipe { - return this.row(null as Ingredient?, b, c) -} - -fun MatteryRecipe.rowBC(b: Ingredient?, c: Iterator?): MatteryRecipe { - return this.row(null as Ingredient?, b, c) -} - -fun MatteryRecipe.rowBC(b: Ingredient?, c: Array?): MatteryRecipe { - return this.row(null as Ingredient?, b, c) -} - -fun MatteryRecipe.rowBC(b: Ingredient?, c: Stream?): MatteryRecipe { - return this.row(null as Ingredient?, b, c) -} - -fun MatteryRecipe.rowBC(b: Ingredient?, c: ItemStack?): MatteryRecipe { - return this.row(null as Ingredient?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemLike?, c: Ingredient?): MatteryRecipe { - return this.row(null as ItemLike?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemLike?, c: ItemLike?): MatteryRecipe { - return this.row(null as ItemLike?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemLike?, c: TagKey?): MatteryRecipe { - return this.row(null as ItemLike?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemLike?, c: Iterable?): MatteryRecipe { - return this.row(null as ItemLike?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemLike?, c: Iterator?): MatteryRecipe { - return this.row(null as ItemLike?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemLike?, c: Array?): MatteryRecipe { - return this.row(null as ItemLike?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemLike?, c: Stream?): MatteryRecipe { - return this.row(null as ItemLike?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemLike?, c: ItemStack?): MatteryRecipe { - return this.row(null as ItemLike?, b, c) -} - -fun MatteryRecipe.rowBC(b: TagKey?, c: Ingredient?): MatteryRecipe { - return this.row(null as TagKey?, b, c) -} - -fun MatteryRecipe.rowBC(b: TagKey?, c: ItemLike?): MatteryRecipe { - return this.row(null as TagKey?, b, c) -} - -fun MatteryRecipe.rowBC(b: TagKey?, c: TagKey?): MatteryRecipe { - return this.row(null as TagKey?, b, c) -} - -fun MatteryRecipe.rowBC(b: TagKey?, c: Iterable?): MatteryRecipe { - return this.row(null as TagKey?, b, c) -} - -fun MatteryRecipe.rowBC(b: TagKey?, c: Iterator?): MatteryRecipe { - return this.row(null as TagKey?, b, c) -} - -fun MatteryRecipe.rowBC(b: TagKey?, c: Array?): MatteryRecipe { - return this.row(null as TagKey?, b, c) -} - -fun MatteryRecipe.rowBC(b: TagKey?, c: Stream?): MatteryRecipe { - return this.row(null as TagKey?, b, c) -} - -fun MatteryRecipe.rowBC(b: TagKey?, c: ItemStack?): MatteryRecipe { - return this.row(null as TagKey?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterable?, c: Ingredient?): MatteryRecipe { - return this.row(null as Iterable?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterable?, c: ItemLike?): MatteryRecipe { - return this.row(null as Iterable?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterable?, c: TagKey?): MatteryRecipe { - return this.row(null as Iterable?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterable?, c: Iterable?): MatteryRecipe { - return this.row(null as Iterable?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterable?, c: Iterator?): MatteryRecipe { - return this.row(null as Iterable?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterable?, c: Array?): MatteryRecipe { - return this.row(null as Iterable?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterable?, c: Stream?): MatteryRecipe { - return this.row(null as Iterable?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterable?, c: ItemStack?): MatteryRecipe { - return this.row(null as Iterable?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterator?, c: Ingredient?): MatteryRecipe { - return this.row(null as Iterator?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterator?, c: ItemLike?): MatteryRecipe { - return this.row(null as Iterator?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterator?, c: TagKey?): MatteryRecipe { - return this.row(null as Iterator?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterator?, c: Iterable?): MatteryRecipe { - return this.row(null as Iterator?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterator?, c: Iterator?): MatteryRecipe { - return this.row(null as Iterator?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterator?, c: Array?): MatteryRecipe { - return this.row(null as Iterator?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterator?, c: Stream?): MatteryRecipe { - return this.row(null as Iterator?, b, c) -} - -fun MatteryRecipe.rowBC(b: Iterator?, c: ItemStack?): MatteryRecipe { - return this.row(null as Iterator?, b, c) -} - -fun MatteryRecipe.rowBC(b: Array?, c: Ingredient?): MatteryRecipe { - return this.row(null as Array?, b, c) -} - -fun MatteryRecipe.rowBC(b: Array?, c: ItemLike?): MatteryRecipe { - return this.row(null as Array?, b, c) -} - -fun MatteryRecipe.rowBC(b: Array?, c: TagKey?): MatteryRecipe { - return this.row(null as Array?, b, c) -} - -fun MatteryRecipe.rowBC(b: Array?, c: Iterable?): MatteryRecipe { - return this.row(null as Array?, b, c) -} - -fun MatteryRecipe.rowBC(b: Array?, c: Iterator?): MatteryRecipe { - return this.row(null as Array?, b, c) -} - -fun MatteryRecipe.rowBC(b: Array?, c: Array?): MatteryRecipe { - return this.row(null as Array?, b, c) -} - -fun MatteryRecipe.rowBC(b: Array?, c: Stream?): MatteryRecipe { - return this.row(null as Array?, b, c) -} - -fun MatteryRecipe.rowBC(b: Array?, c: ItemStack?): MatteryRecipe { - return this.row(null as Array?, b, c) -} - -fun MatteryRecipe.rowBC(b: Stream?, c: Ingredient?): MatteryRecipe { - return this.row(null as Stream?, b, c) -} - -fun MatteryRecipe.rowBC(b: Stream?, c: ItemLike?): MatteryRecipe { - return this.row(null as Stream?, b, c) -} - -fun MatteryRecipe.rowBC(b: Stream?, c: TagKey?): MatteryRecipe { - return this.row(null as Stream?, b, c) -} - -fun MatteryRecipe.rowBC(b: Stream?, c: Iterable?): MatteryRecipe { - return this.row(null as Stream?, b, c) -} - -fun MatteryRecipe.rowBC(b: Stream?, c: Iterator?): MatteryRecipe { - return this.row(null as Stream?, b, c) -} - -fun MatteryRecipe.rowBC(b: Stream?, c: Array?): MatteryRecipe { - return this.row(null as Stream?, b, c) -} - -fun MatteryRecipe.rowBC(b: Stream?, c: Stream?): MatteryRecipe { - return this.row(null as Stream?, b, c) -} - -fun MatteryRecipe.rowBC(b: Stream?, c: ItemStack?): MatteryRecipe { - return this.row(null as Stream?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemStack?, c: Ingredient?): MatteryRecipe { - return this.row(null as ItemStack?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemStack?, c: ItemLike?): MatteryRecipe { - return this.row(null as ItemStack?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemStack?, c: TagKey?): MatteryRecipe { - return this.row(null as ItemStack?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemStack?, c: Iterable?): MatteryRecipe { - return this.row(null as ItemStack?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemStack?, c: Iterator?): MatteryRecipe { - return this.row(null as ItemStack?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemStack?, c: Array?): MatteryRecipe { - return this.row(null as ItemStack?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemStack?, c: Stream?): MatteryRecipe { - return this.row(null as ItemStack?, b, c) -} - -fun MatteryRecipe.rowBC(b: ItemStack?, c: ItemStack?): MatteryRecipe { - return this.row(null as ItemStack?, b, c) -}