1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
package moe.nea.firmament.features.items.recipes
import io.github.notenoughupdates.moulconfig.gui.GuiComponent
import io.github.notenoughupdates.moulconfig.gui.MouseEvent
import me.shedaniel.math.Dimension
import me.shedaniel.math.Point
import net.minecraft.client.gui.GuiGraphics
import net.minecraft.client.input.MouseButtonEvent
import moe.nea.firmament.util.MoulConfigUtils.createAndTranslateFullContext
class MoulConfigWidget(
val component: GuiComponent,
override var position: Point,
override val size: Dimension,
) : RecipeWidget() {
override fun render(
guiGraphics: GuiGraphics,
mouseX: Int,
mouseY: Int,
partialTick: Float
) {
createAndTranslateFullContext(
guiGraphics, mouseX, mouseY, rect,
component::render
)
}
override fun mouseClicked(event: MouseButtonEvent, isDoubleClick: Boolean): Boolean {
return createAndTranslateFullContext(null, event.x.toInt(), event.y.toInt(), rect) {
component.mouseEvent(MouseEvent.Click(event.button(), true), it)
}
}
override fun mouseMoved(mouseX: Double, mouseY: Double) {
createAndTranslateFullContext(null, mouseX, mouseY, rect) {
component.mouseEvent(MouseEvent.Move(0F, 0F), it)
}
}
override fun mouseReleased(event: MouseButtonEvent): Boolean {
return createAndTranslateFullContext(null, event.x, event.y, rect) {
component.mouseEvent(MouseEvent.Click(event.button(), false), it)
}
}
}
|