package com.thebrokenrail.scriptcraft.core; import java.util.Locale; public class OSUtil { private static String getOSName() { String raw = System.getProperty("os.name").toLowerCase(Locale.ROOT); if (raw.contains("mac")) { return "macosx"; } else if (raw.contains("linux")) { return "linux"; } else if (raw.contains("windows")) { return "windows"; } else { return "other"; } } public static String getOS() { String raw = System.getProperty("os.arch"); String arch; switch (raw) { case "x86": case "i386": case "i686": { arch = "x86"; break; } case "amd64": { arch = "x86_64"; break; } case "arm": { arch = "armhf"; break; } case "aarch64_be": case "armv8b": case "armv8l": case "aarch64": { arch = "arm64"; break; } default: { arch = "other"; break; } } return getOSName() + '-' + arch; } public static String getLibExtension() { switch (getOSName()) { case "macos": { return ".dylib"; } case "linux": { return ".so"; } case "windows": { return ".dll"; } default: { return ""; } } } }