Screens
This commit is contained in:
@@ -10,7 +10,7 @@ public abstract class MinecraftProvider {
|
||||
|
||||
public abstract IMinecraftClient getClient();
|
||||
|
||||
public abstract IMinecraftClient setScreen(SaturnScreen screen);
|
||||
public abstract void setScreen(SaturnScreen screen);
|
||||
|
||||
public abstract Object createIdentifier(String namespace, String path);
|
||||
|
||||
|
||||
@@ -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!");
|
||||
|
||||
Reference in New Issue
Block a user