From 36d6cb7a9dee1f114cefedaaa544995d1799d58d Mon Sep 17 00:00:00 2001 From: j502647092 Date: Sat, 30 May 2015 23:26:44 +0800 Subject: [PATCH] add version check... Signed-off-by: j502647092 --- .../residence/utils/VersionChecker.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/com/bekvon/bukkit/residence/utils/VersionChecker.java diff --git a/src/com/bekvon/bukkit/residence/utils/VersionChecker.java b/src/com/bekvon/bukkit/residence/utils/VersionChecker.java new file mode 100644 index 0000000..6c55b26 --- /dev/null +++ b/src/com/bekvon/bukkit/residence/utils/VersionChecker.java @@ -0,0 +1,57 @@ +package com.bekvon.bukkit.residence.utils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URL; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.entity.Player; + +import com.bekvon.bukkit.residence.Residence; +import com.google.common.base.Charsets; + +public class VersionChecker { + Residence plugin; + + public VersionChecker(Residence plugin) { + this.plugin = plugin; + } + + public void VersionCheck(final Player player) { + Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() { + @Override + public void run() { + String readURL = "http://ci.citycraft.cn:8800/jenkins/job/Residence-Fix/lastSuccessfulBuild/artifact/src/plugin.yml"; + FileConfiguration config; + String currentVersion = plugin.getDescription().getVersion(); + try { + URL url = new URL(readURL); + BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(), + Charsets.UTF_8)); + config = YamlConfiguration.loadConfiguration(br); + String newVersion = config.getString("version"); + br.close(); + if (!newVersion.equals(currentVersion)) { + String[] msg = new String[] { + ChatColor.GREEN + "领地插件最新版本已更新到 v" + newVersion + "!", + ChatColor.RED + "服务器运行版本: " + currentVersion, + ChatColor.GOLD + "点击此链接下载最新版本: " + ChatColor.BLUE + + plugin.getDescription().getWebsite() }; + if (player != null) { + player.sendMessage(msg); + } else { + plugin.consoleMessage(msg); + } + } + } catch (IOException e) { + plugin.getLogger().warning("自动更新版本检查失败!"); + } + } + }); + } + +}