diff options
| author | Linnea Gräf <nea@nea.moe> | 2025-11-20 12:49:54 +0100 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2025-11-20 12:49:54 +0100 |
| commit | 709c32ed2788c15f9f03a1bcbe6648e533e662c6 (patch) | |
| tree | a895baaade1b0c01ce51340a63dfb6d0b5777f9e /src/main/kotlin/features/items/recipes/RecipeScreen.kt | |
| parent | 5d9b084be9af0f97adad002f3389add22ebf07e5 (diff) | |
| download | Firmament-709c32ed2788c15f9f03a1bcbe6648e533e662c6.tar.gz Firmament-709c32ed2788c15f9f03a1bcbe6648e533e662c6.tar.bz2 Firmament-709c32ed2788c15f9f03a1bcbe6648e533e662c6.zip | |
feat: basic screen recipe renderer
Diffstat (limited to 'src/main/kotlin/features/items/recipes/RecipeScreen.kt')
| -rw-r--r-- | src/main/kotlin/features/items/recipes/RecipeScreen.kt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/kotlin/features/items/recipes/RecipeScreen.kt b/src/main/kotlin/features/items/recipes/RecipeScreen.kt new file mode 100644 index 0000000..c94839d --- /dev/null +++ b/src/main/kotlin/features/items/recipes/RecipeScreen.kt @@ -0,0 +1,29 @@ +package moe.nea.firmament.features.items.recipes + +import me.shedaniel.math.Rectangle +import net.minecraft.client.gui.screens.Screen +import moe.nea.firmament.repo.SBItemStack +import moe.nea.firmament.util.tr + +class RecipeScreen( + val recipes: RenderableRecipe<*>, +) : Screen(tr("firmament.recipe.screen", "SkyBlock Recipe")) { + + lateinit var layoutedRecipe: StandaloneRecipeRenderer + override fun init() {// TODO: wrap all of this in a scroll layout + super.init() + val bounds = Rectangle( + width / 2 - recipes.renderer.displayWidth / 2, + height / 2 - recipes.renderer.displayHeight / 2, + recipes.renderer.displayWidth, + recipes.renderer.displayHeight + ) + layoutedRecipe = recipes.render(bounds) + layoutedRecipe.widgets.forEach(this::addRenderableWidget) + } + + override fun tick() { + super.tick() + layoutedRecipe.tick() + } +} |
