diff --git a/src/main/java/gg/skytils/skytilsmod/tweaker/SkytilsLoadingPlugin.java b/src/main/java/gg/skytils/skytilsmod/tweaker/SkytilsLoadingPlugin.java index 6e6c83876..311e8ab4f 100644 --- a/src/main/java/gg/skytils/skytilsmod/tweaker/SkytilsLoadingPlugin.java +++ b/src/main/java/gg/skytils/skytilsmod/tweaker/SkytilsLoadingPlugin.java @@ -22,7 +22,12 @@ import kotlin.text.StringsKt; import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin; +import javax.swing.*; +import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import java.io.File; +import java.net.URI; import java.net.URISyntaxException; import java.util.Map; @@ -46,11 +51,10 @@ public class SkytilsLoadingPlugin implements IFMLLoadingPlugin { public static final String kotlinErrorMessage = "

" + "Skytils has detected a mod with an older version of Kotlin.
" + - "The most common culprit is the ChatTriggers mod.
" + - "If you do have ChatTriggers, you can update to 1.3.2
" + - "or later to fix the issue. https://www.chattriggers.com/
" + "In order to resolve this conflict you must
" + "delete the outdated mods.
" + + "You can also try to rename Skytils to be above other mods alphabetically
" + + "by changing Skytils.jar to !Skytils.jar
" + "If you have already done this and are still getting this error,
" + "or need assistance, ask for support in the Discord."; @@ -122,8 +126,33 @@ public SkytilsLoadingPlugin() throws URISyntaxException { String name = realFile.getName().contains(".jar") ? realFile.getName() : StringsKt.substringAfterLast(StringsKt.substringBeforeLast(file.getAbsolutePath(), ".jar", "unknown"), "/", "Unknown"); if (name.endsWith("!")) name = name.substring(0, name.length() - 1); - - showMessage(kotlinErrorMessage + "
The culprit seems to be " + name + "
It bundles version " + KotlinVersion.CURRENT + "

"); + JButton openModFolder = new JButton("Open Mod Folder"); + openModFolder.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + try { + Desktop.getDesktop().open(new File("./mods")); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + }); + if (realFile.getParentFile().getName().equals("essential") && name.contains("Essential")) { + showMessage(kotlinErrorMessage + "
The culprit seems to be " + name + "
It bundles version " + KotlinVersion.CURRENT + "

", openModFolder); + } else { + JButton watchVideo = new JButton("Open Tutorial Video"); + watchVideo.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + try { + Desktop.getDesktop().browse(URI.create("https://l.skytils.gg/update-essential-video")); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + }); + showMessage(kotlinErrorMessage + "
The culprit seems to be " + name + "
It bundles version " + KotlinVersion.CURRENT + "

", openModFolder, watchVideo); + } exit(); } if (checkForClass("com.sky.voidchat.EDFMLLoadingPlugin")) {