summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java
diff options
context:
space:
mode:
authortylermurphy534 <tylermurphy534@gmail.com>2023-02-08 23:24:53 +0000
committertylermurphy534 <tylermurphy534@gmail.com>2023-02-08 23:24:53 +0000
commitb87174e7701863f54ab26998feaf4bdaa9a0df20 (patch)
treebf3cec7f3d0be7aa6bc26fc647a06527dfe49235 /src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java
parentMerge pull request '1.7.0 - Multi Map Support' (#4) from dev into main (diff)
parentupdate dependicies, fix worldborder, fix timer when player leaves, fix drop i... (diff)
downloadkenshinshideandseek-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.java37
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