Update Ok Zoomer compatibility

Signed-off-by: Username404-59 <w.iron.zombie@gmail.com>
This commit is contained in:
Username404-59 2026-04-15 22:05:24 +02:00
parent 445053f69d
commit 1da76930a8
Signed by: Username404-59
GPG Key ID: 7AB361FBB257A5D1

View File

@ -4,20 +4,13 @@ import fr.username404.snowygui.gui.feature.Zoom
import net.fabricmc.loader.api.FabricLoader import net.fabricmc.loader.api.FabricLoader
@JvmField @JvmField
var isOkZoomerPresent: Boolean = FabricLoader.getInstance().isModLoaded("okzoomer") var isOkZoomerPresent: Boolean = FabricLoader.getInstance().isModLoaded("ok_zoomer")
private val okZoomerPairs by lazy {
with(Class.forName("io.github.ennuil.okzoomer.utils.ZoomUtils").getDeclaredField("ZOOMER_ZOOM")) {
get(null).javaClass.run {
(getDeclaredField("zoomDivisor") to this@with.get(null)) to (getDeclaredField("zoom") to this@with.get(null))
}
}.apply { first.first.isAccessible = true; second.first.isAccessible = true; }
}
fun fabricZoom() { fun fabricZoom() {
try { try {
with(okZoomerPairs) { with(Class.forName("page.langeweile.ok_zoomer.zoom.Zoom")) {
first.run { first.setFloat(second, Zoom.zoomFactor.toFloat()) } getDeclaredMethod("setZoomDivisor", Double::class.java)(null, Zoom.zoomFactor);
second.run { first.setBoolean(second, Zoom.toggled) } getDeclaredMethod("setZooming", Boolean::class.java)(null, Zoom.toggled)
} }
} catch (e: Exception) { } catch (e: Exception) {
isOkZoomerPresent = false isOkZoomerPresent = false