diff --git a/src/main/java/me/azenet/UHPlugin/UHBorderManager.java b/src/main/java/me/azenet/UHPlugin/UHBorderManager.java index 743ccd1..ae03393 100644 --- a/src/main/java/me/azenet/UHPlugin/UHBorderManager.java +++ b/src/main/java/me/azenet/UHPlugin/UHBorderManager.java @@ -222,6 +222,17 @@ public void setWarningSize(int diameter) { setWarningSize(diameter, 0, null); } + /** + * Returns the UHTimer object representing the countdown before the next border reduction. + *
+ * Returns null if there isn't any countdown running currently.
+ *
+ * @return The timer.
+ */
+ public UHTimer getWarningTimer() {
+ return p.getTimerManager().getTimer(this.warningTimerName);
+ }
+
/**
* Stops the display of the warning messages.
*/
@@ -234,7 +245,7 @@ public void cancelWarning() {
}
}
- UHTimer timer = p.getTimerManager().getTimer(this.warningTimerName);
+ UHTimer timer = getWarningTimer();
timer.stop();
p.getTimerManager().unregisterTimer(timer);
}
diff --git a/src/main/java/me/azenet/UHPlugin/UHGameManager.java b/src/main/java/me/azenet/UHPlugin/UHGameManager.java
index f1f115f..be33efc 100644
--- a/src/main/java/me/azenet/UHPlugin/UHGameManager.java
+++ b/src/main/java/me/azenet/UHPlugin/UHGameManager.java
@@ -30,7 +30,6 @@
import me.azenet.UHPlugin.i18n.I18n;
import me.azenet.UHPlugin.task.FireworksOnWinnersTask;
import me.azenet.UHPlugin.task.TeamStartTask;
-import me.azenet.UHPlugin.task.UpdateTimerTask;
import org.bukkit.Bukkit;
import org.bukkit.Difficulty;
diff --git a/src/main/java/me/azenet/UHPlugin/UHPlugin.java b/src/main/java/me/azenet/UHPlugin/UHPlugin.java
index 5eb71bb..2937395 100644
--- a/src/main/java/me/azenet/UHPlugin/UHPlugin.java
+++ b/src/main/java/me/azenet/UHPlugin/UHPlugin.java
@@ -27,6 +27,7 @@
import me.azenet.UHPlugin.listeners.UHCraftingListener;
import me.azenet.UHPlugin.listeners.UHGameListener;
import me.azenet.UHPlugin.listeners.UHGameplayListener;
+import me.azenet.UHPlugin.task.UpdateTimerTask;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
@@ -116,6 +117,11 @@ public void onEnable() {
// Imports teams from the config.
this.teamManager.importTeamsFromConfig();
+ // Starts the task that updates the timers.
+ // Started here, so a timer can be displayed before the start of the game
+ // (example: countdown before the start).
+ new UpdateTimerTask(this).runTaskTimer(this, 20l, 20l);
+
getLogger().info(i18n.t("load.loaded"));
}
diff --git a/src/main/java/me/azenet/UHPlugin/UHTimerManager.java b/src/main/java/me/azenet/UHPlugin/UHTimerManager.java
index ac5ffb5..759ac0b 100644
--- a/src/main/java/me/azenet/UHPlugin/UHTimerManager.java
+++ b/src/main/java/me/azenet/UHPlugin/UHTimerManager.java
@@ -71,6 +71,10 @@ public void unregisterTimer(UHTimer timer) {
public void updateStartedTimersList() {
runningTimers = new HashMap