Title menu stuff

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