Title menu stuff

This commit is contained in:
2026-03-07 17:19:13 +01:00
parent c861b0af42
commit 580f3daa98
2 changed files with 15 additions and 6 deletions
@@ -8,10 +8,18 @@ import java.awt.image.BufferedImage;
public abstract class MinecraftProvider { public abstract class MinecraftProvider {
public static MinecraftProvider PROVIDER; public static MinecraftProvider PROVIDER;
public static enum MinecraftScreen {
SelectWorld,
Multiplayer,
Options
}
public abstract IMinecraftClient getClient(); public abstract IMinecraftClient getClient();
public abstract void setScreen(SaturnScreen screen); public abstract void setScreen(SaturnScreen screen);
public abstract void setScreen(MinecraftScreen screen);
public abstract Object createIdentifier(String namespace, String path); public abstract Object createIdentifier(String namespace, String path);
public abstract boolean isKeyPressed(int key); public abstract boolean isKeyPressed(int key);
@@ -21,4 +29,6 @@ public abstract class MinecraftProvider {
public abstract void registerBufferedImageTexture(SaturnIdentifier i, BufferedImage bi); public abstract void registerBufferedImageTexture(SaturnIdentifier i, BufferedImage bi);
public abstract String getKeyName(int key); public abstract String getKeyName(int key);
public abstract void stop();
} }
@@ -1,6 +1,7 @@
package org.saturnclient.ui.screens; package org.saturnclient.ui.screens;
import org.saturnclient.common.minecraft.MinecraftProvider; import org.saturnclient.common.minecraft.MinecraftProvider;
import org.saturnclient.common.minecraft.MinecraftProvider.MinecraftScreen;
import org.saturnclient.config.AnimationConfig; import org.saturnclient.config.AnimationConfig;
import org.saturnclient.config.Config; import org.saturnclient.config.Config;
import org.saturnclient.ui.SaturnScreen; import org.saturnclient.ui.SaturnScreen;
@@ -31,25 +32,23 @@ public class TitleMenu extends SaturnScreen {
AnimationStagger mainButtonStagger = new AnimationStagger(AnimationConfig.mainMenu); AnimationStagger mainButtonStagger = new AnimationStagger(AnimationConfig.mainMenu);
// TODO implement all of these
mainButtonStagger.draw(new Button("SINGLEPLAYER", () -> { mainButtonStagger.draw(new Button("SINGLEPLAYER", () -> {
// MinecraftProvider.PROVIDER.setScreen(new SelectWorldScreen(new TitleMenu())); MinecraftProvider.PROVIDER.setScreen(MinecraftScreen.SelectWorld);
}).scale(0.69f).dimensions(420, 52).position(0, 0) }).scale(0.69f).dimensions(420, 52).position(0, 0)
.animation(new SlideFade(AnimationConfig.mainMenu, -10))); .animation(new SlideFade(AnimationConfig.mainMenu, -10)));
mainButtonStagger.draw(new Button("MULTIPLAYER", () -> { mainButtonStagger.draw(new Button("MULTIPLAYER", () -> {
// MinecraftProvider.PROVIDER.setScreen(new MultiplayerScreen(new TitleMenu())); MinecraftProvider.PROVIDER.setScreen(MinecraftScreen.Multiplayer);
}).scale(0.69f).dimensions(420, 52).position(0, 40) }).scale(0.69f).dimensions(420, 52).position(0, 40)
.animation(new SlideFade(AnimationConfig.mainMenu, -10))); .animation(new SlideFade(AnimationConfig.mainMenu, -10)));
mainButtonStagger.draw(new Button("OPTIONS", () -> { mainButtonStagger.draw(new Button("OPTIONS", () -> {
// MinecraftProvider.PROVIDER.setScreen(new OptionsScreen(new TitleMenu(), SaturnClient.client.options)); MinecraftProvider.PROVIDER.setScreen(MinecraftScreen.Options);
}).scale(0.69f).dimensions(206, 52).position(0, 80) }).scale(0.69f).dimensions(206, 52).position(0, 80)
.animation(new SlideFade(AnimationConfig.mainMenu, -10))); .animation(new SlideFade(AnimationConfig.mainMenu, -10)));
mainButtonStagger.draw(new Button("QUIT", () -> { mainButtonStagger.draw(new Button("QUIT", () -> {
// client.scheduleStop(); MinecraftProvider.PROVIDER.stop();
}).scale(0.69f).dimensions(206, 52).position(146, 80) }).scale(0.69f).dimensions(206, 52).position(146, 80)
.animation(new SlideFade(AnimationConfig.mainMenu, -10))); .animation(new SlideFade(AnimationConfig.mainMenu, -10)));