package eu.thog92.launcher.util; import java.io.File; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; public class Util { public static final String APPLICATION_NAME = "minecraft"; private static final String PATH = Path.getApplicationDirectory(); public static OS getPlatform() { String osName = System.getProperty("os.name").toLowerCase(); if (osName.contains("win")) { return OS.WINDOWS; } if (osName.contains("mac")) { return OS.MACOS; } if (osName.contains("linux")) { return OS.LINUX; } if (osName.contains("unix")) { return OS.LINUX; } return OS.UNKNOWN; } public static File getWorkingDirectory() { return new File(PATH, Constants.getLauncherName()).getAbsoluteFile(); } public static File getMinecraftDir() { String userHome = System.getProperty("user.home", "."); File workingDirectory; System.out.println(OperatingSystem.getCurrentPlatform().ordinal()); switch (OperatingSystem.getCurrentPlatform().ordinal()) { case 0: workingDirectory = new File(userHome, "." + "minecraft" + "/"); break; case 1: String applicationData = System.getenv("APPDATA"); String folder = applicationData != null ? applicationData : userHome; workingDirectory = new File(folder, "." + "minecraft" + "/"); break; case 2: workingDirectory = new File(userHome, "Library/Application Support/" + "minecraft"); break; default: workingDirectory = new File(userHome, "minecraft" + "/"); } return workingDirectory; } public static int tryGetFileSize(URL url) { HttpURLConnection conn = null; try { conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("HEAD"); conn.getInputStream(); return conn.getContentLength(); } catch (IOException e) { return -1; } finally { conn.disconnect(); } } public enum OS { WINDOWS, MACOS, SOLARIS, LINUX, UNKNOWN; OS() { } } }