Merge pull request #549 from zkitefly/forge-downloadlist-time

显示 Forge 发版时间
This commit is contained in:
ShirosakiMio 2024-08-24 12:28:03 +08:00 committed by GitHub
commit f697d80e3b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 20 additions and 5 deletions

View File

@ -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;
}

View File

@ -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<ForgeRemoteVersion> {
private final DownloadProvider downloadProvider;
@ -75,8 +79,19 @@ public final class ForgeVersionList extends VersionList<ForgeRemoteVersion> {
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)
));
}
}