Add Inventory Buttons

This commit is contained in:
nea
2023-10-28 03:36:11 +02:00
committed by Linnea Gräf
parent 47fbb25ab2
commit e15406e22e
24 changed files with 683 additions and 9 deletions

View File

@@ -0,0 +1,49 @@
/*
* SPDX-FileCopyrightText: 2023 Linnea Gräf <nea@nea.moe>
*
* SPDX-License-Identifier: GPL-3.0-or-later
*/
package moe.nea.firmament.util
import io.github.moulberry.moulconfig.gui.GuiContext
import io.github.moulberry.moulconfig.gui.GuiImmediateContext
import io.github.notenoughupdates.moulconfig.gui.GuiComponentWrapper
import me.shedaniel.math.Point
import net.minecraft.client.gui.DrawContext
import moe.nea.firmament.util.MC
class MoulConfigFragment(
context: GuiContext,
val position: Point,
val dismiss: () -> Unit
) : GuiComponentWrapper(context) {
init {
this.init(MC.instance, MC.screen!!.width, MC.screen!!.height)
}
override fun createContext(drawContext: DrawContext?): GuiImmediateContext {
val oldContext = super.createContext(drawContext)
return oldContext.translated(
position.x,
position.y,
context.root.width,
context.root.height,
)
}
override fun render(drawContext: DrawContext?, i: Int, j: Int, f: Float) {
val ctx = createContext(drawContext)
val m = drawContext!!.matrices
m.push()
m.translate(position.x.toFloat(), position.y.toFloat(), 0F)
context.root.render(ctx)
m.pop()
ctx.renderContext.doDrawTooltip()
}
override fun close() {
dismiss()
}
}