From 559d0f7f669ce06f25e9ab563965e43b2dd3cdd8 Mon Sep 17 00:00:00 2001 From: gomeow Date: Sat, 25 May 2013 17:08:30 -0700 Subject: [PATCH] Make update checking async for faster startup times --- .../drtshock/playervaults/PlayerVaults.java | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/drtshock/playervaults/PlayerVaults.java b/src/main/java/com/drtshock/playervaults/PlayerVaults.java index 055e17f..8836321 100644 --- a/src/main/java/com/drtshock/playervaults/PlayerVaults.java +++ b/src/main/java/com/drtshock/playervaults/PlayerVaults.java @@ -15,6 +15,7 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.scheduler.BukkitRunnable; import com.drtshock.playervaults.commands.Commands; import com.drtshock.playervaults.commands.SignSetInfo; @@ -55,19 +56,7 @@ public class PlayerVaults extends JavaPlugin { loadConfig(); loadSigns(); startMetrics(); - Updater u = new Updater(); - if (getConfig().getBoolean("check-update")) { - try { - if (u.getUpdate(getDescription().getVersion())) { - UPDATE = true; - } - } catch(IOException e) { - log.log(Level.WARNING, "PlayerVaults: Failed to check for updates."); - log.log(Level.WARNING, "PlayerVaults: Report this stack trace to drtshock and gomeow."); - e.printStackTrace(); - } - } - + checkUpdate(); commands = new Commands(); getCommand("pv").setExecutor(commands); getCommand("pvdel").setExecutor(commands); @@ -105,6 +94,29 @@ public class PlayerVaults extends JavaPlugin { } } + /** + * Checks for available updates. + */ + public void checkUpdate() { + new BukkitRunnable() { + + public void run() { + Updater u = new Updater(); + if (getConfig().getBoolean("check-update")) { + try { + if (u.getUpdate(getDescription().getVersion())) { + UPDATE = true; + } + } catch(IOException e) { + log.log(Level.WARNING, "PlayerVaults: Failed to check for updates."); + log.log(Level.WARNING, "PlayerVaults: Report this stack trace to drtshock and gomeow."); + e.printStackTrace(); + } + } + } + }.runTaskAsynchronously(this); + } + /** * Setup economy *