aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-08-05 17:46:32 +0200
committerLinnea Gräf <nea@nea.moe>2025-08-05 17:46:32 +0200
commite362b95b3ee70fa5745463fc78507e230b607c3f (patch)
tree0cffe1404498d7a93699daeeb84bb1b75b930ec1 /src/main/kotlin/util
parent2422c98cc5bc2c9e96d1da6b71f5bb1b75ae3d69 (diff)
downloadFirmament-e362b95b3ee70fa5745463fc78507e230b607c3f.tar.gz
Firmament-e362b95b3ee70fa5745463fc78507e230b607c3f.tar.bz2
Firmament-e362b95b3ee70fa5745463fc78507e230b607c3f.zip
fix: Prefer natural vanilla item stacks over repo item stacks
Diffstat (limited to 'src/main/kotlin/util')
-rw-r--r--src/main/kotlin/util/HoveredItemStack.kt11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/kotlin/util/HoveredItemStack.kt b/src/main/kotlin/util/HoveredItemStack.kt
index 526820a..ad07aa0 100644
--- a/src/main/kotlin/util/HoveredItemStack.kt
+++ b/src/main/kotlin/util/HoveredItemStack.kt
@@ -6,19 +6,28 @@ import net.minecraft.item.ItemStack
import moe.nea.firmament.mixins.accessor.AccessorHandledScreen
import moe.nea.firmament.util.compatloader.CompatLoader
-interface HoveredItemStackProvider {
+interface HoveredItemStackProvider : Comparable<HoveredItemStackProvider> {
fun provideHoveredItemStack(screen: HandledScreen<*>): ItemStack?
+ override fun compareTo(other: HoveredItemStackProvider): Int {
+ return compareValues(this.prio, other.prio)
+ }
+
+ val prio: Int get() = 0
companion object : CompatLoader<HoveredItemStackProvider>(HoveredItemStackProvider::class)
}
@AutoService(HoveredItemStackProvider::class)
class VanillaScreenProvider : HoveredItemStackProvider {
+
override fun provideHoveredItemStack(screen: HandledScreen<*>): ItemStack? {
screen as AccessorHandledScreen
val vanillaSlot = screen.focusedSlot_Firmament?.stack
return vanillaSlot
}
+
+ override val prio: Int
+ get() = -1
}
val HandledScreen<*>.focusedItemStack: ItemStack?