mirror of
https://github.com/CarmJos/UltraDepository.git
synced 2026-06-04 16:48:21 +08:00
[v1.3.4] 版本更新
- [A] 添加版本更新检查。
This commit is contained in:
@@ -7,6 +7,7 @@ import cc.carm.lib.easyplugin.utils.MessageUtils;
|
||||
import cc.carm.plugin.ultradepository.command.DepositoryCommand;
|
||||
import cc.carm.plugin.ultradepository.configuration.PluginConfig;
|
||||
import cc.carm.plugin.ultradepository.hooker.PAPIExpansion;
|
||||
import cc.carm.plugin.ultradepository.hooker.UpdateChecker;
|
||||
import cc.carm.plugin.ultradepository.listener.CollectListener;
|
||||
import cc.carm.plugin.ultradepository.listener.UserListener;
|
||||
import cc.carm.plugin.ultradepository.manager.ConfigManager;
|
||||
@@ -109,6 +110,13 @@ public class UltraDepository extends EasyPlugin {
|
||||
}));
|
||||
}
|
||||
|
||||
if (PluginConfig.CHECK_UPDATE.get()) {
|
||||
log("开始检查更新...");
|
||||
UpdateChecker.checkUpdate(this);
|
||||
} else {
|
||||
log("已禁用检查更新,跳过。");
|
||||
}
|
||||
|
||||
getUserManager().loadPlayersData();
|
||||
|
||||
return true;
|
||||
|
||||
@@ -21,6 +21,10 @@ public class PluginConfig {
|
||||
"metrics", Boolean.class, true
|
||||
);
|
||||
|
||||
public static final ConfigValue<Boolean> CHECK_UPDATE = new ConfigValue<>(
|
||||
"check-update", Boolean.class, true
|
||||
);
|
||||
|
||||
public static final ConfigStringCast<StorageMethod> STORAGE_METHOD = new ConfigStringCast<>(
|
||||
"storage.method", StorageMethod::read, StorageMethod.YAML
|
||||
);
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package cc.carm.plugin.ultradepository.hooker;
|
||||
|
||||
import cc.carm.lib.githubreleases4j.GithubRelease;
|
||||
import cc.carm.lib.githubreleases4j.GithubReleases4J;
|
||||
import cc.carm.plugin.ultradepository.UltraDepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class UpdateChecker {
|
||||
|
||||
public static void checkUpdate(UltraDepository plugin) {
|
||||
plugin.getScheduler().runAsync(() -> {
|
||||
|
||||
try {
|
||||
|
||||
List<GithubRelease> releases = GithubReleases4J.listReleases("CarmJos", "UltraDepository");
|
||||
if (releases.isEmpty()) throw new NullPointerException(); // 无法获取更新
|
||||
|
||||
String currentVersion = plugin.getDescription().getVersion();
|
||||
int i = 0;
|
||||
|
||||
for (GithubRelease release : releases) {
|
||||
if (release.getTagName().equalsIgnoreCase(currentVersion)) {
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
if (i > 0) {
|
||||
GithubRelease latestRelease = releases.get(0);
|
||||
plugin.log("检查更新完成,当前已落后 " + i + " 个版本,最新版本为 &6&l" + latestRelease.getTagName() + " &r。");
|
||||
plugin.log("最新版本下载地址&e " + latestRelease.getHTMLUrl());
|
||||
} else {
|
||||
plugin.log("检查更新完成,当前已是最新版本。");
|
||||
}
|
||||
|
||||
} catch (Exception exception) {
|
||||
plugin.error("检查更新失败,请您定期查看插件是否更新,避免安全问题。");
|
||||
plugin.error("插件下载地址&e https://github.com/CarmJos/UltraDepository/releases");
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -11,6 +11,11 @@ debug: false
|
||||
# 当然,您也可以选择在这里关闭,或在plugins/bStats下的配置文件中关闭。
|
||||
metrics: true
|
||||
|
||||
# 检查更新设定
|
||||
# 该选项用于插件判断是否要检查更新,若您不希望插件检查更新并提示您,可以选择关闭。
|
||||
# 检查更新为异步操作,绝不会影响性能与使用体验。
|
||||
check-update: true
|
||||
|
||||
# 存储相关配置
|
||||
# 注意:存储配置不会通过重载指令生效,如有修改请重新启动服务器。
|
||||
storage:
|
||||
|
||||
Reference in New Issue
Block a user