diff options
author | hannibal2 <24389977+hannibal002@users.noreply.github.com> | 2024-04-07 14:23:06 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-07 14:23:06 +0200 |
commit | d3cd3c4ff4c51a8f047d396fb5edbb7cf523ca84 (patch) | |
tree | 2fec2b35a50cea15ea7da188549cc3fd21b8ee82 /src/main/java/at/hannibal2/skyhanni/utils | |
parent | fcd404d862b4b051474898076fcc06b406d1ea91 (diff) | |
download | skyhanni-d3cd3c4ff4c51a8f047d396fb5edbb7cf523ca84.tar.gz skyhanni-d3cd3c4ff4c51a8f047d396fb5edbb7cf523ca84.tar.bz2 skyhanni-d3cd3c4ff4c51a8f047d396fb5edbb7cf523ca84.zip |
Improvement: fillTable now uses Renderable.table (#1376)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt | 23 |
1 files changed, 10 insertions, 13 deletions
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<List<Any>>.fillTable(data: List<DisplayTableEntry>) { + fun fillTable(data: List<DisplayTableEntry>, 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<List<Renderable>>() 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) { |