diff --git a/1.16_combat-6/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java b/1.16_combat-6/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java index 50686e8e4..7b2883aeb 100644 --- a/1.16_combat-6/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java +++ b/1.16_combat-6/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java @@ -33,6 +33,7 @@ import io.github.axolotlclient.AxolotlClientConfig.api.ui.ConfigUI; import io.github.axolotlclient.AxolotlClientConfig.api.util.Color; import io.github.axolotlclient.AxolotlClientConfig.impl.options.*; +import io.github.axolotlclient.AxolotlClientConfig.impl.ui.RecreatableScreen; import io.github.axolotlclient.AxolotlClientConfigCommon; import io.github.axolotlclient.config.screen.CreditsScreen; import io.github.axolotlclient.config.screen.ProfilesScreen; @@ -43,6 +44,7 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.options.KeyBinding; import net.minecraft.client.texture.NativeImage; import net.minecraft.client.texture.NativeImageBackedTexture; @@ -155,7 +157,9 @@ public AxolotlClientConfig() { general.add(configStyle = new StringArrayOption("configStyle", themes, "configStyle." + ConfigUI.getInstance().getCurrentStyle().getName(), s -> { ConfigUI.getInstance().setStyle(s.split("\\.")[1]); - MinecraftClient.getInstance().openScreen(null); + + Screen newScreen = RecreatableScreen.tryRecreate(MinecraftClient.getInstance().currentScreen); + MinecraftClient.getInstance().openScreen(newScreen); })); AxolotlClient.getInstance().getConfigManager().load(); ConfigUI.getInstance().setStyle(configStyle.get().split("\\.")[1]); diff --git a/1.20/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java b/1.20/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java index 479ac9d3c..67032ba6f 100644 --- a/1.20/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java +++ b/1.20/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java @@ -34,6 +34,7 @@ import io.github.axolotlclient.AxolotlClientConfig.api.ui.ConfigUI; import io.github.axolotlclient.AxolotlClientConfig.api.util.Color; import io.github.axolotlclient.AxolotlClientConfig.impl.options.*; +import io.github.axolotlclient.AxolotlClientConfig.impl.ui.RecreatableScreen; import io.github.axolotlclient.AxolotlClientConfigCommon; import io.github.axolotlclient.config.screen.CreditsScreen; import io.github.axolotlclient.config.screen.ProfilesScreen; @@ -43,6 +44,7 @@ import io.github.axolotlclient.util.options.GenericOption; import lombok.Getter; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.option.KeyBind; import net.minecraft.client.texture.NativeImageBackedTexture; @@ -152,7 +154,9 @@ public AxolotlClientConfig() { general.add(configStyle = new StringArrayOption("configStyle", themes, "configStyle." + ConfigUI.getInstance().getCurrentStyle().getName(), s -> { ConfigUI.getInstance().setStyle(s.split("\\.")[1]); - MinecraftClient.getInstance().setScreen(null); + + Screen newScreen = RecreatableScreen.tryRecreate(MinecraftClient.getInstance().currentScreen); + MinecraftClient.getInstance().setScreen(newScreen); })); AxolotlClient.getInstance().getConfigManager().load(); ConfigUI.getInstance().setStyle(configStyle.get().split("\\.")[1]); diff --git a/1.21/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java b/1.21/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java index bb933d999..ca8e6539f 100644 --- a/1.21/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java +++ b/1.21/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java @@ -34,6 +34,7 @@ import io.github.axolotlclient.AxolotlClientConfig.api.ui.ConfigUI; import io.github.axolotlclient.AxolotlClientConfig.api.util.Color; import io.github.axolotlclient.AxolotlClientConfig.impl.options.*; +import io.github.axolotlclient.AxolotlClientConfig.impl.ui.RecreatableScreen; import io.github.axolotlclient.AxolotlClientConfigCommon; import io.github.axolotlclient.config.screen.CreditsScreen; import io.github.axolotlclient.config.screen.ProfilesScreen; @@ -43,6 +44,7 @@ import io.github.axolotlclient.util.options.GenericOption; import lombok.Getter; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.option.KeyBind; import net.minecraft.client.texture.NativeImageBackedTexture; @@ -151,7 +153,9 @@ public AxolotlClientConfig() { general.add(configStyle = new StringArrayOption("configStyle", themes, "configStyle." + ConfigUI.getInstance().getCurrentStyle().getName(), s -> { ConfigUI.getInstance().setStyle(s.split("\\.")[1]); - MinecraftClient.getInstance().setScreen(null); + + Screen newScreen = RecreatableScreen.tryRecreate(MinecraftClient.getInstance().currentScreen); + MinecraftClient.getInstance().setScreen(newScreen); })); AxolotlClient.getInstance().getConfigManager().load(); ConfigUI.getInstance().setStyle(configStyle.get().split("\\.")[1]); diff --git a/1.8.9/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java b/1.8.9/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java index 263ea8094..95700e45c 100644 --- a/1.8.9/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java +++ b/1.8.9/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java @@ -30,8 +30,11 @@ import io.github.axolotlclient.AxolotlClientConfig.api.options.Option; import io.github.axolotlclient.AxolotlClientConfig.api.options.OptionCategory; import io.github.axolotlclient.AxolotlClientConfig.api.ui.ConfigUI; +import io.github.axolotlclient.AxolotlClientConfig.api.ui.screen.ConfigScreen; import io.github.axolotlclient.AxolotlClientConfig.api.util.Color; import io.github.axolotlclient.AxolotlClientConfig.impl.options.*; +import io.github.axolotlclient.AxolotlClientConfig.impl.ui.RecreatableScreen; +import io.github.axolotlclient.AxolotlClientConfig.impl.util.ConfigStyles; import io.github.axolotlclient.AxolotlClientConfigCommon; import io.github.axolotlclient.config.screen.CreditsScreen; import io.github.axolotlclient.config.screen.ProfilesScreen; @@ -41,6 +44,7 @@ import io.github.axolotlclient.util.options.GenericOption; import lombok.Getter; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.options.KeyBinding; import net.ornithemc.osl.keybinds.api.KeyBindingEvents; import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; @@ -135,7 +139,9 @@ public AxolotlClientConfig() { general.add(configStyle = new StringArrayOption("configStyle", themes, "configStyle." + ConfigUI.getInstance().getCurrentStyle().getName(), s -> { ConfigUI.getInstance().setStyle(s.split("\\.")[1]); - Minecraft.getInstance().openScreen(null); + + Screen newScreen = RecreatableScreen.tryRecreate(Minecraft.getInstance().screen); + Minecraft.getInstance().openScreen(newScreen); })); AxolotlClient.getInstance().getConfigManager().load(); ConfigUI.getInstance().setStyle(configStyle.get().split("\\.")[1]); diff --git a/1.latest/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java b/1.latest/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java index 354632c94..7aa0a4200 100644 --- a/1.latest/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java +++ b/1.latest/src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java @@ -33,6 +33,7 @@ import io.github.axolotlclient.AxolotlClientConfig.api.ui.ConfigUI; import io.github.axolotlclient.AxolotlClientConfig.api.util.Color; import io.github.axolotlclient.AxolotlClientConfig.impl.options.*; +import io.github.axolotlclient.AxolotlClientConfig.impl.ui.RecreatableScreen; import io.github.axolotlclient.AxolotlClientConfigCommon; import io.github.axolotlclient.config.screen.CreditsScreen; import io.github.axolotlclient.config.screen.ProfilesScreen; @@ -43,6 +44,7 @@ import lombok.Getter; import net.minecraft.client.KeyMapping; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.renderer.texture.DynamicTexture; public class AxolotlClientConfig extends AxolotlClientConfigCommon { @@ -140,7 +142,10 @@ public AxolotlClientConfig() { general.add(configStyle = new StringArrayOption("configStyle", themes, "configStyle." + ConfigUI.getInstance().getCurrentStyle().getName(), s -> { ConfigUI.getInstance().setStyle(s.split("\\.")[1]); - Minecraft.getInstance().schedule(() -> Minecraft.getInstance().setScreen(null)); + Minecraft.getInstance().schedule(() -> { + Screen newScreen = RecreatableScreen.tryRecreate(Minecraft.getInstance().screen); + Minecraft.getInstance().setScreen(newScreen); + }); })); AxolotlClient.getInstance().getConfigManager().load(); ConfigUI.getInstance().setStyle(configStyle.get().split("\\.")[1]);