Animation config

This commit is contained in:
2026-02-25 00:18:16 +01:00
parent 038c859133
commit eb065b20d7
46 changed files with 146 additions and 91 deletions
@@ -2,8 +2,8 @@ package org.saturnclient.modules;
import java.util.Map; import java.util.Map;
import org.saturnclient.saturnclient.config.Property.NamedProperty; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property.NamedProperty;
public class ModDimensions { public class ModDimensions {
public Property<Integer> x = Property.integer(0); public Property<Integer> x = Property.integer(0);
@@ -1,9 +1,9 @@
package org.saturnclient.modules; package org.saturnclient.modules;
import org.saturnclient.saturnclient.config.ConfigManager;
import org.saturnclient.ui2.resources.Textures; import org.saturnclient.ui2.resources.Textures;
import org.saturnclient.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.config.manager.Property.NamedProperty;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.saturnclient.config.Property.NamedProperty;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
@@ -5,7 +5,7 @@ import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.EquipmentSlot;
@@ -5,7 +5,7 @@ import java.util.Objects;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
public class AutoSprint extends Module { public class AutoSprint extends Module {
private static Property<Boolean> enabled = Property.bool(false); private static Property<Boolean> enabled = Property.bool(false);
@@ -7,7 +7,7 @@ import org.saturnclient.modules.HudMod;
import org.saturnclient.modules.ModDimensions; import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
@@ -5,7 +5,7 @@ import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
@@ -3,7 +3,7 @@ package org.saturnclient.modules.mods;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.resources.Textures; import org.saturnclient.ui2.resources.Textures;
@@ -5,7 +5,7 @@ import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
@@ -5,7 +5,7 @@ import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
@@ -4,7 +4,7 @@ import org.lwjgl.glfw.GLFW;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import net.minecraft.client.option.Perspective; import net.minecraft.client.option.Perspective;
@@ -2,7 +2,7 @@ package org.saturnclient.modules.mods;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
public class Fullbright extends Module { public class Fullbright extends Module {
private static Property<Boolean> enabled = Property.bool(false); private static Property<Boolean> enabled = Property.bool(false);
@@ -5,7 +5,7 @@ import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
@@ -4,7 +4,7 @@ import org.saturnclient.modules.Module;
import org.saturnclient.modules.HudMod; import org.saturnclient.modules.HudMod;
import org.saturnclient.modules.ModDimensions; import org.saturnclient.modules.ModDimensions;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
@@ -3,7 +3,7 @@ package org.saturnclient.modules.mods;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.modules.mods.utils.HealthRenderState; import org.saturnclient.modules.mods.utils.HealthRenderState;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import net.minecraft.client.render.entity.state.LivingEntityRenderState; import net.minecraft.client.render.entity.state.LivingEntityRenderState;
@@ -2,7 +2,7 @@ package org.saturnclient.modules.mods;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
public class NoFog extends Module { public class NoFog extends Module {
private static Property<Boolean> enabled = Property.bool(false); private static Property<Boolean> enabled = Property.bool(false);
@@ -4,7 +4,7 @@ import org.saturnclient.modules.HudMod;
import org.saturnclient.modules.ModDimensions; import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
@@ -5,7 +5,7 @@ import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
@@ -7,7 +7,7 @@ import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import net.minecraft.client.resource.language.I18n; import net.minecraft.client.resource.language.I18n;
@@ -4,7 +4,7 @@ import org.saturnclient.modules.HudMod;
import org.saturnclient.modules.ModDimensions; import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
@@ -3,7 +3,7 @@ package org.saturnclient.modules.mods;
import org.lwjgl.glfw.GLFW; import org.lwjgl.glfw.GLFW;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.modules.ModuleDetails; import org.saturnclient.modules.ModuleDetails;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
public class Zoom extends Module { public class Zoom extends Module {
private static Property<Boolean> enabled = Property.bool(false); private static Property<Boolean> enabled = Property.bool(false);
@@ -8,8 +8,8 @@ import net.minecraft.client.util.math.MatrixStack;
import org.saturnclient.modules.ModManager; import org.saturnclient.modules.ModManager;
import org.saturnclient.saturnclient.client.ServiceClient; import org.saturnclient.saturnclient.client.ServiceClient;
import org.saturnclient.saturnclient.config.ConfigManager; import org.saturnclient.saturnclient.config.Config;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.cosmetics.Emotes; import org.saturnclient.saturnclient.cosmetics.Emotes;
import org.saturnclient.saturnclient.cosmetics.Hats; import org.saturnclient.saturnclient.cosmetics.Hats;
import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks; import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks;
@@ -38,7 +38,7 @@ public class SaturnClient implements ModInitializer {
public void onInitialize() { public void onInitialize() {
LOGGER.info("Initializing " + MOD_ID); LOGGER.info("Initializing " + MOD_ID);
client = MinecraftClient.getInstance(); client = MinecraftClient.getInstance();
SaturnClientConfig.init(); Config.init();
ModManager.init(); ModManager.init();
client.execute(() -> { client.execute(() -> {
@@ -3,7 +3,7 @@ package org.saturnclient.saturnclient.client.player;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.Config;
import net.minecraft.util.Formatting; import net.minecraft.util.Formatting;
@@ -54,6 +54,6 @@ public class Roles {
} }
public static String getSaturnIndicator() { public static String getSaturnIndicator() {
return SaturnClientConfig.realisticLogo.value ? "" : ""; return Config.realisticLogo.value ? "" : "";
} }
} }
@@ -0,0 +1,50 @@
package org.saturnclient.saturnclient.config;
import org.saturnclient.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.config.manager.Property;
public class AnimationConfig {
public static ConfigManager config;
// Animation curve
public static final Property<Integer> animationCurve = Property.select(1, "Ease In Out", "Ease Out");
// Logo duration
public static final Property<Integer> logoDuration = Property.integer(700);
// Main menu
public static final AnimationConfig mainMenu = new AnimationConfig(true, 1000, 120);
// Mod menu
public static final AnimationConfig modMenu = new AnimationConfig(true, 600, 40);
// Shift menu
public static final AnimationConfig shiftMenu = new AnimationConfig(true, 300, 50);
public static void init(ConfigManager parent) {
ConfigManager config = new ConfigManager(parent, "Animations");
config.property("Animation Curve", animationCurve);
config.property("Logo Duration", logoDuration);
mainMenu.init("Main Menu");
mainMenu.init("Mod Menu");
mainMenu.init("Shift Menu");
}
// Animation properties
// public final Property<Boolean> enabled;
public final Property<Integer> duration;
public final Property<Integer> stagger;
public AnimationConfig(boolean enabled, int delay, int stagger) {
// this.enabled = Property.bool(enabled);
this.duration = Property.integer(delay);
this.stagger = Property.integer(stagger);
}
public void init(String name) {
// config.property("Enable " + name + " Animations", this.enabled);
config.property(name + " Duration", this.stagger);
config.property(name + " Stagger", this.stagger);
}
}
@@ -1,14 +1,13 @@
package org.saturnclient.saturnclient.config; package org.saturnclient.saturnclient.config;
import java.util.function.Function;
import org.lwjgl.glfw.GLFW; import org.lwjgl.glfw.GLFW;
import org.saturnclient.ui2.anim.Curve; import org.saturnclient.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.resources.Textures; import org.saturnclient.ui2.resources.Textures;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
public class SaturnClientConfig { public class Config {
public static ConfigManager config; public static ConfigManager config;
public static Property<Boolean> realisticLogo = Property.bool(false); public static Property<Boolean> realisticLogo = Property.bool(false);
@@ -16,19 +15,11 @@ public class SaturnClientConfig {
public static Property<Boolean> bendyCloaks = Property.bool(true); public static Property<Boolean> bendyCloaks = Property.bool(true);
public static Property<Integer> openEmoteWheel = Property.keybinding(GLFW.GLFW_KEY_B); public static Property<Integer> openEmoteWheel = Property.keybinding(GLFW.GLFW_KEY_B);
public static Property<Boolean> stagger = Property.bool(true); public static Property<Boolean> stagger = Property.bool(true);
public static Property<Integer> animationCurve = Property.select(1, "Ease In Out", "Ease Out");
public static Identifier getLogo() { public static Identifier getLogo() {
return realisticLogo.value ? Textures.REALISTIC_LOGO : Textures.LOGO; return realisticLogo.value ? Textures.REALISTIC_LOGO : Textures.LOGO;
} }
public static Function<Double, Double> getAnimationCurve() {
switch (animationCurve.value) {
case 1: return Curve::easeOutCubic;
default: return Curve::easeInOutCubic;
}
}
public static void init() { public static void init() {
config = new ConfigManager("Saturn Client"); config = new ConfigManager("Saturn Client");
config.property("Realistic logo", realisticLogo); config.property("Realistic logo", realisticLogo);
@@ -36,9 +27,11 @@ public class SaturnClientConfig {
config.property("Open Emote Wheel", openEmoteWheel); config.property("Open Emote Wheel", openEmoteWheel);
config.property("Bendy Cloaks", bendyCloaks); config.property("Bendy Cloaks", bendyCloaks);
config.property("Stagger Animations", stagger); config.property("Stagger Animations", stagger);
config.property("Animation Curve", animationCurve);
// Initialize a sub namespace for theme // Initialize a sub namespace for theme
Theme.init(config); Theme.init(config);
// Initialize a sub namespace for animations
AnimationConfig.init(config);
} }
} }
@@ -1,5 +1,8 @@
package org.saturnclient.saturnclient.config; package org.saturnclient.saturnclient.config;
import org.saturnclient.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.config.manager.Property;
public class Theme { public class Theme {
// Main UI background (slightly warm dark to match Saturn tone) // Main UI background (slightly warm dark to match Saturn tone)
public static final Property<Integer> BACKGROUND = Property.color(0xFF12100D); public static final Property<Integer> BACKGROUND = Property.color(0xFF12100D);
@@ -26,8 +29,8 @@ public class Theme {
public static final Property<Integer> BG_RADIUS = Property.integer(12); public static final Property<Integer> BG_RADIUS = Property.integer(12);
public static final Property<Integer> WIDGET_RADIUS = Property.integer(10); public static final Property<Integer> WIDGET_RADIUS = Property.integer(10);
// Font (keeping your current system) // Font
public static Property<Integer> FONT = Property.font(1); public static final Property<Integer> FONT = Property.font(1);
public static void init(ConfigManager parent) { public static void init(ConfigManager parent) {
ConfigManager config = new ConfigManager(parent, "UI Style"); ConfigManager config = new ConfigManager(parent, "UI Style");
@@ -1,4 +1,4 @@
package org.saturnclient.saturnclient.config; package org.saturnclient.saturnclient.config.manager;
import com.google.gson.*; import com.google.gson.*;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
@@ -1,4 +1,4 @@
package org.saturnclient.saturnclient.config; package org.saturnclient.saturnclient.config.manager;
import java.util.Map; import java.util.Map;
@@ -1,7 +1,7 @@
package org.saturnclient.saturnclient.cosmetics; package org.saturnclient.saturnclient.cosmetics;
import org.saturnclient.saturnclient.client.player.SaturnPlayer; import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.Config;
import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks; import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks;
import net.minecraft.client.render.OverlayTexture; import net.minecraft.client.render.OverlayTexture;
@@ -339,7 +339,7 @@ public class CloakFeatureRenderer extends FeatureRenderer<PlayerEntityRenderStat
rotation = 0.0f; rotation = 0.0f;
} }
if (!SaturnClientConfig.bendyCloaks.value) { if (!Config.bendyCloaks.value) {
curve = 0.0f; curve = 0.0f;
} }
@@ -7,7 +7,7 @@ import net.minecraft.client.util.InputUtil;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.ServiceClient; import org.saturnclient.saturnclient.client.ServiceClient;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.Config;
import org.saturnclient.ui2.screens.EmoteWheel; import org.saturnclient.ui2.screens.EmoteWheel;
import org.saturnclient.ui2.screens.ShiftMenu; import org.saturnclient.ui2.screens.ShiftMenu;
@@ -39,7 +39,7 @@ public class KeyInputHandler {
client.setScreen(new ShiftMenu()); client.setScreen(new ShiftMenu());
} }
if (SaturnClientConfig.openEmoteWheel.wasKeyPressed() && client.currentScreen == null && !InputUtil.isKeyPressed(client.getWindow().getHandle(), GLFW.GLFW_KEY_F3)) { if (Config.openEmoteWheel.wasKeyPressed() && client.currentScreen == null && !InputUtil.isKeyPressed(client.getWindow().getHandle(), GLFW.GLFW_KEY_F3)) {
client.setScreen(new EmoteWheel()); client.setScreen(new EmoteWheel());
} }
@@ -9,7 +9,7 @@ import org.saturnclient.modules.HudMod;
import org.saturnclient.modules.ModDimensions; import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.ModManager; import org.saturnclient.modules.ModManager;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.saturnclient.config.ConfigManager; import org.saturnclient.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.mixin.DrawContextAccessor; import org.saturnclient.saturnclient.mixin.DrawContextAccessor;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
import org.saturnclient.ui2.SaturnScreen; import org.saturnclient.ui2.SaturnScreen;
@@ -1,6 +1,6 @@
package org.saturnclient.saturnclient.mixin; package org.saturnclient.saturnclient.mixin;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.Config;
import org.saturnclient.ui2.screens.TitleMenu; import org.saturnclient.ui2.screens.TitleMenu;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
@@ -14,7 +14,7 @@ import net.minecraft.client.gui.screen.TitleScreen;
public class SetScreenMixin { public class SetScreenMixin {
@ModifyVariable(method = "setScreen", at = @At("HEAD"), argsOnly = true) @ModifyVariable(method = "setScreen", at = @At("HEAD"), argsOnly = true)
private Screen replaceTitleScreen(Screen screen) { private Screen replaceTitleScreen(Screen screen) {
if (SaturnClientConfig.saturnTitleScreen.value) { if (Config.saturnTitleScreen.value) {
if (screen instanceof TitleScreen) if (screen instanceof TitleScreen)
return new TitleMenu(); return new TitleMenu();
if (screen == null && ((MinecraftClient) (Object) this).world == null) if (screen == null && ((MinecraftClient) (Object) this).world == null)
@@ -1,7 +1,7 @@
package org.saturnclient.ui2.components; package org.saturnclient.ui2.components;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.Config;
import org.saturnclient.saturnclient.config.Theme; import org.saturnclient.saturnclient.config.Theme;
import org.saturnclient.ui2.resources.Textures; import org.saturnclient.ui2.resources.Textures;
import org.saturnclient.ui2.Element; import org.saturnclient.ui2.Element;
@@ -35,7 +35,7 @@ public class Sidebar extends Element {
SaturnClient.client.setScreen(new ModMenu()); SaturnClient.client.setScreen(new ModMenu());
}, false), }, false),
new Sidebar.SidebarComponent(Textures.SETTINGS, () -> { new Sidebar.SidebarComponent(Textures.SETTINGS, () -> {
SaturnClient.client.setScreen(new ConfigEditor(SaturnClientConfig.config)); SaturnClient.client.setScreen(new ConfigEditor(Config.config));
}, false), }, false),
new Sidebar.SidebarComponent(Textures.SHIRT, () -> { new Sidebar.SidebarComponent(Textures.SHIRT, () -> {
@@ -1,7 +1,7 @@
package org.saturnclient.ui2.components.inputs; package org.saturnclient.ui2.components.inputs;
import org.saturnclient.saturnclient.config.ConfigManager; import org.saturnclient.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
public class FloatInput extends Input { public class FloatInput extends Input {
@@ -2,7 +2,7 @@ package org.saturnclient.ui2.components.inputs;
import java.awt.Color; import java.awt.Color;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.Element; import org.saturnclient.ui2.Element;
import org.saturnclient.ui2.ElementContext; import org.saturnclient.ui2.ElementContext;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
@@ -1,7 +1,7 @@
package org.saturnclient.ui2.components.inputs; package org.saturnclient.ui2.components.inputs;
import org.saturnclient.saturnclient.config.ConfigManager; import org.saturnclient.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.config.Property; import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.resources.Fonts; import org.saturnclient.ui2.resources.Fonts;
public class IntInput extends Input { public class IntInput extends Input {
@@ -1,8 +1,8 @@
package org.saturnclient.ui2.components.inputs; package org.saturnclient.ui2.components.inputs;
import org.lwjgl.glfw.GLFW; import org.lwjgl.glfw.GLFW;
import org.saturnclient.saturnclient.config.Property;
import org.saturnclient.saturnclient.config.Theme; import org.saturnclient.saturnclient.config.Theme;
import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.Element; import org.saturnclient.ui2.Element;
import org.saturnclient.ui2.ElementContext; import org.saturnclient.ui2.ElementContext;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
@@ -1,7 +1,7 @@
package org.saturnclient.ui2.components.inputs; package org.saturnclient.ui2.components.inputs;
import org.saturnclient.saturnclient.config.Property;
import org.saturnclient.saturnclient.config.Theme; import org.saturnclient.saturnclient.config.Theme;
import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.Element; import org.saturnclient.ui2.Element;
import org.saturnclient.ui2.ElementContext; import org.saturnclient.ui2.ElementContext;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
@@ -1,7 +1,7 @@
package org.saturnclient.ui2.components.inputs; package org.saturnclient.ui2.components.inputs;
import org.saturnclient.saturnclient.config.Property;
import org.saturnclient.saturnclient.config.Theme; import org.saturnclient.saturnclient.config.Theme;
import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.Element; import org.saturnclient.ui2.Element;
import org.saturnclient.ui2.ElementContext; import org.saturnclient.ui2.ElementContext;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
@@ -3,7 +3,7 @@ package org.saturnclient.ui2.elements;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.Config;
import org.saturnclient.ui2.Element; import org.saturnclient.ui2.Element;
import org.saturnclient.ui2.ElementContext; import org.saturnclient.ui2.ElementContext;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
@@ -18,7 +18,7 @@ public class AnimationStagger extends Element {
} }
public void draw(Element element) { public void draw(Element element) {
if (!SaturnClientConfig.stagger.value) { if (!Config.stagger.value) {
element.animation = null; element.animation = null;
} }
@@ -1,7 +1,7 @@
package org.saturnclient.ui2.elements; package org.saturnclient.ui2.elements;
import org.saturnclient.saturnclient.config.Property;
import org.saturnclient.saturnclient.config.Theme; import org.saturnclient.saturnclient.config.Theme;
import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.Element; import org.saturnclient.ui2.Element;
import org.saturnclient.ui2.ElementContext; import org.saturnclient.ui2.ElementContext;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
@@ -3,8 +3,8 @@ package org.saturnclient.ui2.elements;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.saturnclient.saturnclient.config.Property;
import org.saturnclient.saturnclient.config.Theme; import org.saturnclient.saturnclient.config.Theme;
import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.Element; import org.saturnclient.ui2.Element;
import org.saturnclient.ui2.ElementContext; import org.saturnclient.ui2.ElementContext;
import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.RenderScope;
@@ -2,9 +2,9 @@ package org.saturnclient.ui2.screens;
import java.util.Map; import java.util.Map;
import org.saturnclient.saturnclient.config.ConfigManager;
import org.saturnclient.saturnclient.config.Property;
import org.saturnclient.saturnclient.config.Theme; import org.saturnclient.saturnclient.config.Theme;
import org.saturnclient.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.config.manager.Property;
import org.saturnclient.ui2.SaturnScreen; import org.saturnclient.ui2.SaturnScreen;
import org.saturnclient.ui2.components.Sidebar; import org.saturnclient.ui2.components.Sidebar;
import org.saturnclient.ui2.components.inputs.FloatInput; import org.saturnclient.ui2.components.inputs.FloatInput;
@@ -2,7 +2,7 @@ package org.saturnclient.ui2.screens;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.ServiceClient; import org.saturnclient.saturnclient.client.ServiceClient;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.Config;
import org.saturnclient.saturnclient.cosmetics.Emotes; import org.saturnclient.saturnclient.cosmetics.Emotes;
import org.saturnclient.ui2.SaturnScreen; import org.saturnclient.ui2.SaturnScreen;
import org.saturnclient.ui2.Utils; import org.saturnclient.ui2.Utils;
@@ -31,7 +31,7 @@ public class EmoteWheel extends SaturnScreen {
draw(new ImageTexture(Textures.LOGO_TEXT).dimensions(98, 10).centerOffset(width, height, 0, -105) draw(new ImageTexture(Textures.LOGO_TEXT).dimensions(98, 10).centerOffset(width, height, 0, -105)
.animation(new Fade(700))); .animation(new Fade(700)));
draw(new ImageTexture(SaturnClientConfig.getLogo()).dimensions(98, 98).centerOffset(width, height, 0, -149) draw(new ImageTexture(Config.getLogo()).dimensions(98, 98).centerOffset(width, height, 0, -149)
.animation(new SlideY(700, -20))); .animation(new SlideY(700, -20)));
draw(new TextureButton(Textures.LEFT, () -> { draw(new TextureButton(Textures.LEFT, () -> {
@@ -2,7 +2,7 @@ package org.saturnclient.ui2.screens;
import org.saturnclient.modules.ModManager; import org.saturnclient.modules.ModManager;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.AnimationConfig;
import org.saturnclient.ui2.SaturnScreen; import org.saturnclient.ui2.SaturnScreen;
import org.saturnclient.ui2.anim.SlideFade; import org.saturnclient.ui2.anim.SlideFade;
import org.saturnclient.ui2.components.SaturnModule; import org.saturnclient.ui2.components.SaturnModule;
@@ -27,13 +27,13 @@ public class ModMenu extends SaturnScreen {
int row = 0; int row = 0;
int col = 0; int col = 0;
AnimationStagger moduleStagger = new AnimationStagger(20); AnimationStagger moduleStagger = new AnimationStagger(AnimationConfig.modMenu.stagger.value);
for (Module mod : ModManager.ALL_MODS) { for (Module mod : ModManager.ALL_MODS) {
moduleStagger.draw( moduleStagger.draw(
new SaturnModule(mod) new SaturnModule(mod)
.position((160 + g) * col, (50 + g) * row) .position((160 + g) * col, (50 + g) * row)
.animation(new SlideFade(600, -12), SaturnClientConfig.getAnimationCurve())); .animation(new SlideFade(AnimationConfig.modMenu.duration.value, -12)));
if (col == 2) { if (col == 2) {
col = 0; col = 0;
@@ -1,7 +1,8 @@
package org.saturnclient.ui2.screens; package org.saturnclient.ui2.screens;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.AnimationConfig;
import org.saturnclient.saturnclient.config.Config;
import org.saturnclient.saturnclient.menus.HudEditor; import org.saturnclient.saturnclient.menus.HudEditor;
import org.saturnclient.ui2.resources.Textures; import org.saturnclient.ui2.resources.Textures;
import org.saturnclient.ui2.screens.cosmetics.CloakMenu; import org.saturnclient.ui2.screens.cosmetics.CloakMenu;
@@ -24,12 +25,12 @@ public class ShiftMenu extends SaturnScreen {
draw(new ImageTexture(Textures.LOGO_TEXT) draw(new ImageTexture(Textures.LOGO_TEXT)
.dimensions(98, 10) .dimensions(98, 10)
.centerOffset(width, height, 0, -36) .centerOffset(width, height, 0, -36)
.animation(new Fade(700))); .animation(new Fade(AnimationConfig.logoDuration.value)));
draw(new ImageTexture(SaturnClientConfig.getLogo()) draw(new ImageTexture(Config.getLogo())
.dimensions(98, 98) .dimensions(98, 98)
.centerOffset(width, height, 0, -80) .centerOffset(width, height, 0, -80)
.animation(new SlideY(700, -20))); .animation(new SlideY(AnimationConfig.logoDuration.value, -20)));
// Spacing and sizes // Spacing and sizes
int btnWidth = 120; int btnWidth = 120;
@@ -37,22 +38,23 @@ public class ShiftMenu extends SaturnScreen {
int spacing = 4; int spacing = 4;
// Create stagger // Create stagger
AnimationStagger stagger = new AnimationStagger(50);
AnimationStagger stagger = new AnimationStagger(AnimationConfig.shiftMenu.stagger.value);
stagger.draw(new TextureButton(Textures.HUD_ICON, () -> { stagger.draw(new TextureButton(Textures.HUD_ICON, () -> {
client.setScreen(new HudEditor()); client.setScreen(new HudEditor());
}).dimensions(btnHeight, btnHeight).position(0, 0) }).dimensions(btnHeight, btnHeight).position(0, 0)
.animation(new Fade(300))); .animation(new Fade(AnimationConfig.shiftMenu.duration.value)));
stagger.draw(new Button("Settings", () -> { stagger.draw(new Button("Settings", () -> {
SaturnClient.client.setScreen(new ModMenu()); SaturnClient.client.setScreen(new ModMenu());
}).dimensions(btnWidth, btnHeight).position(btnHeight + spacing, 0) }).dimensions(btnWidth, btnHeight).position(btnHeight + spacing, 0)
.animation(new Fade(300))); .animation(new Fade(AnimationConfig.shiftMenu.duration.value)));
stagger.draw(new TextureButton(Textures.COSMETICS, () -> { stagger.draw(new TextureButton(Textures.COSMETICS, () -> {
client.setScreen(new CloakMenu()); client.setScreen(new CloakMenu());
}).dimensions(btnHeight, btnHeight).position(btnWidth + btnHeight + (spacing * 2), 0) }).dimensions(btnHeight, btnHeight).position(btnWidth + btnHeight + (spacing * 2), 0)
.animation(new Fade(300))); .animation(new Fade(AnimationConfig.shiftMenu.duration.value)));
// Draw the stagger at the absolute center of the screen // Draw the stagger at the absolute center of the screen
draw(stagger.dimensions(btnWidth + (btnHeight * 2) + (spacing * 2), btnHeight).centerOffset(width, height, 0, draw(stagger.dimensions(btnWidth + (btnHeight * 2) + (spacing * 2), btnHeight).centerOffset(width, height, 0,
@@ -1,7 +1,8 @@
package org.saturnclient.ui2.screens; package org.saturnclient.ui2.screens;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.config.SaturnClientConfig; import org.saturnclient.saturnclient.config.AnimationConfig;
import org.saturnclient.saturnclient.config.Config;
import org.saturnclient.saturnclient.menus.HudEditor; import org.saturnclient.saturnclient.menus.HudEditor;
import org.saturnclient.ui2.resources.Textures; import org.saturnclient.ui2.resources.Textures;
import org.saturnclient.ui2.screens.cosmetics.CloakMenu; import org.saturnclient.ui2.screens.cosmetics.CloakMenu;
@@ -30,44 +31,50 @@ public class TitleMenu extends SaturnScreen {
draw(new ImageTexture(Textures.LOGO_TEXT).dimensions(98, 10).centerOffset(width, height, 0, -36) draw(new ImageTexture(Textures.LOGO_TEXT).dimensions(98, 10).centerOffset(width, height, 0, -36)
.animation(new Fade(700))); .animation(new Fade(700)));
draw(new ImageTexture(SaturnClientConfig.getLogo()).dimensions(98, 98).centerOffset(width, height, 0, -82) draw(new ImageTexture(Config.getLogo()).dimensions(98, 98).centerOffset(width, height, 0, -82)
.animation(new SlideY(700, -20))); .animation(new SlideY(700, -20)));
AnimationStagger mainButtonStagger = new AnimationStagger(120); AnimationStagger mainButtonStagger = new AnimationStagger(AnimationConfig.mainMenu.stagger.value);
mainButtonStagger.draw(new Button("SINGLEPLAYER", () -> { mainButtonStagger.draw(new Button("SINGLEPLAYER", () -> {
client.setScreen(new SelectWorldScreen(new TitleMenu())); client.setScreen(new SelectWorldScreen(new TitleMenu()));
}).scale(0.69f).dimensions(420, 52).position(0, 0).animation(new SlideFade(1000, -10))); }).scale(0.69f).dimensions(420, 52).position(0, 0)
.animation(new SlideFade(AnimationConfig.mainMenu.duration.value, -10)));
mainButtonStagger.draw(new Button("MULTIPLAYER", () -> { mainButtonStagger.draw(new Button("MULTIPLAYER", () -> {
client.setScreen(new MultiplayerScreen(new TitleMenu())); client.setScreen(new MultiplayerScreen(new TitleMenu()));
}).scale(0.69f).dimensions(420, 52).position(0, 40).animation(new SlideFade(1000, -10))); }).scale(0.69f).dimensions(420, 52).position(0, 40)
.animation(new SlideFade(AnimationConfig.mainMenu.duration.value, -10)));
mainButtonStagger.draw(new Button("OPTIONS", () -> { mainButtonStagger.draw(new Button("OPTIONS", () -> {
client.setScreen(new OptionsScreen(new TitleMenu(), SaturnClient.client.options)); client.setScreen(new OptionsScreen(new TitleMenu(), SaturnClient.client.options));
}).scale(0.69f).dimensions(206, 52).position(0, 80).animation(new SlideFade(1000, -10))); }).scale(0.69f).dimensions(206, 52).position(0, 80)
.animation(new SlideFade(AnimationConfig.mainMenu.duration.value, -10)));
mainButtonStagger.draw(new Button("QUIT", () -> { mainButtonStagger.draw(new Button("QUIT", () -> {
client.scheduleStop(); client.scheduleStop();
}).scale(0.69f).dimensions(206, 52).position(146, 80).animation(new SlideFade(1000, -10))); }).scale(0.69f).dimensions(206, 52).position(146, 80)
.animation(new SlideFade(AnimationConfig.mainMenu.duration.value, -10)));
draw(mainButtonStagger.dimensions(289, 143).centerOffset(width, height, 0, 60)); draw(mainButtonStagger.dimensions(289, 143).centerOffset(width, height, 0, 60));
int s = Fonts.getHeight() + 20; int s = Fonts.getHeight() + 20;
AnimationStagger saturnStagger = new AnimationStagger(180); AnimationStagger saturnStagger = new AnimationStagger(AnimationConfig.mainMenu.stagger.value);
saturnStagger.draw(new TextureButton(Textures.HUD_ICON, () -> { saturnStagger.draw(new TextureButton(Textures.HUD_ICON, () -> {
client.setScreen(new HudEditor()); client.setScreen(new HudEditor());
}).dimensions(s, s).position(0, 0).animation(new SlideFade(1000, s + 8))); }).dimensions(s, s).position(0, 0).animation(new SlideFade(AnimationConfig.mainMenu.duration.value, s + 8)));
saturnStagger.draw(new TextureButton(Textures.SETTINGS, () -> { saturnStagger.draw(new TextureButton(Textures.SETTINGS, () -> {
SaturnClient.client.setScreen(new ModMenu()); SaturnClient.client.setScreen(new ModMenu());
}).dimensions(s, s).position(s + 2, 0).animation(new SlideFade(1000, s + 8))); }).dimensions(s, s).position(s + 2, 0)
.animation(new SlideFade(AnimationConfig.mainMenu.duration.value, s + 8)));
saturnStagger.draw(new TextureButton(Textures.CLOAK, () -> { saturnStagger.draw(new TextureButton(Textures.CLOAK, () -> {
client.setScreen(new CloakMenu()); client.setScreen(new CloakMenu());
}).dimensions(s, s).position((s + 2) * 2, 0).animation(new SlideFade(1000, s + 8))); }).dimensions(s, s).position((s + 2) * 2, 0)
.animation(new SlideFade(AnimationConfig.mainMenu.duration.value, s + 8)));
draw(saturnStagger.dimensions(((s + 2) * 2) + s, s).centerHorizontal(width, height, 0, 8)); draw(saturnStagger.dimensions(((s + 2) * 2) + s, s).centerHorizontal(width, height, 0, 8));
} }