diff options
author | tylermurphy534 <tylermurphy534@gmail.com> | 2023-02-08 23:24:53 +0000 |
---|---|---|
committer | tylermurphy534 <tylermurphy534@gmail.com> | 2023-02-08 23:24:53 +0000 |
commit | b87174e7701863f54ab26998feaf4bdaa9a0df20 (patch) | |
tree | bf3cec7f3d0be7aa6bc26fc647a06527dfe49235 /src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java | |
parent | Merge pull request '1.7.0 - Multi Map Support' (#4) from dev into main (diff) | |
parent | update dependicies, fix worldborder, fix timer when player leaves, fix drop i... (diff) | |
download | kenshinshideandseek-b87174e7701863f54ab26998feaf4bdaa9a0df20.tar.gz kenshinshideandseek-b87174e7701863f54ab26998feaf4bdaa9a0df20.tar.bz2 kenshinshideandseek-b87174e7701863f54ab26998feaf4bdaa9a0df20.zip |
Merge pull request '1.7.1 - A few tweaks and bug squashes' (#5) from dev into main
Reviewed-on: https://g.tylerm.dev/tylermurphy534/KenshinsHideAndSeek/pulls/5
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java b/src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java index b9ea09b..b3460d0 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java @@ -1,5 +1,7 @@ package net.tylermurphy.hideAndSeek.game.util; +import com.cryptomorin.xseries.XSound; +import com.cryptomorin.xseries.messages.ActionBar; import net.tylermurphy.hideAndSeek.Main; import net.tylermurphy.hideAndSeek.util.packet.BlockChangePacket; import net.tylermurphy.hideAndSeek.util.packet.EntityTeleportPacket; @@ -20,7 +22,7 @@ public class Disguise { FallingBlock block; Horse hitBox; Location blockLocation; - boolean solid, solidify; + boolean solid, solidify, solidifying; static Team hidden; static { @@ -172,4 +174,37 @@ public class Disguise { } } + public void startSolidifying() { + if (solidifying) return; + if (solid) return; + solidifying = true; + final Location lastLocation = hider.getLocation(); + Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), () -> solidifyUpdate(lastLocation, 3), 10); + } + + private void solidifyUpdate(Location lastLocation, int time) { + Location currentLocation = hider.getLocation(); + if(lastLocation.getWorld() != currentLocation.getWorld()) { + solidifying = false; + return; + } + if(lastLocation.distance(currentLocation) > .1) { + solidifying = false; + return; + } + if(time == 0) { + ActionBar.clearActionBar(hider); + setSolidify(true); + solidifying = false; + } else { + StringBuilder s = new StringBuilder(); + for (int i = 0; i < time; i++) { + s.append("▪"); + } + ActionBar.sendActionBar(hider, s.toString()); + XSound.BLOCK_NOTE_BLOCK_PLING.play(hider, 1, 1); + Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), () -> solidifyUpdate(lastLocation, time - 1), 20); + } + } + }
\ No newline at end of file |