diff options
5 files changed, 30 insertions, 3 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/Config.java b/src/main/java/cc/polyfrost/oneconfig/config/Config.java index 9c70aa6..9557728 100644 --- a/src/main/java/cc/polyfrost/oneconfig/config/Config.java +++ b/src/main/java/cc/polyfrost/oneconfig/config/Config.java @@ -32,6 +32,7 @@ import java.nio.file.Files; import java.util.*; import java.util.function.Supplier; +@SuppressWarnings({"unused", "ResultOfMethodCallIgnored"}) public class Config { public final transient HashMap<String, BasicOption> optionNames = new HashMap<>(); transient protected final String configFile; @@ -303,4 +304,20 @@ public class Config { keyBind.setRunnable(runnable); KeyBindHandler.INSTANCE.addKeyBind(keyBind); } + + /** + * Reset this config file to its defaults. + * @return true if successful, false if not. + * @deprecated <b>not implemented yet.</b> + */ + @Deprecated + public boolean reset() { + try { + // TODO + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } } diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/HudGui.java b/src/main/java/cc/polyfrost/oneconfig/gui/HudGui.java index b45a1d8..f5b1d3f 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/HudGui.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/HudGui.java @@ -8,6 +8,7 @@ import cc.polyfrost.oneconfig.renderer.RenderManager; import cc.polyfrost.oneconfig.libs.universal.UKeyboard; import cc.polyfrost.oneconfig.libs.universal.UMatrixStack; import cc.polyfrost.oneconfig.libs.universal.UScreen; +import cc.polyfrost.oneconfig.utils.gui.GuiUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -18,9 +19,15 @@ public class HudGui extends UScreen implements GuiPause { private Hud editingHud; private boolean isDragging; private boolean isScaling; + private final boolean openOneConfigOnClose; private int xOffset; private int yOffset; + public HudGui(boolean openOneConfigOnClose) { + super(); + this.openOneConfigOnClose = openOneConfigOnClose; + } + @Override public void initScreen(int width, int height) { HudCore.editing = true; @@ -275,6 +282,7 @@ public class HudGui extends UScreen implements GuiPause { HudCore.editing = false; UKeyboard.allowRepeatEvents(false); ConfigCore.saveAll(); + if(openOneConfigOnClose) GuiUtils.displayScreen(OneConfigGui.create()); } @Override diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java index 35946e0..1095ae0 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java @@ -188,7 +188,9 @@ public class OneConfigGui extends UScreen implements GuiPause { public void onKeyPressed(int keyCode, char typedChar, @Nullable UKeyboard.Modifiers modifiers) { UKeyboard.allowRepeatEvents(true); try { - if (allowClose) super.onKeyPressed(keyCode, typedChar, modifiers); + if (keyCode == 1 && currentPage.parents.size() > 1) { + openPage(currentPage.parents.get(currentPage.parents.size() - 2)); + } else if (allowClose) super.onKeyPressed(keyCode, typedChar, modifiers); textInputField.keyTyped(typedChar, keyCode); if (currentColorSelector != null) currentColorSelector.keyTyped(typedChar, keyCode); currentPage.keyTyped(typedChar, keyCode); diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java b/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java index df3330d..d1b5532 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/SideBar.java @@ -43,7 +43,7 @@ public class SideBar { buttons.get(0).setClickAction(new CreditsPage()); buttons.get(2).setClickAction(new ModsPage()); buttons.get(8).setClickAction(new ModConfigPage(Preferences.getInstance().mod.defaultPage, true)); - HUDButton.setClickAction(() -> GuiUtils.displayScreen(new HudGui())); + HUDButton.setClickAction(() -> GuiUtils.displayScreen(new HudGui(true))); CloseButton.setClickAction(GuiUtils::closeScreen); for (BasicButton button : buttons) { if (button.hasClickAction()) continue; diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/command/OneConfigCommand.java b/src/main/java/cc/polyfrost/oneconfig/internal/command/OneConfigCommand.java index 7f38721..93d3c42 100644 --- a/src/main/java/cc/polyfrost/oneconfig/internal/command/OneConfigCommand.java +++ b/src/main/java/cc/polyfrost/oneconfig/internal/command/OneConfigCommand.java @@ -23,7 +23,7 @@ public class OneConfigCommand { private static class HUDSubCommand { @Main private static void main() { - GuiUtils.displayScreen(new HudGui()); + GuiUtils.displayScreen(new HudGui(false)); } } |