aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-04-05 21:41:09 -0400
committerMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-04-05 21:41:09 -0400
commit4d9d4e7276f7db1aef03672618c8955f54fa3ae2 (patch)
tree6687da2e6662557598dc730e352e25b80d60ed74 /src/main
parent875f038937593dd3f838cb13fb69d14d383c7068 (diff)
downloadSkytilsMod-4d9d4e7276f7db1aef03672618c8955f54fa3ae2.tar.gz
SkytilsMod-4d9d4e7276f7db1aef03672618c8955f54fa3ae2.tar.bz2
SkytilsMod-4d9d4e7276f7db1aef03672618c8955f54fa3ae2.zip
Fix reopen gui not working in production environment on SettingsGui
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/skytils/skytilsmod/Skytils.java16
-rw-r--r--src/main/java/skytils/skytilsmod/gui/LocationEditGui.java1
-rw-r--r--src/main/java/skytils/skytilsmod/gui/commandaliases/CommandAliasesGui.java1
-rw-r--r--src/main/java/skytils/skytilsmod/gui/keyshortcuts/KeyShortcutsGui.java1
-rw-r--r--src/main/java/skytils/skytilsmod/mixins/AccessorSettingsGui.java12
-rw-r--r--src/main/java/skytils/skytilsmod/mixins/MixinSettingsGui.java29
-rw-r--r--src/main/resources/mixins.skytils.json2
7 files changed, 29 insertions, 33 deletions
diff --git a/src/main/java/skytils/skytilsmod/Skytils.java b/src/main/java/skytils/skytilsmod/Skytils.java
index 50a04d3b..d0a61fb0 100644
--- a/src/main/java/skytils/skytilsmod/Skytils.java
+++ b/src/main/java/skytils/skytilsmod/Skytils.java
@@ -1,13 +1,16 @@
package skytils.skytilsmod;
import club.sk1er.mods.core.ModCore;
+import club.sk1er.vigilance.gui.SettingsGui;
import com.google.common.collect.Lists;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiIngameMenu;
+import net.minecraft.client.gui.GuiScreen;
import net.minecraft.command.ICommand;
import net.minecraft.network.play.client.C01PacketChatMessage;
import net.minecraftforge.client.ClientCommandHandler;
+import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.client.event.GuiScreenEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.common.MinecraftForge;
@@ -38,9 +41,13 @@ import skytils.skytilsmod.features.impl.mining.MiningFeatures;
import skytils.skytilsmod.features.impl.misc.*;
import skytils.skytilsmod.features.impl.spidersden.RelicWaypoints;
import skytils.skytilsmod.features.impl.spidersden.SpidersDenFeatures;
+import skytils.skytilsmod.gui.LocationEditGui;
import skytils.skytilsmod.gui.OptionsGui;
+import skytils.skytilsmod.gui.commandaliases.CommandAliasesGui;
+import skytils.skytilsmod.gui.keyshortcuts.KeyShortcutsGui;
import skytils.skytilsmod.listeners.ChatListener;
import skytils.skytilsmod.mixins.AccessorCommandHandler;
+import skytils.skytilsmod.mixins.AccessorSettingsGui;
import skytils.skytilsmod.utils.MayorInfo;
import skytils.skytilsmod.utils.SBInfo;
import skytils.skytilsmod.utils.Utils;
@@ -244,4 +251,13 @@ public class Skytils {
}
}
+ @SubscribeEvent
+ public void onGuiChange(GuiOpenEvent event) {
+ GuiScreen old = mc.currentScreen;
+ if (event.gui == null && Skytils.config.reopenOptionsMenu) {
+ boolean isSettingsGui = old instanceof CommandAliasesGui || old instanceof LocationEditGui || old instanceof KeyShortcutsGui || (old instanceof SettingsGui && ((AccessorSettingsGui) old).getConfig() instanceof Config);
+ if (isSettingsGui) event.gui = new OptionsGui();
+ }
+ }
+
}
diff --git a/src/main/java/skytils/skytilsmod/gui/LocationEditGui.java b/src/main/java/skytils/skytilsmod/gui/LocationEditGui.java
index 8d83a4a8..2812278a 100644
--- a/src/main/java/skytils/skytilsmod/gui/LocationEditGui.java
+++ b/src/main/java/skytils/skytilsmod/gui/LocationEditGui.java
@@ -104,6 +104,5 @@ public class LocationEditGui extends GuiScreen {
@Override
public void onGuiClosed() {
GuiManager.saveConfig();
- ModCore.getInstance().getGuiHandler().open(new OptionsGui());
}
}
diff --git a/src/main/java/skytils/skytilsmod/gui/commandaliases/CommandAliasesGui.java b/src/main/java/skytils/skytilsmod/gui/commandaliases/CommandAliasesGui.java
index fa38f131..23069d37 100644
--- a/src/main/java/skytils/skytilsmod/gui/commandaliases/CommandAliasesGui.java
+++ b/src/main/java/skytils/skytilsmod/gui/commandaliases/CommandAliasesGui.java
@@ -95,7 +95,6 @@ public class CommandAliasesGui extends GuiScreen {
}
}
CommandAliases.saveAliases();
- if (Skytils.config.reopenOptionsMenu) ModCore.getInstance().getGuiHandler().open(new OptionsGui());
}
private void addAlias() {
diff --git a/src/main/java/skytils/skytilsmod/gui/keyshortcuts/KeyShortcutsGui.java b/src/main/java/skytils/skytilsmod/gui/keyshortcuts/KeyShortcutsGui.java
index a341b802..8c4b92a6 100644
--- a/src/main/java/skytils/skytilsmod/gui/keyshortcuts/KeyShortcutsGui.java
+++ b/src/main/java/skytils/skytilsmod/gui/keyshortcuts/KeyShortcutsGui.java
@@ -103,7 +103,6 @@ public class KeyShortcutsGui extends GuiScreen {
}
}
KeyShortcuts.saveShortcuts();
- if (Skytils.config.reopenOptionsMenu) ModCore.getInstance().getGuiHandler().open(new OptionsGui());
}
private void addBlankShortcut() {
diff --git a/src/main/java/skytils/skytilsmod/mixins/AccessorSettingsGui.java b/src/main/java/skytils/skytilsmod/mixins/AccessorSettingsGui.java
new file mode 100644
index 00000000..63bbc6e7
--- /dev/null
+++ b/src/main/java/skytils/skytilsmod/mixins/AccessorSettingsGui.java
@@ -0,0 +1,12 @@
+package skytils.skytilsmod.mixins;
+
+import club.sk1er.vigilance.Vigilant;
+import club.sk1er.vigilance.gui.SettingsGui;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.gen.Accessor;
+
+@Mixin(value = SettingsGui.class, remap = false)
+public interface AccessorSettingsGui {
+ @Accessor("config")
+ Vigilant getConfig();
+}
diff --git a/src/main/java/skytils/skytilsmod/mixins/MixinSettingsGui.java b/src/main/java/skytils/skytilsmod/mixins/MixinSettingsGui.java
deleted file mode 100644
index dc1e0154..00000000
--- a/src/main/java/skytils/skytilsmod/mixins/MixinSettingsGui.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package skytils.skytilsmod.mixins;
-
-import club.sk1er.mods.core.ModCore;
-import club.sk1er.vigilance.Vigilant;
-import net.minecraft.client.gui.GuiScreen;
-import org.spongepowered.asm.mixin.Dynamic;
-import org.spongepowered.asm.mixin.Final;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-import skytils.skytilsmod.ModCoreInstaller;
-import skytils.skytilsmod.Skytils;
-import skytils.skytilsmod.core.Config;
-import skytils.skytilsmod.gui.OptionsGui;
-
-@Mixin(value = club.sk1er.vigilance.gui.SettingsGui.class, remap = false, priority = 9999)
-public class MixinSettingsGui extends GuiScreen {
- @Shadow @Final private Vigilant config;
-
- @Dynamic(value = "Added by ModCore Installer later", mixin = ModCoreInstaller.class)
- @Inject(method = "onGuiClosed", at = @At("TAIL"))
- private void onGuiClosed(CallbackInfo ci) {
- if (Skytils.config.reopenOptionsMenu && this.config instanceof Config) {
- ModCore.getInstance().getGuiHandler().open(new OptionsGui());
- }
- }
-}
diff --git a/src/main/resources/mixins.skytils.json b/src/main/resources/mixins.skytils.json
index 20f41892..6d5548ae 100644
--- a/src/main/resources/mixins.skytils.json
+++ b/src/main/resources/mixins.skytils.json
@@ -5,6 +5,7 @@
"mixins": [
"AccessorCommandHandler",
"AccessorGuiNewChat",
+ "AccessorSettingsGui",
"MixinBlockRendererDispatcher",
"MixinBossStatus",
"MixinChunk",
@@ -29,7 +30,6 @@
"MixinRenderEntityItem",
"MixinRenderItem",
"MixinRenderLightningBolt",
- "MixinSettingsGui",
"MixinSlot",
"MixinSoundManager",
"MixinTileEntityChestRenderer",