public static ModPack loadObject(File saveFile) {
		if(!saveFile.exists()) return null;
        if(!FileUtils.getFileExtension(saveFile).equals("json")) return null;
        ModPack temp;
        try {
            temp = (ModPack) FileUtils.readObject(saveFile, new ModPack());
        } catch (Exception e) {
            System.out.println("Failed to read "+saveFile.getName());
            return null;
        }
        if(temp == null) {
            System.out.println("Failed to read "+saveFile.getName());
            return null;
        }
		if(temp.versions != null) {
			temp.metaVersions = new ArrayList<>();
			for(String version : temp.versions) {
				temp.metaVersions.add(new ModPackVersion(version));
			}
		}
        temp.storageLocation = saveFile;
        if(temp.metaVersion == 0 || temp.metaVersion > Globals.metaVersion) {
            Globals.getInstance().oldVersionsFlag = true;
            return null;
        }
		temp.init();
		temp.versions = null;
		return temp;
	}