// Path: src/main/java/com/leviathanstudio/mineide/forge/ForgeWorkspace.java
// public class ForgeWorkspace
// {
//     private static volatile ForgeWorkspace instance = null;
// 
//     public static final ForgeWorkspace getInstance()
//     {
//         if (ForgeWorkspace.instance == null)
//         {
//             synchronized (ForgeHelper.class)
//             {
//                 if (ForgeWorkspace.instance == null)
//                     ForgeWorkspace.instance = new ForgeWorkspace();
//             }
//         }
//         return ForgeWorkspace.instance;
//     }
// 
//     private ForgeWorkspace()
//     {
// 
//     }
// 
//     public void forceUpdate()
//     {
//         if (!OSHelper.getWorkingDirectory().exists())
//             OSHelper.getWorkingDirectory().mkdir();
// 
//         setupForge();
//     }
// 
//     public void installWorkspace()
//     {
//         if (!OSHelper.getWorkingDirectory().exists())
//             OSHelper.getWorkingDirectory().mkdir();
// 
//         if (!ForgeHelper.getInstance().isFinishedSetup())
//             setupForge();
//         else
//         {
//             System.out.println("Already Forge Installed");
//             PopupForgeInstallation.showPopup();
//         }
//     }
// 
//     private void setupForge()
//     {
//         System.out.println("Downloading Forge...");
//         ForgeDownloader.getInstance().initDownload();
// 
//         if (ForgeDownloader.getInstance().isDownloadTerminated())
//         {
//             System.out.println("Forge Downloaded");
// 
//             try
//             {
//                 System.out.println("Change Mapping");
//                 ForgeHelper.getInstance().changeMapping();
//                 System.out.println("Start Forge Installation");
//                 ForgeHelper.getInstance().startInstallation();
//                 if (ForgeHelper.getInstance().isFinishedSetup())
//                 {
//                     ForgeHelper.getInstance().finishedSetup();
//                     System.out.println("Forge Setup Finished");
//                 }
//             } catch (IOException e)
//             {
//                 e.printStackTrace();
//             }
//         }
//     }
// }
// 
// Path: src/main/java/com/leviathanstudio/mineide/main/Translation.java
// public class Translation
// {
//     public static final MinkJ LANG = new MinkJ();
//     
//     public static void init()
//     {
//         try
//         {
//             Translation.LANG.loadTranslationsFromFile(Locale.FRENCH, Translation.class.getResourceAsStream(Utils.LANG_DIR + "fr_FR.lang"));
//             Translation.LANG.loadTranslationsFromFile(Locale.ENGLISH, Translation.class.getResourceAsStream(Utils.LANG_DIR + "en_US.lang"));
//         }
//         catch(Exception ex)
//         {
//             ex.printStackTrace();
//         }
//     }
// }
// 
// Path: src/main/java/com/leviathanstudio/mineide/ui/Gui.java
// public class Gui
// {
//     public static int width = 854, height = 480;
//     public static MineIDEConfig mineIdeInfo = new MineIDEConfig();
//     
//     public void init(Stage stage)
//     {}
//     
//     public static void setToolTip(String toolTipText)
//     {
//         new Tooltip(toolTipText);
//     }
//     
//     public static void setToolTip(Node node, String toolTipText)
//     {
//         Tooltip toolTip = new Tooltip();
//         toolTip.setText(toolTipText);
//         Tooltip.install(node, toolTip);
//     }
// }


import java.util.Optional;
import com.leviathanstudio.mineide.forge.ForgeWorkspace;
import com.leviathanstudio.mineide.main.Translation;
import com.leviathanstudio.mineide.ui.Gui;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ButtonBar.ButtonData;
import javafx.scene.control.ButtonType;
package com.leviathanstudio.mineide.ui.frame.popup;




public class PopupForgeInstallation
{

    public static void showPopup()
    {
// Path: src/main/java/com/leviathanstudio/mineide/forge/ForgeWorkspace.java
// public class ForgeWorkspace
// {
//     private static volatile ForgeWorkspace instance = null;
// 
//     public static final ForgeWorkspace getInstance()
//     {
//         if (ForgeWorkspace.instance == null)
//         {
//             synchronized (ForgeHelper.class)
//             {
//                 if (ForgeWorkspace.instance == null)
//                     ForgeWorkspace.instance = new ForgeWorkspace();
//             }
//         }
//         return ForgeWorkspace.instance;
//     }
// 
//     private ForgeWorkspace()
//     {
// 
//     }
// 
//     public void forceUpdate()
//     {
//         if (!OSHelper.getWorkingDirectory().exists())
//             OSHelper.getWorkingDirectory().mkdir();
// 
//         setupForge();
//     }
// 
//     public void installWorkspace()
//     {
//         if (!OSHelper.getWorkingDirectory().exists())
//             OSHelper.getWorkingDirectory().mkdir();
// 
//         if (!ForgeHelper.getInstance().isFinishedSetup())
//             setupForge();
//         else
//         {
//             System.out.println("Already Forge Installed");
//             PopupForgeInstallation.showPopup();
//         }
//     }
// 
//     private void setupForge()
//     {
//         System.out.println("Downloading Forge...");
//         ForgeDownloader.getInstance().initDownload();
// 
//         if (ForgeDownloader.getInstance().isDownloadTerminated())
//         {
//             System.out.println("Forge Downloaded");
// 
//             try
//             {
//                 System.out.println("Change Mapping");
//                 ForgeHelper.getInstance().changeMapping();
//                 System.out.println("Start Forge Installation");
//                 ForgeHelper.getInstance().startInstallation();
//                 if (ForgeHelper.getInstance().isFinishedSetup())
//                 {
//                     ForgeHelper.getInstance().finishedSetup();
//                     System.out.println("Forge Setup Finished");
//                 }
//             } catch (IOException e)
//             {
//                 e.printStackTrace();
//             }
//         }
//     }
// }
// 
// Path: src/main/java/com/leviathanstudio/mineide/main/Translation.java
// public class Translation
// {
//     public static final MinkJ LANG = new MinkJ();
//     
//     public static void init()
//     {
//         try
//         {
//             Translation.LANG.loadTranslationsFromFile(Locale.FRENCH, Translation.class.getResourceAsStream(Utils.LANG_DIR + "fr_FR.lang"));
//             Translation.LANG.loadTranslationsFromFile(Locale.ENGLISH, Translation.class.getResourceAsStream(Utils.LANG_DIR + "en_US.lang"));
//         }
//         catch(Exception ex)
//         {
//             ex.printStackTrace();
//         }
//     }
// }
// 
// Path: src/main/java/com/leviathanstudio/mineide/ui/Gui.java
// public class Gui
// {
//     public static int width = 854, height = 480;
//     public static MineIDEConfig mineIdeInfo = new MineIDEConfig();
//     
//     public void init(Stage stage)
//     {}
//     
//     public static void setToolTip(String toolTipText)
//     {
//         new Tooltip(toolTipText);
//     }
//     
//     public static void setToolTip(Node node, String toolTipText)
//     {
//         Tooltip toolTip = new Tooltip();
//         toolTip.setText(toolTipText);
//         Tooltip.install(node, toolTip);
//     }
// }


// Path: src/main/java/com/leviathanstudio/mineide/ui/frame/popup/PopupForgeInstallation.java
import java.util.Optional;
import com.leviathanstudio.mineide.forge.ForgeWorkspace;
import com.leviathanstudio.mineide.main.Translation;
import com.leviathanstudio.mineide.ui.Gui;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.ButtonBar.ButtonData;
import javafx.scene.control.ButtonType;

package com.leviathanstudio.mineide.ui.frame.popup;




public class PopupForgeInstallation
{

    public static void showPopup()
    {
        Alert alert = new Alert(AlertType.INFORMATION);