aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-07-29 00:23:17 +0200
committerLinnea Gräf <nea@nea.moe>2024-07-29 00:23:17 +0200
commitfcee10e493e7f09639c2933e278ae81bdeee60b3 (patch)
tree193e72ae9c2b04aca4532605847a53eeeb143889
parent60994a08677d864f79de58d8912b02d2d7077289 (diff)
downloadfirmament-fcee10e493e7f09639c2933e278ae81bdeee60b3.tar.gz
firmament-fcee10e493e7f09639c2933e278ae81bdeee60b3.tar.bz2
firmament-fcee10e493e7f09639c2933e278ae81bdeee60b3.zip
Fix inventory buttons overlapping in storage overlay (also fixes skyblocker)
-rw-r--r--src/main/java/moe/nea/firmament/mixins/accessor/AccessorHandledScreen.java11
-rw-r--r--src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java1
-rw-r--r--src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayCustom.kt6
-rw-r--r--src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayScreen.kt4
4 files changed, 20 insertions, 2 deletions
diff --git a/src/main/java/moe/nea/firmament/mixins/accessor/AccessorHandledScreen.java b/src/main/java/moe/nea/firmament/mixins/accessor/AccessorHandledScreen.java
index 2e9879d..4472586 100644
--- a/src/main/java/moe/nea/firmament/mixins/accessor/AccessorHandledScreen.java
+++ b/src/main/java/moe/nea/firmament/mixins/accessor/AccessorHandledScreen.java
@@ -21,14 +21,25 @@ public interface AccessorHandledScreen {
@Accessor("backgroundWidth")
int getBackgroundWidth_Firmament();
+ @Accessor("backgroundWidth")
+ void setBackgroundWidth_Firmament(int newBackgroundWidth);
+
@Accessor("backgroundHeight")
int getBackgroundHeight_Firmament();
+ @Accessor("backgroundHeight")
+ void setBackgroundHeight_Firmament(int newBackgroundHeight);
+
@Accessor("x")
int getX_Firmament();
+ @Accessor("x")
+ void setX_Firmament(int newX);
+
@Accessor("y")
int getY_Firmament();
+ @Accessor("y")
+ void setY_Firmament(int newY);
}
diff --git a/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java b/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java
index 59dc259..f77107e 100644
--- a/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java
+++ b/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java
@@ -27,7 +27,6 @@ import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.ModifyVariable;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayCustom.kt b/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayCustom.kt
index a349c0f..3619f18 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayCustom.kt
+++ b/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayCustom.kt
@@ -42,6 +42,12 @@ class StorageOverlayCustom(
override fun onInit() {
overview.init(MinecraftClient.getInstance(), screen.width, screen.height)
+ overview.init()
+ screen as AccessorHandledScreen
+ screen.x_Firmament = overview.measurements.x
+ screen.y_Firmament = overview.measurements.y
+ screen.backgroundWidth_Firmament = overview.measurements.totalWidth
+ screen.backgroundHeight_Firmament = overview.measurements.totalHeight
}
override fun isPointOverSlot(slot: Slot, xOffset: Int, yOffset: Int, pointX: Double, pointY: Double): Boolean {
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayScreen.kt b/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayScreen.kt
index c371eb4..62d9952 100644
--- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayScreen.kt
+++ b/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/StorageOverlayScreen.kt
@@ -48,12 +48,14 @@ class StorageOverlayScreen : Screen(Text.literal("")) {
val y = height / 2 - (overviewHeight + PLAYER_HEIGHT) / 2
val playerX = width / 2 - PLAYER_WIDTH / 2
val playerY = y + overviewHeight - PLAYER_Y_INSET
+ val totalWidth = overviewWidth
+ val totalHeight = overviewWidth - PLAYER_Y_INSET + PLAYER_HEIGHT
}
var measurements = Measurements()
var lastRenderedInnerHeight = 0
- override fun init() {
+ public override fun init() {
super.init()
pageWidthCount = StorageOverlay.TConfig.columns
.coerceAtMost((width - PADDING) / (PAGE_WIDTH + PADDING))