diff options
author | nea <nea@nea.moe> | 2023-10-28 03:36:11 +0200 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2023-11-12 09:35:33 +0100 |
commit | e15406e22ef65b4933274df791632b6c17f594be (patch) | |
tree | e1625c713bf95e9f0cb65dfe9a7c9b9ceaa46402 /src/main/kotlin/moe/nea/firmament/util/MoulConfigFragment.kt | |
parent | 47fbb25ab280b6af9496780672780db78fe36f27 (diff) | |
download | firmament-e15406e22ef65b4933274df791632b6c17f594be.tar.gz firmament-e15406e22ef65b4933274df791632b6c17f594be.tar.bz2 firmament-e15406e22ef65b4933274df791632b6c17f594be.zip |
Add Inventory Buttons
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/util/MoulConfigFragment.kt')
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/util/MoulConfigFragment.kt | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/util/MoulConfigFragment.kt b/src/main/kotlin/moe/nea/firmament/util/MoulConfigFragment.kt new file mode 100644 index 0000000..bb4a860 --- /dev/null +++ b/src/main/kotlin/moe/nea/firmament/util/MoulConfigFragment.kt @@ -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() + } +} |