From 9ae37ca894ae8fad1ddbc6ba31adf07db8b30d45 Mon Sep 17 00:00:00 2001 From: Patrick <147879351+WinniePatGG@users.noreply.github.com> Date: Sun, 12 Jul 2026 16:11:35 +0200 Subject: [PATCH] FullBright Module --- .../java/de/fullrisk/citrusDev/Config.java | 2 ++ .../citrusDev/UI/Module_Fullbright.java | 20 ++++++++++++++++ .../de/fullrisk/citrusDev/UI/MyScreen.java | 23 ++++++++++++++++++- .../citrusDev/client/CitrusDevClient.java | 2 +- .../LightmapRenderStateExtractorMixin.java | 20 ++++++++++++++++ src/main/resources/citrus-dev.mixins.json | 3 ++- 6 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 src/main/java/de/fullrisk/citrusDev/UI/Module_Fullbright.java create mode 100644 src/main/java/de/fullrisk/citrusDev/mixin/LightmapRenderStateExtractorMixin.java diff --git a/src/main/java/de/fullrisk/citrusDev/Config.java b/src/main/java/de/fullrisk/citrusDev/Config.java index 89a000c..fe556f6 100644 --- a/src/main/java/de/fullrisk/citrusDev/Config.java +++ b/src/main/java/de/fullrisk/citrusDev/Config.java @@ -29,6 +29,8 @@ public class Config { public int coordsP = 4; public boolean coordsEnabled = true; + public boolean fullbrightEnabled = false; + private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); private static final Path PATH = FabricLoader.getInstance().getConfigDir().resolve("citrus-dev.json"); diff --git a/src/main/java/de/fullrisk/citrusDev/UI/Module_Fullbright.java b/src/main/java/de/fullrisk/citrusDev/UI/Module_Fullbright.java new file mode 100644 index 0000000..9906dbd --- /dev/null +++ b/src/main/java/de/fullrisk/citrusDev/UI/Module_Fullbright.java @@ -0,0 +1,20 @@ +package de.fullrisk.citrusDev.UI; + +import de.fullrisk.citrusDev.Config; + +public class Module_Fullbright { + + private static final Config CONFIG = Config.get(); + + static boolean toggle = CONFIG.fullbrightEnabled; + + public static boolean isEnabled() { + return toggle; + } + + public static void setEnabled(boolean value) { + toggle = value; + CONFIG.fullbrightEnabled = value; + CONFIG.save(); + } +} diff --git a/src/main/java/de/fullrisk/citrusDev/UI/MyScreen.java b/src/main/java/de/fullrisk/citrusDev/UI/MyScreen.java index d1db45f..e483e19 100644 --- a/src/main/java/de/fullrisk/citrusDev/UI/MyScreen.java +++ b/src/main/java/de/fullrisk/citrusDev/UI/MyScreen.java @@ -310,11 +310,32 @@ public class MyScreen extends BaseOwoScreen { openModuleSettings("Coords", CoordsSettings()); }, "Module Enabled", "Keystrokes is now active", - "Module Disabled", "KeyStrokes is now inactive" + "Module Disabled", "Keystrokes is now inactive" + ); + + FlowLayout fullbrightRow = ModuleRow.build( + GLASS_PANEL, DISABLED, FLAT, + Identifier.fromNamespaceAndPath("citrus-dev", "textures/icons/block_culling_file.png"), + 18, 12, + MC_FIVE, + "Fullbright", + "Max brightness in dark areas", + new ModuleRow.ToggleState() { + public boolean get() { return Module_Fullbright.isEnabled(); } + public void set(boolean value) { Module_Fullbright.setEnabled(value); } + }, + Identifier.fromNamespaceAndPath("citrus-dev", "textures/icons/settings.png"), + () -> { + Config.get().lastModule = "Fullbright"; + Config.get().save(); + }, + "Module Enabled", "Fullbright is now active", + "Module Disabled", "Fullbright is now inactive" ); content.child(coordinatesRow); content.child(keyStrokesRow); content.child(fpsRow); + content.child(fullbrightRow); } diff --git a/src/main/java/de/fullrisk/citrusDev/client/CitrusDevClient.java b/src/main/java/de/fullrisk/citrusDev/client/CitrusDevClient.java index 3e40113..ba3be7d 100644 --- a/src/main/java/de/fullrisk/citrusDev/client/CitrusDevClient.java +++ b/src/main/java/de/fullrisk/citrusDev/client/CitrusDevClient.java @@ -14,7 +14,7 @@ import org.lwjgl.glfw.GLFW; public class CitrusDevClient implements ClientModInitializer { - public static final String API_URL = "http://localhost:3008"; + public static final String API_URL = "https://citrus-api.winniepat.de"; private static KeyMapping openScreenKey; diff --git a/src/main/java/de/fullrisk/citrusDev/mixin/LightmapRenderStateExtractorMixin.java b/src/main/java/de/fullrisk/citrusDev/mixin/LightmapRenderStateExtractorMixin.java new file mode 100644 index 0000000..a7588e2 --- /dev/null +++ b/src/main/java/de/fullrisk/citrusDev/mixin/LightmapRenderStateExtractorMixin.java @@ -0,0 +1,20 @@ +package de.fullrisk.citrusDev.mixin; + +import de.fullrisk.citrusDev.UI.Module_Fullbright; +import net.minecraft.client.renderer.LightmapRenderStateExtractor; +import net.minecraft.client.renderer.state.LightmapRenderState; +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(LightmapRenderStateExtractor.class) +public class LightmapRenderStateExtractorMixin { + + @Inject(method = "extract", at = @At("RETURN")) + private void citrusDev$fullbright(LightmapRenderState renderState, float partialTicks, CallbackInfo ci) { + if (Module_Fullbright.isEnabled()) { + renderState.brightness = 15.0F; + } + } +} diff --git a/src/main/resources/citrus-dev.mixins.json b/src/main/resources/citrus-dev.mixins.json index a4fcc62..3b2348d 100644 --- a/src/main/resources/citrus-dev.mixins.json +++ b/src/main/resources/citrus-dev.mixins.json @@ -7,7 +7,8 @@ ], "client": [ "SliderComponentMixin", - "MouseHandlerMixin" + "MouseHandlerMixin", + "LightmapRenderStateExtractorMixin" ], "injectors": { "defaultRequire": 1