类net.minecraftforge.common.ForgeVersion源码实例Demo

下面列出了怎么用net.minecraftforge.common.ForgeVersion的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: CodeChickenLib   文件: ObfMapping.java
public static File confDirectoryGuess(int i, ConfigTag tag) {
    File mcDir = (File) FMLInjectionData.data()[6];
    switch (i) {
        case 0:
            return tag.value != null ? new File(tag.getValue()) : null;
        case 1:
            return new File(mcDir, "../conf");
        case 2:
            return new File(mcDir, "../build/unpacked/conf");
        case 3:
            return new File(System.getProperty("user.home"), ".gradle/caches/minecraft/net/minecraftforge/forge/"+
                FMLInjectionData.data()[4]+"-"+ ForgeVersion.getVersion()+"/unpacked/conf");
        default:
            JFileChooser fc = new JFileChooser(mcDir);
            fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            fc.setDialogTitle("Select an mcp conf dir for the deobfuscator.");
            int ret = fc.showDialog(null, "Select");
            return ret == JFileChooser.APPROVE_OPTION ? fc.getSelectedFile() : null;
    }
}
 
源代码2 项目: Custom-Main-Menu   文件: StringReplacer.java
public static String replacePlaceholders(String source)
{
	int tModCount = Loader.instance().getModList().size();
	int aModCount = Loader.instance().getActiveModList().size();
	Calendar calendar = Calendar.getInstance();

	String clock = timeFormat.format(calendar.getTime());

	DateFormat formatter = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.getDefault());

	String date = formatter.format(new Date());

	return source.replace("#date#", date).replace("#time#", clock).replace("#mcversion#", mcversion).replace("#fmlversion#", Loader.instance().getFMLVersionString()).replace("#mcpversion#", mcpversion).replace("#modsloaded#", tModCount + "").replace("#modsactive#", aModCount + "").replace("#forgeversion#", ForgeVersion.getVersion()).replace("#username#", Minecraft.getMinecraft().getSession().getUsername());
}
 
源代码3 项目: 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;
}
 
源代码4 项目: 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);
    }
}
 
源代码5 项目: LunatriusCore   文件: ForgeVersionCheck.java
@SuppressWarnings({ "unchecked" })
private static Map<ModContainer, ForgeVersion.CheckResult> getVersionMap() throws ReflectiveOperationException {
    try {
        final Field field = ForgeVersion.class.getDeclaredField("results");
        field.setAccessible(true);
        return (Map<ModContainer, ForgeVersion.CheckResult>) field.get(null);
    } catch (final Throwable t) {
        Reference.logger.error("Failed to get the version map!", t);
    }

    return null;
}
 
源代码6 项目: 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;
}
 
源代码7 项目: SkyblockAddons   文件: Updater.java
/**
 * Processes the update checker result from the Forge Update Checker and sets the correct message to be displayed.
 */
public void processUpdateCheckResult() {
    SkyblockAddons main = SkyblockAddons.getInstance();

    ComparableVersion current = new ComparableVersion(SkyblockAddons.VERSION);
    boolean isCurrentBeta = SkyblockAddons.VERSION.contains("b");
    ComparableVersion latest = new ComparableVersion(isCurrentBeta ? main.getOnlineData().getLatestBeta() : main.getOnlineData().getLatestVersion());
    main.getLogger().info("Checking to see if an update is available. Current version is "+current.toString()+". Latest version is "+latest.toString());

    ForgeVersion.Status status;
    int versionDifference = latest.compareTo(current);
    if (versionDifference == 0) {
        status = UP_TO_DATE;
    } else if (versionDifference < 0) {
        status = AHEAD;
    } else {
        status = OUTDATED;
    }

    if (status == ForgeVersion.Status.OUTDATED) {
        hasUpdate = true;

        String currentVersion = current.toString();
        String latestVersion = latest.toString();

        main.getLogger().info("Found an update: "+latestVersion);

        try {
            Matcher currentMatcher = VERSION_PATTERN.matcher(currentVersion);
            Matcher latestMatcher = VERSION_PATTERN.matcher(latestVersion);

            // Its a patch if the major & minor numbers are the same & the player isn't upgrading out of a beta.
            if (currentMatcher.matches() && latestMatcher.matches() &&
                    currentMatcher.group("major").equals(latestMatcher.group("major")) &&
                    currentMatcher.group("minor").equals(latestMatcher.group("minor")) &&
                    !(currentVersion.contains("beta") && !latestVersion.contains("beta"))) {
                isPatch = true;
            }
        } catch (Exception ex) {
            ex.printStackTrace();
            main.getLogger().warn("Couldn't parse update version numbers... This shouldn't affect too much.");
        }

        if (isPatch) {
            messageToRender = Message.UPDATE_MESSAGE_PATCH.getMessage(latestVersion);
        } else {
            messageToRender = Message.UPDATE_MESSAGE_MAJOR.getMessage(latestVersion);
        }
    }
}
 
源代码8 项目: Kettle   文件: VersionCommand.java
@Override
public boolean execute(CommandSender sender, String currentAlias, String[] args) {
    if (!testPermission(sender)) return true;

    if (args.length == 0) {
        sender.sendMessage("This server is running " + Bukkit.getName() + " version " + Bukkit.getVersion() + " with Forge version " + ForgeVersion.getVersion() + " (Implementing API version " + Bukkit.getBukkitVersion() + ")");
        sendVersion(sender);
    } else {
        StringBuilder name = new StringBuilder();

        for (String arg : args) {
            if (name.length() > 0) {
                name.append(' ');
            }

            name.append(arg);
        }

        String pluginName = name.toString();
        Plugin exactPlugin = Bukkit.getPluginManager().getPlugin(pluginName);
        if (exactPlugin != null) {
            describeToSender(exactPlugin, sender);
            return true;
        }

        boolean found = false;
        pluginName = pluginName.toLowerCase(java.util.Locale.ENGLISH);
        for (Plugin plugin : Bukkit.getPluginManager().getPlugins()) {
            if (plugin.getName().toLowerCase(java.util.Locale.ENGLISH).contains(pluginName)) {
                describeToSender(plugin, sender);
                found = true;
            }
        }

        if (!found) {
            sender.sendMessage("This server is not running any plugin by that name.");
            sender.sendMessage("Use /plugins to get a list of plugins.");
        }
    }
    return true;
}
 
 类方法
 同包方法