Java 类net.minecraftforge.fml.common.versioning.ComparableVersion 实例源码

项目:CodeChickenCore    文件:CCUpdateChecker.java   
public static void updateCheck(final String mod, final String version) {
    updateCheck("http://www.chickenbones.net/Files/notification/version.php?" +
            "version=" + mcVersion() + "&" +
            "file=" + mod, new Function<String, Void>() {
        @Override
        public Void apply(String ret) {
            if (!ret.startsWith("Ret: ")) {
                CodeChickenCorePlugin.logger.error("Failed to check update for " + mod + " returned: " + ret);
                return null;
            }
            ComparableVersion newVersion = new ComparableVersion(ret.substring(5));
            if (newVersion.compareTo(new ComparableVersion(version)) > 0) {
                ModDescriptionEnhancer.setUpdateStatus(mod, ForgeVersion.Status.OUTDATED, newVersion);
                addUpdateMessage("Version " + newVersion + " of " + mod + " is available");
            }
            return null;
        }
    });
}
项目:LunatriusCore    文件:VersionChecker.java   
public Map<ComparableVersion, String> getAllChanges() {
    final LinkedHashMap<ComparableVersion, String> changes = new LinkedHashMap<ComparableVersion, String>();

    if (this.builds != null) {
        Collections.sort(this.builds, new Comparator<BuildData>() {
            @Override
            public int compare(final BuildData a, final BuildData b) {
                return b.getVersion().compareTo(a.getVersion());
            }
        });

        for (final BuildData build : this.builds) {
            changes.put(build.getVersion(), build.getChanges());
        }

        return changes;
    }

    if (this.latest != null) {
        changes.put(this.latest.getVersion(), this.latest.getChanges());

        return changes;
    }

    return changes;
}
项目:CustomWorldGen    文件:ForgeVersion.java   
private CheckResult(Status status, ComparableVersion target, Map<ComparableVersion, String> changes, String url)
{
    this.status = status;
    this.target = target;
    this.changes = changes == null ? null : Collections.unmodifiableMap(changes);
    this.url = url;
}
项目:CodeChickenCore    文件:DepLoader.java   
public VersionedFile(String filename, Pattern pattern) {
    this.pattern = pattern;
    this.filename = filename;
    Matcher m = pattern.matcher(filename);
    if (m.matches()) {
        name = m.group(1);
        version = new ComparableVersion(m.group(2));
    } else {
        name = null;
        version = null;
    }
}
项目:CodeChickenCore    文件:ModDescriptionEnhancer.java   
public static void setUpdateStatus(String modId, Status status, ComparableVersion version) {
    try {
        ModContainer modContainer = FMLCommonHandler.instance().findContainerFor(modId);
        Map<ComparableVersion, String> changes = new HashMap<ComparableVersion, String>();
        CheckResult result = ReflectionManager.newInstance(CheckResult.class, status, version, changes, "");
        setUpdateStatus(modContainer, result);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
项目:DynamicSurroundings    文件:VersionHelper.java   
public static int compareVersions(@Nonnull final String v1, @Nonnull final String v2) {
    if (StringUtils.isNullOrEmpty(v1) || v1.charAt(0) == '@')
        return -1;
    else if (StringUtils.isNullOrEmpty(v2) || v2.charAt(0) == '@')
        return 1;

    final ComparableVersion ver1 = new ComparableVersion(v1);
    final ComparableVersion ver2 = new ComparableVersion(v2);
    return ver1.compareTo(ver2);
}
项目:Minecraft-Flux    文件:MCFlux.java   
private static void updateCheck() {
    final ComparableVersion ccv = new ComparableVersion(R.MF_VERSION);
    try {
        final JsonObject je = MCFluxNetwork.downloadGistJSON("97a48d6a61b29171938abf2f6bf9f985", "versions.json");
        final String v = je.getAsJsonObject("mc").getAsJsonPrimitive(Loader.MC_VERSION).getAsString();
        if (new ComparableVersion(v).compareTo(ccv) > 0) {
            L.info("A newer Minecraft-Flux version is available (" + v + ")");
            NEWER_VERSION = v;
        }
        UPDATE_CHECK_FINISHED = true;
    } catch (Throwable t) {
        MCFluxReport.sendException(t, "Update Check");
    }
}
项目:T.E.C.H    文件:DepLoader.java   
public VersionedFile(String filename, Pattern pattern) {
    this.pattern = pattern;
    this.filename = filename;
    Matcher m = pattern.matcher(filename);
    if (m.matches()) {
        name = m.group(1);
        version = new ComparableVersion(m.group(2));
    } else {
        name = null;
        version = null;
    }
}
项目:LunatriusCore    文件:ForgeVersionCheck.java   
public static ForgeVersion.Status getStatus(final ComparableVersion versionRemote, final ComparableVersion versionLocal) {
    final int diff = versionRemote.compareTo(versionLocal);

    if (diff == 0) {
        return ForgeVersion.Status.UP_TO_DATE;
    }

    if (diff > 0) {
        return ForgeVersion.Status.OUTDATED;
    }

    return ForgeVersion.Status.AHEAD;
}
项目:LunatriusCore    文件:ForgeVersionCheck.java   
public static void notify(final ModContainer container, final ForgeVersion.Status status, final ComparableVersion target, final Map<ComparableVersion, String> changes, final String url) {
    try {
        final Map<ModContainer, ForgeVersion.CheckResult> versionMap = getVersionMap();
        final ForgeVersion.CheckResult checkResult = getCheckResult(status, target, changes, url);

        if (versionMap != null && checkResult != null) {
            versionMap.put(container, checkResult);
        }
    } catch (final Throwable t) {
        Reference.logger.error("Failed to notify Forge!", t);
    }
}
项目:LunatriusCore    文件:ForgeVersionCheck.java   
private static ForgeVersion.CheckResult getCheckResult(final ForgeVersion.Status status, final ComparableVersion target, final Map<ComparableVersion, String> changes, final String url) throws ReflectiveOperationException {
    try {
        final Constructor<?> constructor = ForgeVersion.CheckResult.class.getDeclaredConstructor(ForgeVersion.Status.class, ComparableVersion.class, Map.class, String.class);
        constructor.setAccessible(true);
        return (ForgeVersion.CheckResult) constructor.newInstance(status, target, changes, url);
    } catch (final Throwable t) {
        Reference.logger.error("Failed to construct the CheckResult object!", t);
    }

    return null;
}
项目:LunatriusCore    文件:VersionChecker.java   
public ComparableVersion getVersion() {
    return new ComparableVersion(this.version);
}