This commit is contained in:
2026-03-07 15:49:29 +01:00
parent 7fd5493995
commit 5b8ce8f048
12 changed files with 41 additions and 37 deletions
@@ -23,8 +23,8 @@ public abstract class SaturnScreen {
// Provider // Provider
public ScreenProvider provider; public ScreenProvider provider;
public SaturnScreen() { public SaturnScreen(String title) {
provider.close(); this.title = title;
} }
protected void init() { protected void init() {
@@ -107,4 +107,8 @@ public abstract class SaturnScreen {
return false; return false;
} }
public boolean shouldPause() {
return true;
}
} }
@@ -22,7 +22,7 @@ import org.saturnclient.saturnclient.mixin.DrawContextAccessor;
import org.saturnclient.ui.ElementRenderer; import org.saturnclient.ui.ElementRenderer;
import org.saturnclient.ui.RenderScope; import org.saturnclient.ui.RenderScope;
import org.saturnclient.ui.RenderScopeImpl; import org.saturnclient.ui.RenderScopeImpl;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.components.ElementRendererImpl; import org.saturnclient.ui.components.ElementRendererImpl;
import org.saturnclient.ui.elements.ImageTexture; import org.saturnclient.ui.elements.ImageTexture;
import org.saturnclient.ui.resources.Textures; import org.saturnclient.ui.resources.Textures;
@@ -13,7 +13,7 @@ import org.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.mixin.DrawContextAccessor; import org.saturnclient.saturnclient.mixin.DrawContextAccessor;
import org.saturnclient.ui.RenderScope; import org.saturnclient.ui.RenderScope;
import org.saturnclient.ui.RenderScopeImpl; import org.saturnclient.ui.RenderScopeImpl;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -5,7 +5,7 @@ import java.util.Map;
import org.saturnclient.config.Theme; import org.saturnclient.config.Theme;
import org.saturnclient.config.manager.ConfigManager; import org.saturnclient.config.manager.ConfigManager;
import org.saturnclient.config.manager.Property; import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.components.Sidebar; import org.saturnclient.ui.components.Sidebar;
import org.saturnclient.ui.components.inputs.FloatInput; import org.saturnclient.ui.components.inputs.FloatInput;
import org.saturnclient.ui.components.inputs.HexInput; import org.saturnclient.ui.components.inputs.HexInput;
@@ -17,7 +17,7 @@ import org.saturnclient.ui.elements.Scroll;
import org.saturnclient.ui.elements.Text; import org.saturnclient.ui.elements.Text;
import org.saturnclient.ui.resources.Fonts; import org.saturnclient.ui.resources.Fonts;
public class ConfigEditor extends SaturnScreenFabric { public class ConfigEditor extends SaturnScreen {
private ConfigManager config; private ConfigManager config;
public ConfigEditor(ConfigManager config) { public ConfigEditor(ConfigManager config) {
@@ -39,7 +39,7 @@ public class ConfigEditor extends SaturnScreenFabric {
draw(scroll.dimensions(scrollWidth, 350).center(width, height)); draw(scroll.dimensions(scrollWidth, 350).center(width, height));
draw(new Sidebar(1, this::close).centerOffset(width, height, -(scrollWidth / 2 + 20), 0)); draw(new Sidebar(1, this.provider::close).centerOffset(width, height, -(scrollWidth / 2 + 20), 0));
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@@ -5,7 +5,7 @@ import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.ServiceClient; import org.saturnclient.saturnclient.client.ServiceClient;
import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Config; import org.saturnclient.config.Config;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.Utils; import org.saturnclient.ui.Utils;
import org.saturnclient.ui.anim.Fade; import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideY; import org.saturnclient.ui.anim.SlideY;
@@ -19,7 +19,7 @@ import dev.kosmx.playerAnim.minecraftApi.PlayerAnimationAccess;
import dev.kosmx.playerAnim.minecraftApi.PlayerAnimationRegistry; import dev.kosmx.playerAnim.minecraftApi.PlayerAnimationRegistry;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
public class EmoteWheel extends SaturnScreenFabric { public class EmoteWheel extends SaturnScreen {
int page = 1; int page = 1;
public EmoteWheel() { public EmoteWheel() {
@@ -107,7 +107,7 @@ public class EmoteWheel extends SaturnScreenFabric {
.playAnimation()); .playAnimation());
ServiceClient.emote(emote); ServiceClient.emote(emote);
close(); provider.close();
}) })
.dimensions(70, 70) .dimensions(70, 70)
.centerOffset(width, height, .centerOffset(width, height,
@@ -3,7 +3,7 @@ package org.saturnclient.ui.screens;
import org.saturnclient.modules.ModManager; import org.saturnclient.modules.ModManager;
import org.saturnclient.modules.Module; import org.saturnclient.modules.Module;
import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.AnimationConfig;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.anim.SlideFade; import org.saturnclient.ui.anim.SlideFade;
import org.saturnclient.ui.components.SaturnModule; import org.saturnclient.ui.components.SaturnModule;
import org.saturnclient.ui.components.Sidebar; import org.saturnclient.ui.components.Sidebar;
@@ -12,7 +12,7 @@ import org.saturnclient.ui.elements.ImageTexture;
import org.saturnclient.ui.elements.Scroll; import org.saturnclient.ui.elements.Scroll;
import org.saturnclient.ui.resources.Textures; import org.saturnclient.ui.resources.Textures;
public class ModMenu extends SaturnScreenFabric { public class ModMenu extends SaturnScreen {
public ModMenu() { public ModMenu() {
super("Mod Menu"); super("Mod Menu");
} }
@@ -49,7 +49,7 @@ public class ModMenu extends SaturnScreenFabric {
draw(scroll.dimensions(scrollWidth, 350).center(width, height)); draw(scroll.dimensions(scrollWidth, 350).center(width, height));
draw(new Sidebar(0, this::close).centerOffset(width, height, -(scrollWidth / 2 + 20), 0)); draw(new Sidebar(0, this.provider::close).centerOffset(width, height, -(scrollWidth / 2 + 20), 0));
draw(new ImageTexture(Textures.LOGO_TEXT_BIG).dimensions(180, 18).position(width - 180 - 20, height - 18 - 20)); draw(new ImageTexture(Textures.LOGO_TEXT_BIG).dimensions(180, 18).position(width - 180 - 20, height - 18 - 20));
} }
@@ -4,7 +4,7 @@ import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Config; import org.saturnclient.config.Config;
import org.saturnclient.saturnclient.menus.HudEditor; import org.saturnclient.saturnclient.menus.HudEditor;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.anim.Fade; import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideY; import org.saturnclient.ui.anim.SlideY;
import org.saturnclient.ui.elements.AnimationStagger; import org.saturnclient.ui.elements.AnimationStagger;
@@ -14,7 +14,7 @@ import org.saturnclient.ui.elements.TextureButton;
import org.saturnclient.ui.resources.Textures; import org.saturnclient.ui.resources.Textures;
import org.saturnclient.ui.screens.cosmetics.CloakMenu; import org.saturnclient.ui.screens.cosmetics.CloakMenu;
public class ShiftMenu extends SaturnScreenFabric { public class ShiftMenu extends SaturnScreen {
public ShiftMenu() { public ShiftMenu() {
super("Shift Menu"); super("Shift Menu");
} }
@@ -4,7 +4,7 @@ import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Config; import org.saturnclient.config.Config;
import org.saturnclient.saturnclient.menus.HudEditor; import org.saturnclient.saturnclient.menus.HudEditor;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.anim.Fade; import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideFade; import org.saturnclient.ui.anim.SlideFade;
import org.saturnclient.ui.anim.SlideY; import org.saturnclient.ui.anim.SlideY;
@@ -20,7 +20,7 @@ import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
import net.minecraft.client.gui.screen.option.OptionsScreen; import net.minecraft.client.gui.screen.option.OptionsScreen;
import net.minecraft.client.gui.screen.world.SelectWorldScreen; import net.minecraft.client.gui.screen.world.SelectWorldScreen;
public class TitleMenu extends SaturnScreenFabric { public class TitleMenu extends SaturnScreen {
public TitleMenu() { public TitleMenu() {
super("Title Menu"); super("Title Menu");
} }
@@ -4,7 +4,7 @@ import org.saturnclient.cosmetics.cloak.Cloaks;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.player.SaturnPlayer; import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.AnimationConfig;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.anim.Fade; import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideY; import org.saturnclient.ui.anim.SlideY;
import org.saturnclient.ui.components.CosmeticPreview; import org.saturnclient.ui.components.CosmeticPreview;
@@ -16,7 +16,7 @@ import org.saturnclient.ui.elements.TabMenu;
import org.saturnclient.ui.elements.TabMenu.TabMenuComponent; import org.saturnclient.ui.elements.TabMenu.TabMenuComponent;
import org.saturnclient.ui.resources.Textures; import org.saturnclient.ui.resources.Textures;
public class CloakMenu extends SaturnScreenFabric { public class CloakMenu extends SaturnScreen {
public CloakMenu() { public CloakMenu() {
super("Cloaks Menu"); super("Cloaks Menu");
} }
@@ -68,7 +68,7 @@ public class CloakMenu extends SaturnScreenFabric {
.position(scroll.x + (scrollWidth - 220), scroll.y + 40) .position(scroll.x + (scrollWidth - 220), scroll.y + 40)
.animation(new Fade(500))); .animation(new Fade(500)));
draw(new Sidebar(2, this::close) draw(new Sidebar(2, this.provider::close)
.centerOffset(width, height, -(scrollWidth / 2 + 20), 0) .centerOffset(width, height, -(scrollWidth / 2 + 20), 0)
.animation(new Fade(400))); .animation(new Fade(400)));
@@ -4,7 +4,7 @@ import org.saturnclient.cosmetics.hat.Hats;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.player.SaturnPlayer; import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.AnimationConfig;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.anim.Fade; import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideY; import org.saturnclient.ui.anim.SlideY;
import org.saturnclient.ui.components.CosmeticPreview; import org.saturnclient.ui.components.CosmeticPreview;
@@ -16,7 +16,7 @@ import org.saturnclient.ui.elements.TabMenu;
import org.saturnclient.ui.elements.TabMenu.TabMenuComponent; import org.saturnclient.ui.elements.TabMenu.TabMenuComponent;
import org.saturnclient.ui.resources.Textures; import org.saturnclient.ui.resources.Textures;
public class HatMenu extends SaturnScreenFabric { public class HatMenu extends SaturnScreen {
public HatMenu() { public HatMenu() {
super("Hats Menu"); super("Hats Menu");
} }
@@ -69,7 +69,7 @@ public class HatMenu extends SaturnScreenFabric {
.position(scroll.x + (scrollWidth - 220), scroll.y + 40) .position(scroll.x + (scrollWidth - 220), scroll.y + 40)
.animation(new Fade(500))); .animation(new Fade(500)));
draw(new Sidebar(2, this::close) draw(new Sidebar(2, this.provider::close)
.centerOffset(width, height, -(scrollWidth / 2 + 20), 0) .centerOffset(width, height, -(scrollWidth / 2 + 20), 0)
.animation(new Fade(400))); .animation(new Fade(400)));
@@ -6,7 +6,7 @@ import org.saturnclient.saturnclient.client.ServiceClient;
import org.saturnclient.saturnclient.client.player.SaturnPlayer; import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Theme; import org.saturnclient.config.Theme;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.Utils; import org.saturnclient.ui.Utils;
import org.saturnclient.ui.anim.Fade; import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideY; import org.saturnclient.ui.anim.SlideY;
@@ -24,7 +24,7 @@ import org.saturnclient.ui.resources.Textures;
import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.systems.RenderSystem;
public class CloakStore extends SaturnScreenFabric { public class CloakStore extends SaturnScreen {
private long lastPurchaseTime = 0; private long lastPurchaseTime = 0;
public CloakStore() { public CloakStore() {
@@ -99,7 +99,7 @@ public class CloakStore extends SaturnScreenFabric {
.dimensions(scrollWidth, 350) .dimensions(scrollWidth, 350)
.centerOffset(width, height, 15, 0)); .centerOffset(width, height, 15, 0));
draw(new Sidebar(5, this::close) draw(new Sidebar(5, this.provider::close)
.centerOffset(width, height, -((scrollWidth - 30) / 2 + 20), 0) .centerOffset(width, height, -((scrollWidth - 30) / 2 + 20), 0)
.animation(new Fade(400))); .animation(new Fade(400)));
@@ -130,15 +130,15 @@ public class CloakStore extends SaturnScreenFabric {
RenderSystem.recordRenderCall(() -> { RenderSystem.recordRenderCall(() -> {
SaturnClient.client.setScreen(new CloakStore(now)); SaturnClient.client.setScreen(new CloakStore(now));
// Utils.notify(NotificationKind.Success, // Utils.notify(NotificationKind.Success,
// "Purchase complete", // "Purchase complete",
// "Congrats, enjoy your new cloak!"); // "Congrats, enjoy your new cloak!");
}); });
}).start(); }).start();
} else { } else {
// Utils.notify(NotificationKind.Error, // Utils.notify(NotificationKind.Error,
// "Timeout error", // "Timeout error",
// "Please wait 3 seconds"); // "Please wait 3 seconds");
} }
} }
} }
@@ -6,7 +6,7 @@ import org.saturnclient.saturnclient.client.ServiceClient;
import org.saturnclient.saturnclient.client.player.SaturnPlayer; import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Theme; import org.saturnclient.config.Theme;
import org.saturnclient.ui.SaturnScreenFabric; import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.Utils; import org.saturnclient.ui.Utils;
import org.saturnclient.ui.anim.Fade; import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideY; import org.saturnclient.ui.anim.SlideY;
@@ -24,7 +24,7 @@ import org.saturnclient.ui.resources.Textures;
import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.systems.RenderSystem;
public class HatStore extends SaturnScreenFabric { public class HatStore extends SaturnScreen {
private long lastPurchaseTime = 0; private long lastPurchaseTime = 0;
public HatStore() { public HatStore() {
@@ -100,7 +100,7 @@ public class HatStore extends SaturnScreenFabric {
.dimensions(scrollWidth, 350) .dimensions(scrollWidth, 350)
.centerOffset(width, height, 15, 0)); .centerOffset(width, height, 15, 0));
draw(new Sidebar(5, this::close) draw(new Sidebar(5, this.provider::close)
.centerOffset(width, height, -((scrollWidth - 30) / 2 + 20), 0) .centerOffset(width, height, -((scrollWidth - 30) / 2 + 20), 0)
.animation(new Fade(400))); .animation(new Fade(400)));
@@ -131,15 +131,15 @@ public class HatStore extends SaturnScreenFabric {
RenderSystem.recordRenderCall(() -> { RenderSystem.recordRenderCall(() -> {
SaturnClient.client.setScreen(new HatStore(now)); SaturnClient.client.setScreen(new HatStore(now));
// Utils.notify(NotificationKind.Success, // Utils.notify(NotificationKind.Success,
// "Purchase complete", // "Purchase complete",
// "Congrats, enjoy your new hat!"); // "Congrats, enjoy your new hat!");
}); });
}).start(); }).start();
} else { } else {
// Utils.notify(NotificationKind.Error, // Utils.notify(NotificationKind.Error,
// "Timeout error", // "Timeout error",
// "Please wait 3 seconds"); // "Please wait 3 seconds");
} }
} }
} }