summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/manager
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/manager')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/manager/BoardManager.java40
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/manager/EventManager.java56
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/manager/TickManager.java36
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/manager/WorldborderManager.java14
4 files changed, 70 insertions, 76 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/manager/BoardManager.java b/src/main/java/net/tylermurphy/hideAndSeek/manager/BoardManager.java
deleted file mode 100644
index db618b5..0000000
--- a/src/main/java/net/tylermurphy/hideAndSeek/manager/BoardManager.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package net.tylermurphy.hideAndSeek.manager;
-
-import static net.tylermurphy.hideAndSeek.Store.*;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.scoreboard.Scoreboard;
-import org.bukkit.scoreboard.ScoreboardManager;
-import org.bukkit.scoreboard.Team.Option;
-import org.bukkit.scoreboard.Team.OptionStatus;
-
-public class BoardManager {
-
- public static void loadScoreboard() {
-
- ScoreboardManager manager = Bukkit.getScoreboardManager();
- Scoreboard mainBoard = manager.getMainScoreboard();
-
- try { mainBoard.registerNewTeam("Seeker");} catch(Exception e) {}
- Seeker = mainBoard.getTeam("Seeker");
- Seeker.setColor(ChatColor.RED);
- 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);
- 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;
- }
-
-}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/manager/EventManager.java b/src/main/java/net/tylermurphy/hideAndSeek/manager/EventManager.java
index 129d684..9983202 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/manager/EventManager.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/manager/EventManager.java
@@ -5,26 +5,29 @@ 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.Player;
import org.bukkit.entity.Snowball;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
-import org.bukkit.event.entity.PlayerDeathEvent;
+import org.bukkit.event.entity.EntityDamageEvent;
+import org.bukkit.event.entity.EntityRegainHealthEvent;
+import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.event.entity.ProjectileLaunchEvent;
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;
public class EventManager implements Listener {
-
+
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
- if(Bukkit.getScoreboardManager() != null && board == null) {
- BoardManager.loadScoreboard();
- }
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.");
@@ -49,18 +52,28 @@ public class EventManager implements Listener {
}
@EventHandler
- public void onDeath(PlayerDeathEvent event) {
- if(status.equals("Playing")) {
- if(Hider.hasEntry(event.getEntity().getName())) {
- Bukkit.getServer().broadcastMessage(String.format(messagePrefix + "%s%s%s has died and become a seeker", ChatColor.GOLD, event.getEntity().getName(), ChatColor.WHITE));
- }
- if(Seeker.hasEntry(event.getEntity().getName())) {
- Bukkit.getServer().broadcastMessage(String.format(messagePrefix + "%s%s%s has been beat by a hider", ChatColor.RED, event.getEntity().getName(), ChatColor.WHITE));
+ public void onPlayerDamage(EntityDamageEvent event) {
+ if(event.getEntity() instanceof Player) {
+ 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(player.getWorld(), spawnPosition.getX(), spawnPosition.getY(), spawnPosition.getZ()));
+ Functions.playSound(player, Sound.ENTITY_PLAYER_DEATH, 1, 1);
+ if(status.equals("Playing")) {
+ Functions.resetPlayer(player);
+ if(Hider.hasEntry(event.getEntity().getName())) {
+ Bukkit.broadcastMessage(String.format(messagePrefix + "%s%s%s has died and become 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.giveItems(event.getEntity());
- Seeker.addEntry(event.getEntity().getName());
}
+
}
@EventHandler
@@ -73,9 +86,22 @@ public class EventManager implements Listener {
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 onPlayerRegainHealth(EntityRegainHealthEvent event) {
+ if(event.getRegainReason() == RegainReason.SATIATED || event.getRegainReason() == RegainReason.REGEN)
+ event.setCancelled(true);
+ }
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/manager/TickManager.java b/src/main/java/net/tylermurphy/hideAndSeek/manager/TickManager.java
index 974dae3..10c7c84 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/manager/TickManager.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/manager/TickManager.java
@@ -7,6 +7,9 @@ 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;
@@ -23,9 +26,11 @@ public class TickManager {
public static void onTick() {
- if(board == null) return;
+ if(board == null) {
+ Functions.loadScoreboard();
+ }
- Functions.checkTeams();
+ Functions.emptyOfflinePlayers();
for(Player player : playerList.values()) {
player.addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, 1000000, 127, false, false));
@@ -41,11 +46,11 @@ public class TickManager {
tick ++;
- if(Hider.getSize() < 1) {
+ if(( status.equals("Starting") || status.equals("Playing") ) && Hider.getSize() < 1) {
Bukkit.broadcastMessage(messagePrefix + "Game over! All hiders have been found.");
Stop.onStop();
}
- if(Seeker.getSize() < 1) {
+ if(( status.equals("Starting") || status.equals("Playing") ) && Seeker.getSize() < 1) {
Bukkit.broadcastMessage(messagePrefix + "Game has ended as all seekers have quit.");
Stop.onStop();
}
@@ -55,6 +60,7 @@ public class TickManager {
for(Player player : playerList.values()) {
player.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 1000000, 127, false, false));
}
+
}
private static void onStarting() {
@@ -68,7 +74,9 @@ public class TickManager {
private static void onPlaying() {
if(decreaseBorder) {
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "worldborder add -100 30");
+ World world = Bukkit.getWorld("world");
+ WorldBorder border = world.getWorldBorder();
+ border.setSize(border.getSize()-100,30);
decreaseBorder = false;
}
if(!tauntPlayer.equals("")) {
@@ -122,29 +130,23 @@ public class TickManager {
distance = temp;
}
}
- int x = player.getLocation().getBlockX();
- int y = player.getLocation().getBlockY();
- int z = player.getLocation().getBlockZ();
switch(tick%10) {
case 0:
- if(distance < 30) Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("playsound minecraft:block.note_block.basedrum master %s %s %s %s .5 1",player.getName(),x,y,z));
- if(distance < 10) Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("playsound minecraft:block.note_block.bit master %s %s %s %s .3 1",player.getName(),x,y,z));
+ if(distance < 30) Functions.playSound(player, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .5f, 1f);
+ if(distance < 10) Functions.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
break;
case 3:
- if(distance < 30) Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("playsound minecraft:block.note_block.basedrum master %s %s %s %s 3.31",player.getName(),x,y,z));
- if(distance < 10) Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("playsound minecraft:block.note_block.bit master %s %s %s %s .3 1",player.getName(),x,y,z));
+ if(distance < 30) Functions.playSound(player, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .3f, 1f);
+ if(distance < 10) Functions.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
break;
case 6:
- if(distance < 10) Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("playsound minecraft:block.note_block.bit master %s %s %s %s .3 1",player.getName(),x,y,z));
+ if(distance < 10) Functions.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
break;
case 9:
- if(distance < 20) Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("playsound minecraft:block.note_block.bit master %s %s %s %s .3 1",player.getName(),x,y,z));
+ if(distance < 20) Functions.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
break;
}
}
- if(tick%(20*30) == 0) {
- glowTime = Math.max(0, glowTime--);
- }
}
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/manager/WorldborderManager.java b/src/main/java/net/tylermurphy/hideAndSeek/manager/WorldborderManager.java
index aa0011c..c695d1d 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/manager/WorldborderManager.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/manager/WorldborderManager.java
@@ -3,6 +3,8 @@ package net.tylermurphy.hideAndSeek.manager;
import static net.tylermurphy.hideAndSeek.Store.*;
import org.bukkit.Bukkit;
+import org.bukkit.World;
+import org.bukkit.WorldBorder;
import net.md_5.bungee.api.ChatColor;
import net.tylermurphy.hideAndSeek.Main;
@@ -32,12 +34,16 @@ public class WorldborderManager {
public static void reset() {
if(worldborderEnabled) {
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "worldborder set "+worldborderSize);
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("worldborder center %s %s",worldborderPosition.getBlockX(),worldborderPosition.getBlockZ()));
+ World world = Bukkit.getWorld("world");
+ WorldBorder border = world.getWorldBorder();
+ border.setSize(worldborderSize);
+ border.setCenter(worldborderPosition.getX(), worldborderPosition.getZ());
currentWorldborderSize = worldborderSize;
} else {
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "worldborder set 30000000");
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "worldborder center 0 0");
+ World world = Bukkit.getWorld("world");
+ WorldBorder border = world.getWorldBorder();
+ border.setSize(30000000);
+ border.setCenter(0, 0);
}
}