package moe.nea.firmament.repo.recipes import io.github.moulberry.repo.NEURepository import io.github.moulberry.repo.data.NEURecipe import me.shedaniel.math.Rectangle import net.minecraft.world.item.ItemStack import net.minecraft.network.chat.Component import net.minecraft.resources.ResourceLocation import moe.nea.firmament.repo.SBItemStack interface GenericRecipeRenderer { fun render(recipe: T, bounds: Rectangle, layouter: RecipeLayouter, mainItem: SBItemStack?) fun getInputs(recipe: T): Collection fun getOutputs(recipe: T): Collection val icon: ItemStack val title: Component val identifier: ResourceLocation fun findAllRecipes(neuRepository: NEURepository): Iterable fun discoverExtraRecipes(neuRepository: NEURepository, itemStack: SBItemStack, mustBeInOutputs: Boolean): Iterable = emptyList() val displayHeight: Int get() = 66 val displayWidth: Int get() = 150 val typ: Class }