diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2022-06-01 20:03:01 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-01 20:03:01 -0400 |
commit | c506030cbabe938f0afccbf3489ab72e7463e1e7 (patch) | |
tree | 0cafe99d4b314c761d2621457c4a4a824e53350e /src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java | |
parent | move code of conduct and contributing guidelines (diff) | |
parent | Update CONTRIBUTING.md (diff) | |
download | kenshinshideandseek-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.java | 71 |
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 |