aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/features/items/recipes/TooltipWidget.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/features/items/recipes/TooltipWidget.kt')
-rw-r--r--src/main/kotlin/features/items/recipes/TooltipWidget.kt30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/kotlin/features/items/recipes/TooltipWidget.kt b/src/main/kotlin/features/items/recipes/TooltipWidget.kt
new file mode 100644
index 0000000..87feb61
--- /dev/null
+++ b/src/main/kotlin/features/items/recipes/TooltipWidget.kt
@@ -0,0 +1,30 @@
+package moe.nea.firmament.features.items.recipes
+
+import me.shedaniel.math.Dimension
+import me.shedaniel.math.Point
+import me.shedaniel.math.Rectangle
+import net.minecraft.client.gui.GuiGraphics
+import net.minecraft.network.chat.Component
+import moe.nea.firmament.repo.recipes.RecipeLayouter
+
+class TooltipWidget(
+ override var position: Point,
+ override val size: Dimension,
+ label: List<Component>
+) : RecipeWidget(), RecipeLayouter.Updater<List<Component>> {
+ override fun update(newValue: List<Component>) {
+ this.formattedComponent = newValue.map { it.visualOrderText }
+ }
+
+ var formattedComponent = label.map { it.visualOrderText }
+ override fun render(
+ guiGraphics: GuiGraphics,
+ mouseX: Int,
+ mouseY: Int,
+ partialTick: Float
+ ) {
+ if (rect.contains(mouseX, mouseY))
+ guiGraphics.setTooltipForNextFrame(formattedComponent, mouseX, mouseY)
+ }
+
+}