summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java
new file mode 100644
index 0000000..ec94803
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java
@@ -0,0 +1,69 @@
+package net.tylermurphy.hideAndSeek.events;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+
+import net.tylermurphy.hideAndSeek.Main;
+import net.tylermurphy.hideAndSeek.util.Packet;
+
+public class Glow {
+
+ private final int temp;
+ private int glowTime;
+ private boolean running;
+
+ public Glow(int temp) {
+ this.temp = temp;
+ this.glowTime = 0;
+ }
+
+ public void onProjectilve() {
+ glowTime++;
+ if(!running)
+ startGlow();
+ }
+
+ private void startGlow() {
+ running = true;
+ for(String hiderName : Hider) {
+ Player hider = playerList.get(hiderName);
+ if(hider == null) continue;
+ for(String seekerName : Seeker) {
+ Player seeker = playerList.get(seekerName);
+ if(seeker == null) continue;
+ Packet.setGlow(hider, seeker, true);
+ }
+ }
+ waitGlow();
+ }
+
+ private void waitGlow() {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ if(temp != gameId) return;
+ glowTime--;
+ glowTime = Math.max(glowTime, 0);
+ if(glowTime == 0) {
+ stopGlow();
+ } else {
+ waitGlow();
+ }
+ }
+ }, 20*30);
+ }
+
+ private void stopGlow() {
+ for(String hiderName : Hider) {
+ Player hider = playerList.get(hiderName);
+ if(hider == null) continue;
+ for(String seekerName : Seeker) {
+ Player seeker = playerList.get(seekerName);
+ if(seeker == null) continue;
+ Packet.setGlow(hider, seeker, false);
+ }
+ }
+ }
+
+}