summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2022-06-01 20:03:01 -0400
committerGitHub <noreply@github.com>2022-06-01 20:03:01 -0400
commitc506030cbabe938f0afccbf3489ab72e7463e1e7 (patch)
tree0cafe99d4b314c761d2621457c4a4a824e53350e /src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java
parentmove code of conduct and contributing guidelines (diff)
parentUpdate CONTRIBUTING.md (diff)
downloadkenshinshideandseek-c506030cbabe938f0afccbf3489ab72e7463e1e7.tar.gz
kenshinshideandseek-c506030cbabe938f0afccbf3489ab72e7463e1e7.tar.bz2
kenshinshideandseek-c506030cbabe938f0afccbf3489ab72e7463e1e7.zip
Merge pull request #68 from tylermurphy534/1.5.0
1.5.0
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java b/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java
new file mode 100644
index 0000000..647c4b6
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java
@@ -0,0 +1,71 @@
+package net.tylermurphy.hideAndSeek.game.events;
+
+import net.tylermurphy.hideAndSeek.Main;
+import org.bukkit.Bukkit;
+import org.bukkit.World;
+
+import static net.tylermurphy.hideAndSeek.configuration.Config.*;
+import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+
+public class Border {
+
+ private int delay;
+ private boolean running;
+
+ public Border() {
+ delay = 60 * worldBorderDelay;
+ }
+
+ public void update() {
+ if (delay == 30 && !running) {
+ Main.getInstance().getGame().broadcastMessage(worldBorderPrefix + message("WORLDBORDER_WARN"));
+ } else if (delay == 0) {
+ if (running) {
+ delay = 60 * worldBorderDelay;
+ running = false;
+ }
+ else decreaseWorldBorder();
+ }
+ delay--;
+ }
+
+ private void decreaseWorldBorder() {
+ if (currentWorldborderSize == 100) return;
+ int change = worldBorderChange;
+ if (currentWorldborderSize-worldBorderChange < 100) {
+ change = currentWorldborderSize-100;
+ }
+ running = true;
+ Main.getInstance().getGame().broadcastMessage(worldBorderPrefix + message("WORLDBORDER_DECREASING").addAmount(change));
+ currentWorldborderSize -= worldBorderChange;
+ World world = Bukkit.getWorld(Main.getInstance().getGame().getGameWorld());
+ assert world != null;
+ org.bukkit.WorldBorder border = world.getWorldBorder();
+ border.setSize(border.getSize()-change,30);
+ delay = 30;
+ }
+
+ public void resetWorldBorder(String worldName) {
+ World world = Bukkit.getWorld(worldName);
+ assert world != null;
+ org.bukkit.WorldBorder border = world.getWorldBorder();
+ if (worldBorderEnabled) {
+ border.setSize(worldBorderSize);
+ border.setCenter(worldBorderPosition.getX(), worldBorderPosition.getZ());
+ currentWorldborderSize = worldBorderSize;
+ } else {
+ border.setSize(30000000);
+ border.setCenter(0, 0);
+ }
+ delay = 60 * worldBorderDelay;
+ }
+
+ public int getDelay() {
+ return delay;
+ }
+
+ public boolean isRunning() {
+ return running;
+ }
+
+} \ No newline at end of file