summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/events
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/events')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java32
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java94
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java32
3 files changed, 89 insertions, 69 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java
index dec3b0f..a817df3 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java
@@ -6,6 +6,8 @@ import org.bukkit.entity.Player;
import net.tylermurphy.hideAndSeek.Main;
import net.tylermurphy.hideAndSeek.util.Packet;
+import static net.tylermurphy.hideAndSeek.configuration.Config.*;
+
public class Glow {
private final int temp;
@@ -18,7 +20,8 @@ public class Glow {
}
public void onProjectilve() {
- glowTime++;
+ if(glowStackable) glowTime += glowLength;
+ else glowTime = glowLength;
if(!running)
startGlow();
}
@@ -34,26 +37,29 @@ public class Glow {
}
private void waitGlow() {
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
- public void run() {
- if(temp != Main.plugin.gameId) return;
- glowTime--;
- glowTime = Math.max(glowTime, 0);
- if(glowTime == 0) {
- stopGlow();
- } else {
- waitGlow();
- }
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
+ if(temp != Main.plugin.gameId) return;
+ glowTime--;
+ glowTime = Math.max(glowTime, 0);
+ if(glowTime == 0) {
+ stopGlow();
+ } else {
+ waitGlow();
}
- }, 20*30);
+ }, 20);
}
private void stopGlow() {
+ running = false;
for(Player hider : Main.plugin.board.getHiders()) {
- for(Player seeker : Main.plugin.board.getSeekers()) {
+ for (Player seeker : Main.plugin.board.getSeekers()) {
Packet.setGlow(hider, seeker, false);
}
}
}
+
+ public boolean isRunning() {
+ return running;
+ }
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java
index 8413cc2..d24c93f 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java
@@ -18,41 +18,33 @@ public class Taunt {
private final int temp;
private String tauntPlayer;
+ private int delay;
+ private boolean running;
public Taunt(int temp) {
this.temp = temp;
+ this.delay = 0;
}
public void schedule() {
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
- public void run() {
- tryTaunt();
- }
- },20*60*5);
+ delay = tauntDelay;
+ waitTaunt();
}
-
+
private void waitTaunt() {
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
- public void run() {
- tryTaunt();
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
+ if(delay == 0) {
+ if(!tauntLast && Main.plugin.board.size() < 2) return;
+ else executeTaunt();
+ } else {
+ delay--;
+ waitTaunt();
}
- },20*60);
- }
-
- private void tryTaunt() {
- if(temp != Main.plugin.gameId) return;
- if(Math.random() > .8) {
- executeTaunt();
- } else {
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
- public void run() {
- tryTaunt();
- }
- },20*60);
- }
+ },20);
}
private void executeTaunt() {
+ if(temp != Main.plugin.gameId) return;
Player taunted = null;
int rand = (int) (Math.random()*Main.plugin.board.sizeHider());
for(Player player : Main.plugin.board.getPlayers()) {
@@ -65,37 +57,45 @@ public class Taunt {
}
}
if(taunted != null) {
+ running = true;
taunted.sendMessage(message("TAUNTED").toString());
Util.broadcastMessage(tauntPrefix + message("TAUNT"));
tauntPlayer = taunted.getName();
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
- public void run() {
- if(temp != Main.plugin.gameId) return;
- Player taunted = Main.plugin.board.getPlayer(tauntPlayer);
- if(taunted != null) {
- Firework fw = (Firework) taunted.getLocation().getWorld().spawnEntity(taunted.getLocation(), EntityType.FIREWORK);
- FireworkMeta fwm = fw.getFireworkMeta();
- fwm.setPower(4);
- fwm.addEffect(FireworkEffect.builder()
- .withColor(Color.BLUE)
- .withColor(Color.RED)
- .withColor(Color.YELLOW)
- .with(FireworkEffect.Type.STAR)
- .with(FireworkEffect.Type.BALL)
- .with(FireworkEffect.Type.BALL_LARGE)
- .flicker(true)
- .withTrail()
- .build());
- fw.setFireworkMeta(fwm);
- Util.broadcastMessage(tauntPrefix + message("TAUNT_ACTIVATE"));
- }
- tauntPlayer = "";
- waitTaunt();
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
+ if(temp != Main.plugin.gameId) return;
+ Player taunted1 = Main.plugin.board.getPlayer(tauntPlayer);
+ if(taunted1 != null) {
+ Firework fw = (Firework) taunted1.getLocation().getWorld().spawnEntity(taunted1.getLocation(), EntityType.FIREWORK);
+ FireworkMeta fwm = fw.getFireworkMeta();
+ fwm.setPower(4);
+ fwm.addEffect(FireworkEffect.builder()
+ .withColor(Color.BLUE)
+ .withColor(Color.RED)
+ .withColor(Color.YELLOW)
+ .with(FireworkEffect.Type.STAR)
+ .with(FireworkEffect.Type.BALL)
+ .with(FireworkEffect.Type.BALL_LARGE)
+ .flicker(true)
+ .withTrail()
+ .build());
+ fw.setFireworkMeta(fwm);
+ Util.broadcastMessage(tauntPrefix + message("TAUNT_ACTIVATE"));
}
+ tauntPlayer = "";
+ running = false;
+ schedule();
},20*30);
} else {
- waitTaunt();
+ schedule();
}
}
+
+ public int getDelay(){
+ return delay;
+ }
+
+ public boolean isRunning() {
+ return running;
+ }
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
index 5884a94..5d0e48c 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
@@ -13,32 +13,38 @@ import net.tylermurphy.hideAndSeek.util.Util;
public class Worldborder {
private final int temp;
+ private int delay;
+ private boolean running;
public Worldborder(int temp) {
this.temp = temp;
}
public void schedule() {
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
- public void run() {
- decreaceWorldborder();
+ delay = 60*worldborderDelay;
+ running = false;
+ waitBorder();
+ }
+
+ private void waitBorder(){
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> {
+ if(delay == 0) decreaceWorldborder();
+ else {
+ delay--; waitBorder();
}
- },20*60*worldborderDelay);
+ }, 20);
}
private void decreaceWorldborder() {
if(temp != Main.plugin.gameId) return;
if(currentWorldborderSize-100 > 100) {
+ running = true;
Util.broadcastMessage(worldborderPrefix + message("WORLDBORDER_DECREASING"));
currentWorldborderSize -= 100;
World world = Bukkit.getWorld("hideandseek_"+spawnWorld);
WorldBorder border = world.getWorldBorder();
border.setSize(border.getSize()-100,30);
- Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
- public void run() {
- decreaceWorldborder();
- }
- },20*60*worldborderDelay);
+ schedule();
}
}
@@ -56,5 +62,13 @@ public class Worldborder {
border.setCenter(0, 0);
}
}
+
+ public int getDelay(){
+ return delay;
+ }
+
+ public boolean isRunning() {
+ return running;
+ }
}