diff --git a/FCLCore/src/main/java/com/tungsten/fclcore/download/forge/ForgeVersion.java b/FCLCore/src/main/java/com/tungsten/fclcore/download/forge/ForgeVersion.java index a8a83fb4..a77009ea 100644 --- a/FCLCore/src/main/java/com/tungsten/fclcore/download/forge/ForgeVersion.java +++ b/FCLCore/src/main/java/com/tungsten/fclcore/download/forge/ForgeVersion.java @@ -27,7 +27,7 @@ public final class ForgeVersion implements Validation { private final String jobver; private final String version; private final int build; - private final double modified; + private final String modified; private final String[][] files; /** @@ -35,10 +35,10 @@ public final class ForgeVersion implements Validation { */ @SuppressWarnings("unused") public ForgeVersion() { - this(null, null, null, null, 0, 0, null); + this(null, null, null, null, 0, null, null); } - public ForgeVersion(String branch, String mcversion, String jobver, String version, int build, double modified, String[][] files) { + public ForgeVersion(String branch, String mcversion, String jobver, String version, int build, String modified, String[][] files) { this.branch = branch; this.mcversion = mcversion; this.jobver = jobver; @@ -68,7 +68,7 @@ public final class ForgeVersion implements Validation { return build; } - public double getModified() { + public String getModified() { return modified; } diff --git a/FCLCore/src/main/java/com/tungsten/fclcore/download/forge/ForgeVersionList.java b/FCLCore/src/main/java/com/tungsten/fclcore/download/forge/ForgeVersionList.java index ecc9bd5e..9866ea41 100644 --- a/FCLCore/src/main/java/com/tungsten/fclcore/download/forge/ForgeVersionList.java +++ b/FCLCore/src/main/java/com/tungsten/fclcore/download/forge/ForgeVersionList.java @@ -23,9 +23,13 @@ import com.tungsten.fclcore.util.StringUtils; import com.tungsten.fclcore.util.io.HttpRequest; import com.tungsten.fclcore.util.versioning.VersionNumber; +import java.time.Instant; import java.util.Collections; import java.util.Map; import java.util.concurrent.CompletableFuture; +import java.util.logging.Level; + +import static com.tungsten.fclcore.util.Logging.LOG; public final class ForgeVersionList extends VersionList { private final DownloadProvider downloadProvider; @@ -75,8 +79,19 @@ public final class ForgeVersionList extends VersionList { if (jar == null) continue; + + Instant releaseDate = null; + if (version.getModified() != null) { + try { + long timestamp = Long.parseLong(version.getModified()); + releaseDate = Instant.ofEpochSecond(timestamp); + } catch (NumberFormatException e) { + LOG.log(Level.WARNING, "Failed to parse instant " + version.getModified(), e); + } + } + versions.put(gameVersion, new ForgeRemoteVersion( - toLookupVersion(version.getGameVersion()), version.getVersion(), null, Collections.singletonList(jar) + toLookupVersion(version.getGameVersion()), version.getVersion(), releaseDate, Collections.singletonList(jar) )); } }