diff --git a/gradle.properties b/gradle.properties index 488452d..252ae09 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,10 @@ # Done to increase the memory available to gradle. -org.gradle.jvmargs=-Xmx1G +org.gradle.jvmargs=-Xmx1G -XX:+UseParallelGC + +org.gradle.daemon=true +org.gradle.parallel=true +org.gradle.configureondemand=true +org.gradle.caching=true minecraft_version=1.21.4 yarn_mappings=1.21.4+build.7 diff --git a/src/main/java/org/saturnclient/modules/ModManager.java b/src/main/java/org/saturnclient/modules/ModManager.java index b8a8f62..42b2d25 100644 --- a/src/main/java/org/saturnclient/modules/ModManager.java +++ b/src/main/java/org/saturnclient/modules/ModManager.java @@ -13,10 +13,11 @@ public class ModManager { new AutoSprint(), new ArmorDisplay(), new Fps(), - new PotionDisplay(), + new StatusEffects(), new Coordinates(), new Freelook(), - new Keystrokes() + new Keystrokes(), + new Fullbright() }; public static void init() { @@ -31,7 +32,7 @@ public class ModManager { }); } - public static void updateEnabledModules() { + public static synchronized void updateEnabledModules() { ENABLED_MODS.clear(); for (Module m : ALL_MODS) { if (m.isEnabled()) { diff --git a/src/main/java/org/saturnclient/modules/Module.java b/src/main/java/org/saturnclient/modules/Module.java index f0ba22b..87527e4 100644 --- a/src/main/java/org/saturnclient/modules/Module.java +++ b/src/main/java/org/saturnclient/modules/Module.java @@ -24,7 +24,12 @@ public abstract class Module { public abstract boolean isEnabled(); - public abstract void setEnabled(boolean e); + public final void setEnabled(boolean e) { + onEnabled(e); + ModManager.updateEnabledModules(); + } + + public abstract void onEnabled(boolean e); public final String getName() { return details.name; diff --git a/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java b/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java index 87458fb..248072b 100644 --- a/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java +++ b/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java @@ -96,7 +96,7 @@ public class ArmorDisplay extends Module implements HudMod { } @Override - public void setEnabled(boolean e) { + public void onEnabled(boolean e) { enabled.value = e; } } diff --git a/src/main/java/org/saturnclient/modules/mods/AutoSprint.java b/src/main/java/org/saturnclient/modules/mods/AutoSprint.java index d91a7ad..7352e63 100644 --- a/src/main/java/org/saturnclient/modules/mods/AutoSprint.java +++ b/src/main/java/org/saturnclient/modules/mods/AutoSprint.java @@ -24,8 +24,12 @@ public class AutoSprint extends Module { if (SaturnClient.client.player == null || SaturnClient.client.getNetworkHandler() == null) { return; } - if (SaturnClient.client.options.forwardKey.isPressed() && !SaturnClient.client.options.backKey.isPressed() && !SaturnClient.client.player.isSneaking() && - !SaturnClient.client.player.horizontalCollision) { + if (SaturnClient.client.options.forwardKey.isPressed() + && !SaturnClient.client.options.backKey.isPressed() + && !SaturnClient.client.player.isSneaking() + && !SaturnClient.client.player.horizontalCollision + && !SaturnClient.client.player.isUsingItem()) { + Objects.requireNonNull(SaturnClient.client.player).setSprinting(true); } } @@ -36,7 +40,7 @@ public class AutoSprint extends Module { } @Override - public void setEnabled(boolean e) { + public void onEnabled(boolean e) { enabled.value = e; } } diff --git a/src/main/java/org/saturnclient/modules/mods/Coordinates.java b/src/main/java/org/saturnclient/modules/mods/Coordinates.java index abebd97..1f9c5dc 100644 --- a/src/main/java/org/saturnclient/modules/mods/Coordinates.java +++ b/src/main/java/org/saturnclient/modules/mods/Coordinates.java @@ -69,7 +69,7 @@ public class Coordinates extends Module implements HudMod { } @Override - public void setEnabled(boolean e) { + public void onEnabled(boolean e) { enabled.value = e; } } diff --git a/src/main/java/org/saturnclient/modules/mods/Crosshair.java b/src/main/java/org/saturnclient/modules/mods/Crosshair.java index 2f9f7cb..1681c7e 100644 --- a/src/main/java/org/saturnclient/modules/mods/Crosshair.java +++ b/src/main/java/org/saturnclient/modules/mods/Crosshair.java @@ -42,7 +42,7 @@ public class Crosshair extends Module { } @Override - public void setEnabled(boolean e) { + public void onEnabled(boolean e) { enabled.value = e; } } diff --git a/src/main/java/org/saturnclient/modules/mods/Fps.java b/src/main/java/org/saturnclient/modules/mods/Fps.java index c71f320..afaea6c 100644 --- a/src/main/java/org/saturnclient/modules/mods/Fps.java +++ b/src/main/java/org/saturnclient/modules/mods/Fps.java @@ -42,7 +42,7 @@ public class Fps extends Module implements HudMod { } @Override - public void setEnabled(boolean e) { + public void onEnabled(boolean e) { enabled.value = e; } diff --git a/src/main/java/org/saturnclient/modules/mods/Freelook.java b/src/main/java/org/saturnclient/modules/mods/Freelook.java index d3a33c4..4ad51e0 100644 --- a/src/main/java/org/saturnclient/modules/mods/Freelook.java +++ b/src/main/java/org/saturnclient/modules/mods/Freelook.java @@ -60,7 +60,7 @@ public class Freelook extends Module { } @Override - public void setEnabled(boolean e) { + public void onEnabled(boolean e) { enabled.value = e; } 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/Keystrokes.java b/src/main/java/org/saturnclient/modules/mods/Keystrokes.java index 0eac3b0..5cdef8f 100644 --- a/src/main/java/org/saturnclient/modules/mods/Keystrokes.java +++ b/src/main/java/org/saturnclient/modules/mods/Keystrokes.java @@ -167,7 +167,7 @@ public class Keystrokes extends Module implements HudMod { } @Override - public void setEnabled(boolean e) { + public void onEnabled(boolean e) { enabled.value = e; dimensionsDirty = true; } diff --git a/src/main/java/org/saturnclient/modules/mods/PotionDisplay.java b/src/main/java/org/saturnclient/modules/mods/StatusEffects.java similarity index 93% rename from src/main/java/org/saturnclient/modules/mods/PotionDisplay.java rename to src/main/java/org/saturnclient/modules/mods/StatusEffects.java index 0097a2d..e25dd27 100644 --- a/src/main/java/org/saturnclient/modules/mods/PotionDisplay.java +++ b/src/main/java/org/saturnclient/modules/mods/StatusEffects.java @@ -20,7 +20,7 @@ import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; -public class PotionDisplay extends Module implements HudMod { +public class StatusEffects extends Module implements HudMod { public static Property enabled = Property.bool(false); private static ModDimensions dimensions = new ModDimensions(60, 0); @@ -30,9 +30,9 @@ public class PotionDisplay extends Module implements HudMod { new StatusEffectInstance(Registries.STATUS_EFFECT.getEntry(Identifier.ofVanilla("fire_resistance")).get(), 12000, 2), }; - public PotionDisplay() { - super(new ModuleDetails("Potion Display", "potion") - .description("Displays potion effects") + public StatusEffects() { + super(new ModuleDetails("Status effects", "effect") + .description("Displays status effects") .version("v0.1.0") .tags("Utility"), @@ -99,7 +99,7 @@ public class PotionDisplay extends Module implements HudMod { } @Override - public void setEnabled(boolean e) { + public void onEnabled(boolean e) { enabled.value = e; } } 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/java/org/saturnclient/saturnclient/auth/Network.java b/src/main/java/org/saturnclient/saturnclient/auth/Network.java index 4a61515..507f857 100644 --- a/src/main/java/org/saturnclient/saturnclient/auth/Network.java +++ b/src/main/java/org/saturnclient/saturnclient/auth/Network.java @@ -15,6 +15,9 @@ public class Network { static BufferedReader in; static byte[] key = new byte[32]; + private static final int CONNECTION_TIMEOUT = 5000; + private static final int READ_TIMEOUT = 5000; + public static class AES { public static byte[] encryptAES256(String message, byte[] key) throws Exception { Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); @@ -37,7 +40,11 @@ public class Network { // Generate AES key new SecureRandom().nextBytes(key); - socket = new Socket("77.247.92.168", 8080); + socket = new Socket(); + socket.connect(new InetSocketAddress("77.247.92.168", 8080), CONNECTION_TIMEOUT); + + socket.setSoTimeout(READ_TIMEOUT); + // out = new DataOutputStream(socket.getOutputStream()); out = new PrintWriter(socket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); diff --git a/src/main/resources/assets/saturnclient/textures/gui/mod/potion.png b/src/main/resources/assets/saturnclient/textures/gui/mod/effect.png similarity index 100% rename from src/main/resources/assets/saturnclient/textures/gui/mod/potion.png rename to src/main/resources/assets/saturnclient/textures/gui/mod/effect.png 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