diff options
| author | Linnea Gräf <nea@nea.moe> | 2025-08-05 17:46:32 +0200 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2025-08-05 17:46:32 +0200 |
| commit | e362b95b3ee70fa5745463fc78507e230b607c3f (patch) | |
| tree | 0cffe1404498d7a93699daeeb84bb1b75b930ec1 /src/main/kotlin/util | |
| parent | 2422c98cc5bc2c9e96d1da6b71f5bb1b75ae3d69 (diff) | |
| download | Firmament-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.kt | 11 |
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? |
