aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/firmament/util/customgui
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-08-28 19:04:24 +0200
committerLinnea Gräf <nea@nea.moe>2024-08-28 19:04:24 +0200
commitd2f240ff0ca0d27f417f837e706c781a98c31311 (patch)
tree0db7aff6cc14deaf36eed83889d59fd6b3a6f599 /src/main/kotlin/moe/nea/firmament/util/customgui
parenta6906308163aa3b2d18fa1dc1aa71ac9bbcc83ab (diff)
downloadFirmament-d2f240ff0ca0d27f417f837e706c781a98c31311.tar.gz
Firmament-d2f240ff0ca0d27f417f837e706c781a98c31311.tar.bz2
Firmament-d2f240ff0ca0d27f417f837e706c781a98c31311.zip
Refactor source layout
Introduce compat source sets and move all kotlin sources to the main directory [no changelog]
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/util/customgui')
-rw-r--r--src/main/kotlin/moe/nea/firmament/util/customgui/CoordRememberingSlot.kt14
-rw-r--r--src/main/kotlin/moe/nea/firmament/util/customgui/CustomGui.kt72
-rw-r--r--src/main/kotlin/moe/nea/firmament/util/customgui/HasCustomGui.kt17
3 files changed, 0 insertions, 103 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/util/customgui/CoordRememberingSlot.kt b/src/main/kotlin/moe/nea/firmament/util/customgui/CoordRememberingSlot.kt
deleted file mode 100644
index c61c711..0000000
--- a/src/main/kotlin/moe/nea/firmament/util/customgui/CoordRememberingSlot.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-
-package moe.nea.firmament.util.customgui
-
-import net.minecraft.screen.slot.Slot
-
-interface CoordRememberingSlot {
- fun rememberCoords_firmament()
- fun restoreCoords_firmament()
- fun getOriginalX_firmament(): Int
- fun getOriginalY_firmament(): Int
-}
-
-val Slot.originalX get() = (this as CoordRememberingSlot).getOriginalX_firmament()
-val Slot.originalY get() = (this as CoordRememberingSlot).getOriginalY_firmament()
diff --git a/src/main/kotlin/moe/nea/firmament/util/customgui/CustomGui.kt b/src/main/kotlin/moe/nea/firmament/util/customgui/CustomGui.kt
deleted file mode 100644
index f9094b2..0000000
--- a/src/main/kotlin/moe/nea/firmament/util/customgui/CustomGui.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-
-package moe.nea.firmament.util.customgui
-
-import me.shedaniel.math.Rectangle
-import net.minecraft.client.gui.DrawContext
-import net.minecraft.screen.slot.Slot
-import moe.nea.firmament.annotations.Subscribe
-import moe.nea.firmament.events.HandledScreenPushREIEvent
-
-abstract class CustomGui {
-
- abstract fun getBounds(): List<Rectangle>
-
- open fun moveSlot(slot: Slot) {
- // TODO: return a Pair maybe? worth an investigation
- }
-
- companion object {
- @Subscribe
- fun onExclusionZone(event: HandledScreenPushREIEvent) {
- val customGui = event.screen.customGui ?: return
- event.rectangles.addAll(customGui.getBounds())
- }
- }
-
- open fun render(
- drawContext: DrawContext,
- delta: Float,
- mouseX: Int,
- mouseY: Int
- ) {
- }
-
- open fun mouseClick(mouseX: Double, mouseY: Double, button: Int): Boolean {
- return false
- }
-
- open fun afterSlotRender(context: DrawContext, slot: Slot) {}
- open fun beforeSlotRender(context: DrawContext, slot: Slot) {}
- open fun mouseScrolled(mouseX: Double, mouseY: Double, horizontalAmount: Double, verticalAmount: Double): Boolean {
- return false
- }
-
- open fun isClickOutsideBounds(mouseX: Double, mouseY: Double): Boolean {
- return getBounds().none { it.contains(mouseX, mouseY) }
- }
-
- open fun isPointWithinBounds(
- x: Int,
- y: Int,
- width: Int,
- height: Int,
- pointX: Double,
- pointY: Double,
- ): Boolean {
- return getBounds().any { it.contains(pointX, pointY) } &&
- Rectangle(x, y, width, height).contains(pointX, pointY)
- }
-
- open fun isPointOverSlot(slot: Slot, xOffset: Int, yOffset: Int, pointX: Double, pointY: Double): Boolean {
- return isPointWithinBounds(slot.x + xOffset, slot.y + yOffset, 16, 16, pointX, pointY)
- }
-
- open fun onInit() {}
- open fun shouldDrawForeground(): Boolean {
- return true
- }
-
- open fun onVoluntaryExit(): Boolean {
- return true
- }
-}
diff --git a/src/main/kotlin/moe/nea/firmament/util/customgui/HasCustomGui.kt b/src/main/kotlin/moe/nea/firmament/util/customgui/HasCustomGui.kt
deleted file mode 100644
index edead2e..0000000
--- a/src/main/kotlin/moe/nea/firmament/util/customgui/HasCustomGui.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-
-package moe.nea.firmament.util.customgui
-
-import net.minecraft.client.gui.screen.ingame.HandledScreen
-
-@Suppress("FunctionName")
-interface HasCustomGui {
- fun getCustomGui_Firmament(): CustomGui?
- fun setCustomGui_Firmament(gui: CustomGui?)
-}
-
-var <T : HandledScreen<*>> T.customGui: CustomGui?
- get() = (this as HasCustomGui).getCustomGui_Firmament()
- set(value) {
- (this as HasCustomGui).setCustomGui_Firmament(value)
- }
-