diff --git a/src/main/java/org/saturnclient/modules/ModManager.java b/src/main/java/org/saturnclient/modules/ModManager.java index c059695..e6823bb 100644 --- a/src/main/java/org/saturnclient/modules/ModManager.java +++ b/src/main/java/org/saturnclient/modules/ModManager.java @@ -16,7 +16,8 @@ public class ModManager { new PotionDisplay(), new Coordinates(), new Freelook(), - new Keystrokes() + new Keystrokes(), + new Fullbright() }; public static void init() { diff --git a/src/main/java/org/saturnclient/modules/mods/Fullbright.java b/src/main/java/org/saturnclient/modules/mods/Fullbright.java new file mode 100644 index 0000000..682e1e2 --- /dev/null +++ b/src/main/java/org/saturnclient/modules/mods/Fullbright.java @@ -0,0 +1,39 @@ +package org.saturnclient.modules.mods; + +import org.saturnclient.modules.Module; +import org.saturnclient.modules.ModuleDetails; +import org.saturnclient.saturnclient.config.Property; + +public class Fullbright extends Module { + private static Property enabled = Property.bool(false); + private static Property brightness = Property.integer(100); + + public Fullbright() { + super( + new ModuleDetails("Fullbright", "fullbright") + .description("Allows you to see in the dark") + .tags("Camera") + .version("v0.1.0"), + enabled.named("Enabled"), + brightness.named("Brightness %")); + } + + @Override + public boolean isEnabled() { + return enabled.value; + } + + @Override + public void onEnabled(boolean e) { + enabled.value = e; + } + + public static boolean shouldOverrideBrightness() { + return enabled.value; + } + + public static float getBrightnessValue() { + return brightness.value / 10; + } + +} diff --git a/src/main/java/org/saturnclient/modules/mods/mixins/LightmapTextureManagerMixin.java b/src/main/java/org/saturnclient/modules/mods/mixins/LightmapTextureManagerMixin.java new file mode 100644 index 0000000..34289f6 --- /dev/null +++ b/src/main/java/org/saturnclient/modules/mods/mixins/LightmapTextureManagerMixin.java @@ -0,0 +1,23 @@ +// code modified from Gamma utils: https://github.com/Sjouwer/gamma-utils +package org.saturnclient.modules.mods.mixins; + +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; +import net.minecraft.client.render.LightmapTextureManager; +import org.saturnclient.modules.mods.Fullbright; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +@Mixin(LightmapTextureManager.class) +public class LightmapTextureManagerMixin { + + @ModifyExpressionValue( + method = "update", + at = @At(value = "INVOKE", target = "Ljava/lang/Math;max(FF)F", ordinal = 0) + ) + private float modifyGamma(float original) { + if (Fullbright.shouldOverrideBrightness()) { + return Fullbright.getBrightnessValue(); + } + return original; + } +} diff --git a/src/main/resources/assets/saturnclient/textures/gui/mod/fullbright.png b/src/main/resources/assets/saturnclient/textures/gui/mod/fullbright.png new file mode 100644 index 0000000..dfa9f7a Binary files /dev/null and b/src/main/resources/assets/saturnclient/textures/gui/mod/fullbright.png differ diff --git a/src/main/resources/mods.mixins.json b/src/main/resources/mods.mixins.json index 2fbf6c5..9ec0737 100644 --- a/src/main/resources/mods.mixins.json +++ b/src/main/resources/mods.mixins.json @@ -6,7 +6,8 @@ "client": [ "CameraMixin", "EntityMixin", - "RenderMixin" + "RenderMixin", + "LightmapTextureManagerMixin" ], "injectors": { "defaultRequire": 1