summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
index 5884a94..5d0e48c 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
@@ -13,32 +13,38 @@ import net.tylermurphy.hideAndSeek.util.Util;
public class Worldborder {
private final int temp;
+ private int delay;
+ private boolean running;
public Worldborder(int temp) {
this.temp = temp;
}
public void schedule() {
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
- public void run() {
- decreaceWorldborder();
+ delay = 60*worldborderDelay;
+ running = false;
+ waitBorder();
+ }
+
+ private void waitBorder(){
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
+ if(delay == 0) decreaceWorldborder();
+ else {
+ delay--; waitBorder();
}
- },20*60*worldborderDelay);
+ }, 20);
}
private void decreaceWorldborder() {
if(temp != Main.plugin.gameId) return;
if(currentWorldborderSize-100 > 100) {
+ running = true;
Util.broadcastMessage(worldborderPrefix + message("WORLDBORDER_DECREASING"));
currentWorldborderSize -= 100;
World world = Bukkit.getWorld("hideandseek_"+spawnWorld);
WorldBorder border = world.getWorldBorder();
border.setSize(border.getSize()-100,30);
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
- public void run() {
- decreaceWorldborder();
- }
- },20*60*worldborderDelay);
+ schedule();
}
}
@@ -56,5 +62,13 @@ public class Worldborder {
border.setCenter(0, 0);
}
}
+
+ public int getDelay(){
+ return delay;
+ }
+
+ public boolean isRunning() {
+ return running;
+ }
}