This commit is contained in:
2026-03-07 16:13:11 +01:00
parent 90db3d3915
commit 8d528387db
10 changed files with 35 additions and 33 deletions
@@ -8,14 +8,15 @@ import org.saturnclient.common.minecraft.MinecraftProvider;
import org.saturnclient.common.minecraft.bindings.SaturnIdentifier;
import org.saturnclient.cosmetics.cloak.utils.IdentifierUtils;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.SaturnScreenFabric;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;
public class SaturnClientProvider extends MinecraftProvider {
@Override
public IMinecraftClient getClient() {
return (IMinecraftClient) MinecraftClient.getInstance();
return (IMinecraftClient) SaturnClient.client;
}
@Override
@@ -43,4 +44,9 @@ public class SaturnClientProvider extends MinecraftProvider {
public String getKeyName(int key) {
return GLFW.glfwGetKeyName(key, GLFW.glfwGetKeyScancode(key));
}
@Override
public void setScreen(SaturnScreen screen) {
SaturnClient.client.setScreen(new SaturnScreenFabric(screen));
}
}
@@ -4,10 +4,11 @@ import org.saturnclient.modules.HudMod;
import org.saturnclient.modules.ModDimensions;
import org.saturnclient.modules.ModManager;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.menus.HudEditor;
import org.saturnclient.saturnclient.mixin.DrawContextAccessor;
import org.saturnclient.ui.RenderScope;
import org.saturnclient.ui.RenderScopeImpl;
import org.saturnclient.ui.SaturnScreenFabric;
import org.saturnclient.ui.screens.HudEditor;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -25,7 +26,7 @@ public class RenderMixin {
TextRenderer textRenderer = SaturnClient.client.textRenderer;
if (textRenderer != null &&
!(SaturnClient.client.currentScreen instanceof HudEditor)) {
!(SaturnClient.client.currentScreen instanceof SaturnScreenFabric f && f.screen instanceof HudEditor)) {
RenderScope renderScope = new RenderScopeImpl(context.getMatrices(),
((DrawContextAccessor) context).getVertexConsumers());
@@ -31,7 +31,7 @@ public class SaturnScreenFabric extends Screen implements ScreenProvider {
}
private final Pool pool = new Pool(3);
private final SaturnScreen screen;
public final SaturnScreen screen;
public static void preload(MinecraftClient client) {
TextureManager textureManager = client.getTextureManager();
@@ -1,9 +1,8 @@
package org.saturnclient.ui.screens;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.common.minecraft.MinecraftProvider;
import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Config;
import org.saturnclient.saturnclient.menus.HudEditor;
import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideY;
@@ -42,17 +41,17 @@ public class ShiftMenu extends SaturnScreen {
AnimationStagger stagger = new AnimationStagger(AnimationConfig.shiftMenu.stagger.value);
stagger.draw(new TextureButton(Textures.HUD_ICON, () -> {
client.setScreen(new HudEditor());
MinecraftProvider.PROVIDER.setScreen(new HudEditor());
}).dimensions(btnHeight, btnHeight).position(0, 0)
.animation(new Fade(AnimationConfig.shiftMenu)));
stagger.draw(new Button("Settings", () -> {
SaturnClient.client.setScreen(new ModMenu());
MinecraftProvider.PROVIDER.setScreen(new ModMenu());
}).dimensions(btnWidth, btnHeight).position(btnHeight + spacing, 0)
.animation(new Fade(AnimationConfig.shiftMenu)));
stagger.draw(new TextureButton(Textures.COSMETICS, () -> {
client.setScreen(new CloakMenu());
MinecraftProvider.PROVIDER.setScreen(new CloakMenu());
}).dimensions(btnHeight, btnHeight).position(btnWidth + btnHeight + (spacing * 2), 0)
.animation(new Fade(AnimationConfig.shiftMenu)));
@@ -1,9 +1,9 @@
package org.saturnclient.ui.screens;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.common.minecraft.MinecraftProvider;
import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Config;
import org.saturnclient.saturnclient.menus.HudEditor;
import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideFade;
@@ -37,22 +37,22 @@ public class TitleMenu extends SaturnScreen {
AnimationStagger mainButtonStagger = new AnimationStagger(AnimationConfig.mainMenu);
mainButtonStagger.draw(new Button("SINGLEPLAYER", () -> {
client.setScreen(new SelectWorldScreen(new TitleMenu()));
// MinecraftProvider.PROVIDER.setScreen(new SelectWorldScreen(new TitleMenu()));
}).scale(0.69f).dimensions(420, 52).position(0, 0)
.animation(new SlideFade(AnimationConfig.mainMenu, -10)));
mainButtonStagger.draw(new Button("MULTIPLAYER", () -> {
client.setScreen(new MultiplayerScreen(new TitleMenu()));
// MinecraftProvider.PROVIDER.setScreen(new MultiplayerScreen(new TitleMenu()));
}).scale(0.69f).dimensions(420, 52).position(0, 40)
.animation(new SlideFade(AnimationConfig.mainMenu, -10)));
mainButtonStagger.draw(new Button("OPTIONS", () -> {
client.setScreen(new OptionsScreen(new TitleMenu(), SaturnClient.client.options));
// MinecraftProvider.PROVIDER.setScreen(new OptionsScreen(new TitleMenu(), SaturnClient.client.options));
}).scale(0.69f).dimensions(206, 52).position(0, 80)
.animation(new SlideFade(AnimationConfig.mainMenu, -10)));
mainButtonStagger.draw(new Button("QUIT", () -> {
client.scheduleStop();
// client.scheduleStop();
}).scale(0.69f).dimensions(206, 52).position(146, 80)
.animation(new SlideFade(AnimationConfig.mainMenu, -10)));
@@ -63,16 +63,16 @@ public class TitleMenu extends SaturnScreen {
AnimationStagger saturnStagger = new AnimationStagger(AnimationConfig.mainMenu.stagger.value);
saturnStagger.draw(new TextureButton(Textures.HUD_ICON, () -> {
client.setScreen(new HudEditor());
MinecraftProvider.PROVIDER.setScreen(new HudEditor());
}).dimensions(s, s).position(0, 0).animation(new SlideFade(AnimationConfig.mainMenu, s + 8)));
saturnStagger.draw(new TextureButton(Textures.SETTINGS, () -> {
SaturnClient.client.setScreen(new ModMenu());
MinecraftProvider.PROVIDER.setScreen(new ModMenu());
}).dimensions(s, s).position(s + 2, 0)
.animation(new SlideFade(AnimationConfig.mainMenu, s + 8)));
saturnStagger.draw(new TextureButton(Textures.CLOAK, () -> {
client.setScreen(new CloakMenu());
MinecraftProvider.PROVIDER.setScreen(new CloakMenu());
}).dimensions(s, s).position((s + 2) * 2, 0)
.animation(new SlideFade(AnimationConfig.mainMenu, s + 8)));
@@ -1,8 +1,8 @@
package org.saturnclient.ui.screens.cosmetics;
import org.saturnclient.cosmetics.cloak.Cloaks;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.common.minecraft.MinecraftProvider;
import org.saturnclient.config.AnimationConfig;
import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.anim.Fade;
@@ -76,7 +76,7 @@ public class CloakMenu extends SaturnScreen {
new TabMenuComponent(Textures.CLOAK, () -> {
}),
new TabMenuComponent(Textures.HAT, () -> {
SaturnClient.client.setScreen(new HatMenu());
MinecraftProvider.PROVIDER.setScreen(new HatMenu());
}))
.centerOffset(width, height, 0, -195));
}
@@ -1,8 +1,8 @@
package org.saturnclient.ui.screens.cosmetics;
import org.saturnclient.cosmetics.hat.Hats;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.common.minecraft.MinecraftProvider;
import org.saturnclient.config.AnimationConfig;
import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.anim.Fade;
@@ -75,7 +75,7 @@ public class HatMenu extends SaturnScreen {
draw(new TabMenu(1,
new TabMenuComponent(Textures.CLOAK, () -> {
SaturnClient.client.setScreen(new CloakMenu());
MinecraftProvider.PROVIDER.setScreen(new CloakMenu());
}),
new TabMenuComponent(Textures.HAT, () -> {
}))
@@ -1,13 +1,12 @@
package org.saturnclient.ui.screens.store;
import org.saturnclient.cosmetics.cloak.Cloaks;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.ServiceClient;
import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.common.minecraft.MinecraftProvider;
import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Theme;
import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.Utils;
import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideY;
import org.saturnclient.ui.components.CosmeticPreview;
@@ -17,7 +16,6 @@ import org.saturnclient.ui.elements.ImageTexture;
import org.saturnclient.ui.elements.Scroll;
import org.saturnclient.ui.elements.TabMenu;
import org.saturnclient.ui.elements.Text;
import org.saturnclient.ui.elements.Notification.NotificationKind;
import org.saturnclient.ui.elements.TabMenu.TabMenuComponent;
import org.saturnclient.ui.resources.Fonts;
import org.saturnclient.ui.resources.Textures;
@@ -107,7 +105,7 @@ public class CloakStore extends SaturnScreen {
new TabMenuComponent(Textures.CLOAK, () -> {
}),
new TabMenuComponent(Textures.HAT, () -> {
SaturnClient.client.setScreen(new HatStore());
MinecraftProvider.PROVIDER.setScreen(new HatStore());
}))
.centerOffset(width, height, 0, -195));
}
@@ -128,7 +126,7 @@ public class CloakStore extends SaturnScreen {
}
RenderSystem.recordRenderCall(() -> {
SaturnClient.client.setScreen(new CloakStore(now));
MinecraftProvider.PROVIDER.setScreen(new CloakStore(now));
// Utils.notify(NotificationKind.Success,
// "Purchase complete",
// "Congrats, enjoy your new cloak!");
@@ -1,13 +1,12 @@
package org.saturnclient.ui.screens.store;
import org.saturnclient.cosmetics.hat.Hats;
import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.client.ServiceClient;
import org.saturnclient.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.common.minecraft.MinecraftProvider;
import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Theme;
import org.saturnclient.ui.SaturnScreen;
import org.saturnclient.ui.Utils;
import org.saturnclient.ui.anim.Fade;
import org.saturnclient.ui.anim.SlideY;
import org.saturnclient.ui.components.CosmeticPreview;
@@ -17,7 +16,6 @@ import org.saturnclient.ui.elements.ImageTexture;
import org.saturnclient.ui.elements.Scroll;
import org.saturnclient.ui.elements.TabMenu;
import org.saturnclient.ui.elements.Text;
import org.saturnclient.ui.elements.Notification.NotificationKind;
import org.saturnclient.ui.elements.TabMenu.TabMenuComponent;
import org.saturnclient.ui.resources.Fonts;
import org.saturnclient.ui.resources.Textures;
@@ -106,7 +104,7 @@ public class HatStore extends SaturnScreen {
draw(new TabMenu(1,
new TabMenuComponent(Textures.CLOAK, () -> {
SaturnClient.client.setScreen(new CloakStore());
MinecraftProvider.PROVIDER.setScreen(new CloakStore());
}),
new TabMenuComponent(Textures.HAT, () -> {
}))
@@ -129,7 +127,7 @@ public class HatStore extends SaturnScreen {
}
RenderSystem.recordRenderCall(() -> {
SaturnClient.client.setScreen(new HatStore(now));
MinecraftProvider.PROVIDER.setScreen(new HatStore(now));
// Utils.notify(NotificationKind.Success,
// "Purchase complete",
// "Congrats, enjoy your new hat!");