FilesLocations.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package xyz.tbvns;
  2. import lombok.extern.slf4j.Slf4j;
  3. import oshi.SystemInfo;
  4. import oshi.software.os.OperatingSystem;
  5. import oshi.software.os.linux.LinuxOperatingSystem;
  6. import oshi.software.os.mac.MacOperatingSystem;
  7. import oshi.software.os.windows.WindowsOperatingSystem;
  8. @Slf4j
  9. public class FilesLocations {
  10. public static final String windowGeometryDashFolder = System.getenv("LOCALAPPDATA") + "/GeometryDash/";
  11. public static final String linuxGeometryDashFolder = System.getProperty("user.home") + "/.local/share/Steam/steamapps/compatdata/322170/pfx/drive_c/users/steamuser/AppData/Local/GeometryDash/";
  12. public static final String macGeometryDashFolder = System.getProperty("user.home") + "/Library/Application Support/GeometryDash";
  13. public static final String windowGeometryDashResourceFolder = "D:/SteamLibrary/steamapps/common/Geometry Dash/Resources";
  14. //TODO: add that
  15. public static final String linuxGeometryDashResourceFolder = System.getProperty("user.home") + "/.local/share/Steam/steamapps/common/Geometry Dash/Resources";
  16. //TODO: add that
  17. public static final String macGeometryDashResourceFolder = System.getProperty("user.home") + "/Library/Application Support/GeometryDash";
  18. public static String getGeometryDashFolder() {
  19. SystemInfo si = new SystemInfo();
  20. OperatingSystem os = si.getOperatingSystem();
  21. if (os instanceof WindowsOperatingSystem) {
  22. return windowGeometryDashFolder;
  23. } else if (os instanceof LinuxOperatingSystem) {
  24. return linuxGeometryDashFolder;
  25. } else if (os instanceof MacOperatingSystem) {
  26. return macGeometryDashFolder;
  27. }
  28. throw new RuntimeException("Unsupported operating system !");
  29. }
  30. public static String getGeometryDashResources() {
  31. SystemInfo si = new SystemInfo();
  32. OperatingSystem os = si.getOperatingSystem();
  33. if (os instanceof WindowsOperatingSystem) {
  34. return windowGeometryDashResourceFolder;
  35. } else if (os instanceof LinuxOperatingSystem) {
  36. return linuxGeometryDashResourceFolder;
  37. } else if (os instanceof MacOperatingSystem) {
  38. throw new RuntimeException("Unsupported operating system !");
  39. }
  40. throw new RuntimeException("Unsupported operating system !");
  41. }
  42. }