From ab992664490f6ffd3ad9b7f7aba529a6b6e928a9 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:26:10 +0200 Subject: Allowing clicks on the farming weight overlay --- src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt | 15 +++++++++++++++ .../at/hannibal2/skyhanni/utils/renderables/Renderable.kt | 11 ++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) (limited to 'src/main/java/at/hannibal2/skyhanni/utils') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt index ce676656e..dce61bf03 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt @@ -5,6 +5,7 @@ import at.hannibal2.skyhanni.data.GuiEditManager import at.hannibal2.skyhanni.data.GuiEditManager.Companion.getAbsX import at.hannibal2.skyhanni.data.GuiEditManager.Companion.getAbsY import at.hannibal2.skyhanni.events.GuiRenderItemEvent +import at.hannibal2.skyhanni.utils.LorenzUtils.addAsSingletonList import at.hannibal2.skyhanni.utils.renderables.Renderable import io.github.moulberry.moulconfig.internal.TextRenderUtils import io.github.moulberry.notenoughupdates.util.Utils @@ -402,6 +403,20 @@ object RenderUtils { GuiEditManager.add(this, posLabel, longestX, offsetY) } + fun Position.renderRenderables( + renderables: List, + extraSpace: Int = 0, + itemScale: Double = 1.0, + posLabel: String, + ) { + if (renderables.isEmpty()) return + val list = mutableListOf>() + for (line in renderables) { + list.addAsSingletonList(line) + } + renderStringsAndItems(list, extraSpace, itemScale, posLabel) + } + /** * Accepts a list of lines to print. * Each line is a list of things to print. Can print String or ItemStack objects. diff --git a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt index a4a3f1460..8884e5452 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt @@ -13,6 +13,7 @@ import net.minecraft.client.gui.inventory.GuiEditSign import net.minecraft.client.renderer.GlStateManager import net.minecraft.item.ItemStack import org.lwjgl.input.Mouse +import java.util.Collections import kotlin.math.max interface Renderable { @@ -105,7 +106,11 @@ interface Renderable { override fun render(posX: Int, posY: Int) { val isDown = Mouse.isButtonDown(button) - if (isDown > wasDown && isHovered(posX, posY) && condition() && shouldAllowLink(true, bypassChecks)) { + if (isDown > wasDown && isHovered(posX, posY) && condition() && shouldAllowLink( + true, + bypassChecks + ) + ) { onClick() } wasDown = isDown @@ -227,6 +232,10 @@ interface Renderable { } } + fun singeltonString(string: String): List { + return Collections.singletonList(string(string)) + } + fun string(string: String) = object : Renderable { override val width: Int get() = Minecraft.getMinecraft().fontRendererObj.getStringWidth(string) -- cgit