From d3cd3c4ff4c51a8f047d396fb5edbb7cf523ca84 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal002@users.noreply.github.com> Date: Sun, 7 Apr 2024 14:23:06 +0200 Subject: Improvement: fillTable now uses Renderable.table (#1376) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../at/hannibal2/skyhanni/utils/LorenzUtils.kt | 23 ++++++++++------------ 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/utils') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt index ef98c1264..77c776043 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt @@ -170,26 +170,23 @@ object LorenzUtils { fun getPlayerName(): String = Minecraft.getMinecraft().thePlayer.name - fun MutableList>.fillTable(data: List) { + fun fillTable(data: List, padding: Int = 1, itemScale: Double = 1.0): Renderable { val sorted = data.sortedByDescending { it.sort } - val renderer = Minecraft.getMinecraft().fontRendererObj - val longest = sorted.maxOfOrNull { renderer.getStringWidth(it.left.removeColor()) } ?: 0 + val outerList = mutableListOf>() for (entry in sorted) { - var displayName = entry.left - while (renderer.getStringWidth(displayName.removeColor()) < longest) { - displayName += " " - } - - val renderable = Renderable.hoverTips( - "$displayName ${entry.right}", + val item = entry.item.getItemStackOrNull()?.let { + Renderable.itemStack(it, scale = itemScale) + } ?: continue + val left = Renderable.hoverTips( + entry.left, tips = entry.hover, highlightsOnHoverSlots = entry.highlightsOnHoverSlots ) - entry.item.getItemStackOrNull()?.let { - add(listOf(it, renderable)) - } + val right = Renderable.string(entry.right) + outerList.add(listOf(item, left, right)) } + return Renderable.table(outerList, xPadding = 5, yPadding = padding) } fun setTextIntoSign(text: String, line: Int = 0) { -- cgit