aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/mixins/GameRendererMixin.java
blob: 5995130533c900634e01fea7166ead629244597f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package de.hysky.skyblocker.mixins;

import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.render.GlowRenderer;
import de.hysky.skyblocker.utils.render.Renderer;
import net.minecraft.client.render.GameRenderer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(GameRenderer.class)
public class GameRendererMixin {

	@Inject(method = "close", at = @At("TAIL"))
	private void skyblocker$onGameRendererClose(CallbackInfo ci) {
		Renderer.close();
		GlowRenderer.getInstance().close();
	}

	@ModifyReturnValue(method = "getNightVisionStrength", at = @At("RETURN"))
	private static float onGetNightVisionStrength(float original) {
		if (original == 1.0F && Utils.isOnSkyblock()) {
			var strength = SkyblockerConfigManager.get().uiAndVisuals.nightVisionStrength;
			if (strength == 0.0F) return 0.0F;
			return Math.clamp(strength / 100.0F, 0, 1);
		}
		return original;
	}
}