summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt15
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt11
2 files changed, 25 insertions, 1 deletions
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<Renderable>,
+ extraSpace: Int = 0,
+ itemScale: Double = 1.0,
+ posLabel: String,
+ ) {
+ if (renderables.isEmpty()) return
+ val list = mutableListOf<List<Any>>()
+ 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<Renderable> {
+ return Collections.singletonList(string(string))
+ }
+
fun string(string: String) = object : Renderable {
override val width: Int
get() = Minecraft.getMinecraft().fontRendererObj.getStringWidth(string)