feat: Add Storage overlay search
This commit is contained in:
@@ -7,6 +7,7 @@ import io.github.notenoughupdates.moulconfig.gui.GuiComponent
|
||||
import io.github.notenoughupdates.moulconfig.gui.GuiComponentWrapper
|
||||
import io.github.notenoughupdates.moulconfig.gui.GuiContext
|
||||
import io.github.notenoughupdates.moulconfig.gui.GuiImmediateContext
|
||||
import io.github.notenoughupdates.moulconfig.gui.KeyboardEvent
|
||||
import io.github.notenoughupdates.moulconfig.gui.MouseEvent
|
||||
import io.github.notenoughupdates.moulconfig.observer.GetSetter
|
||||
import io.github.notenoughupdates.moulconfig.platform.ModernRenderContext
|
||||
@@ -247,6 +248,18 @@ object MoulConfigUtils {
|
||||
}
|
||||
}
|
||||
|
||||
fun typeMCComponentInPlace(
|
||||
component: GuiComponent,
|
||||
x: Int,
|
||||
y: Int,
|
||||
w: Int,
|
||||
h: Int,
|
||||
keyboardEvent: KeyboardEvent
|
||||
): Boolean {
|
||||
val immContext = createInPlaceFullContext(null, IMinecraft.instance.mouseX, IMinecraft.instance.mouseY)
|
||||
return component.keyboardEvent(keyboardEvent, immContext.translated(x, y, w, h))
|
||||
}
|
||||
|
||||
fun clickMCComponentInPlace(
|
||||
component: GuiComponent,
|
||||
x: Int,
|
||||
|
||||
@@ -10,4 +10,13 @@ object StringUtil {
|
||||
}
|
||||
|
||||
fun Iterable<String>.unwords() = joinToString(" ")
|
||||
fun nextLexicographicStringOfSameLength(string: String): String {
|
||||
val next = StringBuilder(string)
|
||||
while (next.lastOrNull() == Character.MAX_VALUE) next.setLength(next.length - 1)
|
||||
if (next.isEmpty()) return "" // There is no upper bound. Fall back to the empty string
|
||||
val lastIdx = next.indices.last
|
||||
next[lastIdx] = (next[lastIdx] + 1)
|
||||
return next.toString()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -76,4 +76,16 @@ abstract class CustomGui {
|
||||
open fun mouseDragged(mouseX: Double, mouseY: Double, button: Int, deltaX: Double, deltaY: Double): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
open fun keyPressed(keyCode: Int, scanCode: Int, modifiers: Int): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
open fun charTyped(chr: Char, modifiers: Int): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
open fun keyReleased(keyCode: Int, scanCode: Int, modifiers: Int): Boolean {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user