Update Ok Zoomer compatibility
Signed-off-by: Username404-59 <w.iron.zombie@gmail.com>
This commit is contained in:
parent
445053f69d
commit
1da76930a8
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user