Add screen rendering events for buttons

This commit is contained in:
nea
2023-07-13 18:23:46 +02:00
parent 637864fc4f
commit ce7fd22553
5 changed files with 54 additions and 4 deletions

View File

@@ -0,0 +1,10 @@
package moe.nea.firmament.events
import net.minecraft.client.gui.screen.ingame.HandledScreen
data class HandledScreenForegroundEvent(
val screen: HandledScreen<*>,
val mouseX: Int, val mouseY: Int, val delta: Float
) : FirmamentEvent() {
companion object : FirmamentEventBus<HandledScreenForegroundEvent>()
}

View File

@@ -0,0 +1,16 @@
package moe.nea.firmament.events
import me.shedaniel.math.Rectangle
import net.minecraft.client.gui.screen.ingame.HandledScreen
data class HandledScreenPushREIEvent(
val screen: HandledScreen<*>,
val rectangles: MutableList<Rectangle> = mutableListOf()
) : FirmamentEvent() {
fun block(rectangle: Rectangle) {
rectangles.add(rectangle)
}
companion object : FirmamentEventBus<HandledScreenPushREIEvent>()
}

View File

@@ -0,0 +1,8 @@
package moe.nea.firmament.events
import net.minecraft.client.gui.screen.ingame.HandledScreen
data class ScreenClickEvent(val screen: HandledScreen<*>, val mouseX: Double, val mouseY: Double, val button: Int) :
FirmamentEvent.Cancellable() {
companion object : FirmamentEventBus<ScreenClickEvent>()
}