summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/events
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-08-31 21:55:27 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2021-08-31 21:55:27 -0400
commitf1379a94754b68cc3904d2b96b5815854d5565c1 (patch)
tree39ef970eabaaeabf0993ea1cec6ffbd31c83a07b /src/main/java/net/tylermurphy/hideAndSeek/events
parent1.3.0 beta 4 (diff)
downloadkenshinshideandseek-f1379a94754b68cc3904d2b96b5815854d5565c1.tar.gz
kenshinshideandseek-f1379a94754b68cc3904d2b96b5815854d5565c1.tar.bz2
kenshinshideandseek-f1379a94754b68cc3904d2b96b5815854d5565c1.zip
1.3.0 beta 5
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/events')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java260
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/EventTick.java169
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java69
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java100
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java43
5 files changed, 212 insertions, 429 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java b/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java
deleted file mode 100644
index 46cf676..0000000
--- a/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java
+++ /dev/null
@@ -1,260 +0,0 @@
-package net.tylermurphy.hideAndSeek.events;
-
-import static net.tylermurphy.hideAndSeek.Store.*;
-
-import org.bukkit.Bukkit;
-import org.bukkit.GameMode;
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.Sound;
-import org.bukkit.attribute.Attribute;
-import org.bukkit.entity.ArmorStand;
-import org.bukkit.entity.ItemFrame;
-import org.bukkit.entity.Painting;
-import org.bukkit.entity.Player;
-import org.bukkit.entity.Snowball;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.entity.EntityDamageByEntityEvent;
-import org.bukkit.event.entity.EntityDamageEvent;
-import org.bukkit.event.entity.EntityRegainHealthEvent;
-import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
-import org.bukkit.event.entity.FoodLevelChangeEvent;
-import org.bukkit.event.entity.ProjectileLaunchEvent;
-import org.bukkit.event.hanging.HangingBreakByEntityEvent;
-import org.bukkit.event.player.PlayerCommandPreprocessEvent;
-import org.bukkit.event.player.PlayerInteractEntityEvent;
-import org.bukkit.event.player.PlayerInteractEvent;
-import org.bukkit.event.player.PlayerJoinEvent;
-import org.bukkit.event.player.PlayerQuitEvent;
-import org.bukkit.potion.PotionEffect;
-
-import net.md_5.bungee.api.ChatColor;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.util.Functions;
-import net.tylermurphy.hideAndSeek.util.Packet;
-
-public class EventListener implements Listener {
-
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent event) {
- if(status.equals("Playing") || status.equals("Starting")) {
- Spectator.addEntry(event.getPlayer().getName());
- event.getPlayer().sendMessage(messagePrefix + "You have joined mid game, and thus have been placed on the spectator team.");
- event.getPlayer().setGameMode(GameMode.SPECTATOR);
- event.getPlayer().getInventory().clear();
- for(PotionEffect effect : event.getPlayer().getActivePotionEffects()){
- event.getPlayer().removePotionEffect(effect.getType());
- }
- event.getPlayer().teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ()));
- } else if(status.equals("Setup") || status.equals("Standby")) {
- Hider.addEntry(event.getPlayer().getName());
- event.getPlayer().setGameMode(GameMode.ADVENTURE);
- event.getPlayer().teleport(new Location(Bukkit.getWorld(spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ()));
- }
- playerList.put(event.getPlayer().getName(), event.getPlayer());
- }
-
- @EventHandler
- public void onQuit(PlayerQuitEvent event) {
- playerList.remove(event.getPlayer().getName());
- Hider.removeEntry(event.getPlayer().getName());
- Seeker.removeEntry(event.getPlayer().getName());
- Spectator.removeEntry(event.getPlayer().getName());
- }
-
- @EventHandler
- public void onEntityDamage(EntityDamageEvent event) {
- if(event.getEntity() instanceof Player) {
- if(!status.equals("Playing")) {
- event.setCancelled(true);
- return;
- }
- Player player = (Player) event.getEntity();
- if(player.getHealth()-event.getDamage() < 0) {
- if(spawnPosition == null) return;
- event.setCancelled(true);
- player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
- player.teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(), spawnPosition.getY(), spawnPosition.getZ()));
- Packet.playSound(player, Sound.ENTITY_PLAYER_DEATH, 1, 1);
- if(Hider.hasEntry(event.getEntity().getName())) {
- Bukkit.broadcastMessage(String.format(messagePrefix + "%s%s%s has died and became a seeker", ChatColor.GOLD, event.getEntity().getName(), ChatColor.WHITE));
- }
- if(Seeker.hasEntry(event.getEntity().getName())) {
- Bukkit.broadcastMessage(String.format(messagePrefix + "%s%s%s has been beat by a hider", ChatColor.RED, event.getEntity().getName(), ChatColor.WHITE));
- }
- Seeker.addEntry(player.getName());
- Functions.resetPlayer(player);
- for(Player temp : playerList.values()) {
- Packet.setGlow(player, temp, false);
- }
- }
- }
-
- }
-
- @EventHandler
- public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
- if(event.getEntity() instanceof ArmorStand) {
- if(unbreakableArmorstands) {
- if(event.getDamager() instanceof Player) {
- Player player = (Player) event.getDamager();
- if(status.equals("Playing") || status.equals("Starting") || !player.hasPermission("hideandseek.blockbypass")) {
- System.out.println('t');
- event.setCancelled(true);
- }
- } else {
- event.setCancelled(true);
- }
- }
- }
- }
-
- @EventHandler
- public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
- if(!interactableArmorstands) {
- if(event.getRightClicked() instanceof ArmorStand) {
- if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
- event.setCancelled(true);
- }
- }
- }
- if(!interactableItemframes) {
- if(event.getRightClicked() instanceof ItemFrame) {
- if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
- event.setCancelled(true);
- }
- }
- }
- }
-
- @EventHandler
- public void onPlayerInteractBlock(PlayerInteractEvent event) {
- if(!interactableDoors) {
- if(
- event.getClickedBlock().getType() == Material.ACACIA_DOOR ||
- event.getClickedBlock().getType() == Material.BIRCH_DOOR ||
- event.getClickedBlock().getType() == Material.CRIMSON_DOOR ||
- event.getClickedBlock().getType() == Material.DARK_OAK_DOOR ||
- event.getClickedBlock().getType() == Material.IRON_DOOR ||
- event.getClickedBlock().getType() == Material.JUNGLE_DOOR ||
- event.getClickedBlock().getType() == Material.OAK_DOOR ||
- event.getClickedBlock().getType() == Material.SPRUCE_DOOR ||
- event.getClickedBlock().getType() == Material.WARPED_DOOR
- ) {
- if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
- event.setCancelled(true);
- }
- }
- }
- if(!interactableTrapdoors) {
- if(
- event.getClickedBlock().getType() == Material.ACACIA_TRAPDOOR ||
- event.getClickedBlock().getType() == Material.BIRCH_TRAPDOOR ||
- event.getClickedBlock().getType() == Material.CRIMSON_TRAPDOOR ||
- event.getClickedBlock().getType() == Material.DARK_OAK_TRAPDOOR ||
- event.getClickedBlock().getType() == Material.IRON_TRAPDOOR ||
- event.getClickedBlock().getType() == Material.JUNGLE_TRAPDOOR ||
- event.getClickedBlock().getType() == Material.OAK_TRAPDOOR ||
- event.getClickedBlock().getType() == Material.SPRUCE_TRAPDOOR ||
- event.getClickedBlock().getType() == Material.WARPED_TRAPDOOR
- ) {
- if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
- event.setCancelled(true);
- }
- }
- }
- if(!interactableFencegate) {
- if(
- event.getClickedBlock().getType() == Material.ACACIA_FENCE_GATE ||
- event.getClickedBlock().getType() == Material.BIRCH_FENCE_GATE ||
- event.getClickedBlock().getType() == Material.CRIMSON_FENCE_GATE ||
- event.getClickedBlock().getType() == Material.DARK_OAK_FENCE_GATE ||
- event.getClickedBlock().getType() == Material.JUNGLE_FENCE_GATE ||
- event.getClickedBlock().getType() == Material.OAK_FENCE_GATE ||
- event.getClickedBlock().getType() == Material.SPRUCE_FENCE_GATE ||
- event.getClickedBlock().getType() == Material.WARPED_FENCE_GATE
- ) {
- if(status.equals("Playing") || status.equals("Starting") || !event.getPlayer().hasPermission("hideandseek.blockbypass")) {
- event.setCancelled(true);
- }
- }
- }
- }
-
- @EventHandler
- public void onHangingBreakByEntity(HangingBreakByEntityEvent event) {
- if(event.getEntity() instanceof ItemFrame) {
- if(unbreakableItemframes) {
- if(event.getRemover() instanceof Player) {
- Player player = (Player) event.getRemover();
- if(status.equals("Playing") || status.equals("Starting") || !player.hasPermission("hideandseek.blockbypass")) {
- event.setCancelled(true);
- }
- } else {
- event.setCancelled(true);
- }
-
- }
- }
- if(event.getEntity() instanceof Painting) {
- if(unbreakableArmorstands) {
- if(event.getRemover() instanceof Player) {
- Player player = (Player) event.getRemover();
- if(status.equals("Playing") || status.equals("Starting") || !player.hasPermission("hideandseek.blockbypass")) {
- event.setCancelled(true);
- }
- } else {
- event.setCancelled(true);
- }
- }
- }
- }
-
- @EventHandler
- public void onProjectile(ProjectileLaunchEvent event) {
- if(!status.equals("Playing")) return;
- if(event.getEntity() instanceof Snowball) {
- Snowball snowball = (Snowball) event.getEntity();
- if(snowball.getShooter() instanceof Player) {
- Player player = (Player) snowball.getShooter();
- if(Hider.hasEntry(player.getName())) {
- glowTime++;
- snowball.remove();
- player.getInventory().remove(Material.SNOWBALL);
- int temp = gameId;
- Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() {
- public void run() {
- if(temp != gameId) return;
- glowTime--;
- }
- }, 20 * 30);
- }
- }
- }
- }
-
- @EventHandler
- public void onFoodLevelChange(FoodLevelChangeEvent event) {
- event.setCancelled(true);
- }
-
- @EventHandler
- public void onPlayerRegainHealth(EntityRegainHealthEvent event) {
- if(event.getRegainReason() == RegainReason.SATIATED || event.getRegainReason() == RegainReason.REGEN)
- event.setCancelled(true);
- }
-
- @EventHandler
- public void onPlayerCommandPreProccess(PlayerCommandPreprocessEvent event) {
- if(status.equals("Setup") || status.equals("Standby")) return;
- String handle = event.getMessage().split(" ")[0].substring(1);
- for(String blocked : blockedCommands) {
- if(handle.equalsIgnoreCase(blocked) || handle.equalsIgnoreCase("minecraft:"+blocked)) {
- event.setCancelled(true);
- event.getPlayer().sendMessage(errorPrefix + "This command is blocked during gameplay!");
- break;
- }
- }
- }
-}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/EventTick.java b/src/main/java/net/tylermurphy/hideAndSeek/events/EventTick.java
deleted file mode 100644
index 042b0a3..0000000
--- a/src/main/java/net/tylermurphy/hideAndSeek/events/EventTick.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package net.tylermurphy.hideAndSeek.events;
-
-import static net.tylermurphy.hideAndSeek.Store.*;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.Color;
-import org.bukkit.FireworkEffect;
-import org.bukkit.Location;
-import org.bukkit.Sound;
-import org.bukkit.World;
-import org.bukkit.WorldBorder;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.Firework;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.meta.FireworkMeta;
-import org.bukkit.scoreboard.Scoreboard;
-import org.bukkit.scoreboard.ScoreboardManager;
-import org.bukkit.scoreboard.Team.Option;
-import org.bukkit.scoreboard.Team.OptionStatus;
-
-import net.tylermurphy.hideAndSeek.commands.Stop;
-import net.tylermurphy.hideAndSeek.util.Packet;
-
-public class EventTick {
-
- static int tick = 0;
-
- public static void onTick() {
-
- if(board == null) {
- ScoreboardManager manager = Bukkit.getScoreboardManager();
- Scoreboard mainBoard = manager.getMainScoreboard();
-
- try { mainBoard.registerNewTeam("Seeker");} catch(Exception e) {}
- Seeker = mainBoard.getTeam("Seeker");
- Seeker.setColor(ChatColor.RED);
- if(nametagsVisible)
- Seeker.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.FOR_OTHER_TEAMS);
- else
- Seeker.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.NEVER);
- Seeker.setAllowFriendlyFire(false);
-
- try { mainBoard.registerNewTeam("Hider");} catch(Exception e) {}
- Hider = mainBoard.getTeam("Hider");
- Hider.setColor(ChatColor.GOLD);
- if(nametagsVisible)
- Hider.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.FOR_OWN_TEAM);
- else
- Hider.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.NEVER);
- Hider.setAllowFriendlyFire(false);
-
- try { mainBoard.registerNewTeam("Spectator");} catch(Exception e) {}
- Spectator = mainBoard.getTeam("Spectator");
- Spectator.setColor(ChatColor.GRAY);
- Spectator.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.NEVER);
- Spectator.setAllowFriendlyFire(false);
-
- board = mainBoard;
- }
-
- for(String entry : Hider.getEntries()) {
- if(!playerList.containsKey(entry)) {
- Hider.removeEntry(entry);
- }
- }
-
- for(String entry : Seeker.getEntries()) {
- if(!playerList.containsKey(entry)) {
- Seeker.removeEntry(entry);
- }
- }
-
- for(String entry : Spectator.getEntries()) {
- if(!playerList.containsKey(entry)) {
- Spectator.removeEntry(entry);
- }
- }
-
- if(status.equals("Starting")) {
- onStarting();
- } else if(status.equals("Playing")) {
- onPlaying();
- }
-
- tick ++;
-
- if(( status.equals("Starting") || status.equals("Playing") ) && Hider.getSize() < 1) {
- Bukkit.broadcastMessage(gameoverPrefix + "All hiders have been found.");
- Stop.onStop();
- }
- if(( status.equals("Starting") || status.equals("Playing") ) && Seeker.getSize() < 1) {
- Bukkit.broadcastMessage(abortPrefix + "All seekers have quit.");
- Stop.onStop();
- }
- }
-
- private static void onStarting() {
- for(String playerName : Seeker.getEntries()) {
- Player player = playerList.get(playerName);
- if(player != null) {
- player.teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ()));
- }
- }
- }
-
- private static void onPlaying() {
- if(decreaseBorder) {
- World world = Bukkit.getWorld("world");
- WorldBorder border = world.getWorldBorder();
- border.setSize(border.getSize()-100,30);
- decreaseBorder = false;
- }
- if(!tauntPlayer.equals("")) {
- Player taunted = playerList.get(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);
- Bukkit.getServer().broadcastMessage(tauntPrefix + " Taunt has been activated");
- }
- tauntPlayer = "";
- }
- for(String playerName : Hider.getEntries()) {
- Player player = playerList.get(playerName);
- int distance = 100;
- for(String seekerName : Seeker.getEntries()) {
- Player seeker = playerList.get(seekerName);
- int temp = (int) player.getLocation().distance(seeker.getLocation());
- if(distance > temp) {
- distance = temp;
- }
- if(glowTime > 0) {
- Packet.setGlow(player, seeker, true);
- } else {
- Packet.setGlow(player, seeker, false);
- }
- }
- switch(tick%10) {
- case 0:
- if(distance < 30) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .5f, 1f);
- if(distance < 10) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
- break;
- case 3:
- if(distance < 30) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .3f, 1f);
- if(distance < 10) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
- break;
- case 6:
- if(distance < 10) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
- break;
- case 9:
- if(distance < 20) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
- break;
- }
- }
- }
-
-}
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);
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java
new file mode 100644
index 0000000..f2f09a1
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java
@@ -0,0 +1,100 @@
+package net.tylermurphy.hideAndSeek.events;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.Color;
+import org.bukkit.FireworkEffect;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Firework;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.meta.FireworkMeta;
+
+import net.tylermurphy.hideAndSeek.Main;
+
+public class Taunt {
+
+ private final int temp;
+ private String tauntPlayer;
+
+ public Taunt(int temp) {
+ this.temp = temp;
+ }
+
+ public void schedule() {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ tryTaunt();
+ }
+ },20*60*5);
+ }
+
+ private void waitTaunt() {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ tryTaunt();
+ }
+ },20*60);
+ }
+
+ private void tryTaunt() {
+ if(temp != gameId) return;
+ if(Math.random() > .8) {
+ executeTaunt();
+ } else {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ tryTaunt();
+ }
+ },20*60);
+ }
+ }
+
+ private void executeTaunt() {
+ Player taunted = null;
+ int rand = (int) (Math.random()*Hider.size());
+ for(Player player : playerList.values()) {
+ if(Hider.contains(player.getName())) {
+ rand--;
+ if(rand==0) {
+ taunted = player;
+ break;
+ }
+ }
+ }
+ if(taunted != null) {
+ taunted.sendMessage(ChatColor.RED + "" + ChatColor.ITALIC + "Oh no! You have been chosed to be taunted.");
+ Bukkit.getServer().broadcastMessage(tauntPrefix + " A random hider will be taunted in the next 30s");
+ tauntPlayer = taunted.getName();
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ if(temp != gameId) return;
+ Player taunted = playerList.get(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);
+ Bukkit.getServer().broadcastMessage(tauntPrefix + " Taunt has been activated");
+ }
+ tauntPlayer = "";
+ waitTaunt();
+ }
+ },20*30);
+ } else {
+ waitTaunt();
+ }
+ }
+
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
new file mode 100644
index 0000000..5e64381
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
@@ -0,0 +1,43 @@
+package net.tylermurphy.hideAndSeek.events;
+
+import org.bukkit.Bukkit;
+import org.bukkit.World;
+import org.bukkit.WorldBorder;
+
+import net.tylermurphy.hideAndSeek.Main;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+public class Worldborder {
+
+ private final int temp;
+
+ public Worldborder(int temp) {
+ this.temp = temp;
+ }
+
+ public void schedule() {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ decreaceWorldborder();
+ }
+ },20*60*worldborderDelay);
+ }
+
+ private void decreaceWorldborder() {
+ if(temp != gameId) return;
+ if(currentWorldborderSize-100 > 100) {
+ Bukkit.getServer().broadcastMessage(worldborderPrefix + "Worldborder decreacing by 100 blocks over the next 30s");
+ 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);
+ }
+ }
+
+}