diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/CommandHandler.java) | 4 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java) | 54 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/bukkit/TabCompleter.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/CommandTabCompleter.java) | 4 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java | 81 |
4 files changed, 119 insertions, 24 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/CommandHandler.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java index ade208d..73bfd08 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/CommandHandler.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java @@ -1,4 +1,4 @@ -package net.tylermurphy.hideAndSeek; +package net.tylermurphy.hideAndSeek.bukkit; import static net.tylermurphy.hideAndSeek.Store.*; @@ -10,7 +10,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import net.tylermurphy.hideAndSeek.commands.*; +import net.tylermurphy.hideAndSeek.command.*; import net.tylermurphy.hideAndSeek.util.ICommand; public class CommandHandler { diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java index 46cf676..c46dc87 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java @@ -1,4 +1,4 @@ -package net.tylermurphy.hideAndSeek.events; +package net.tylermurphy.hideAndSeek.bukkit; import static net.tylermurphy.hideAndSeek.Store.*; @@ -26,6 +26,7 @@ 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.PlayerKickEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.potion.PotionEffect; @@ -39,7 +40,8 @@ public class EventListener implements Listener { @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { if(status.equals("Playing") || status.equals("Starting")) { - Spectator.addEntry(event.getPlayer().getName()); + Spectator.add(event.getPlayer().getName()); + SpectatorTeam.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(); @@ -48,7 +50,8 @@ public class EventListener implements Listener { } 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()); + Hider.add(event.getPlayer().getName()); + HiderTeam.addEntry(event.getPlayer().getName()); event.getPlayer().setGameMode(GameMode.ADVENTURE); event.getPlayer().teleport(new Location(Bukkit.getWorld(spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ())); } @@ -57,10 +60,26 @@ public class EventListener implements Listener { @EventHandler public void onQuit(PlayerQuitEvent event) { + if(!playerList.containsKey(event.getPlayer().getName())) return; playerList.remove(event.getPlayer().getName()); - Hider.removeEntry(event.getPlayer().getName()); - Seeker.removeEntry(event.getPlayer().getName()); - Spectator.removeEntry(event.getPlayer().getName()); + Hider.remove(event.getPlayer().getName()); + HiderTeam.removeEntry(event.getPlayer().getName()); + Seeker.remove(event.getPlayer().getName()); + SeekerTeam.removeEntry(event.getPlayer().getName()); + Spectator.remove(event.getPlayer().getName()); + SpectatorTeam.removeEntry(event.getPlayer().getName()); + } + + @EventHandler + public void onKick(PlayerKickEvent event) { + if(!playerList.containsKey(event.getPlayer().getName())) return; + playerList.remove(event.getPlayer().getName()); + Hider.remove(event.getPlayer().getName()); + HiderTeam.removeEntry(event.getPlayer().getName()); + Seeker.remove(event.getPlayer().getName()); + SeekerTeam.removeEntry(event.getPlayer().getName()); + Spectator.remove(event.getPlayer().getName()); + SpectatorTeam.removeEntry(event.getPlayer().getName()); } @EventHandler @@ -77,13 +96,15 @@ public class EventListener implements Listener { 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(Hider.contains(event.getEntity().getName())) { + Bukkit.broadcastMessage(String.format(messagePrefix + "%s%s%s was found 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)); + if(Seeker.contains(event.getEntity().getName())) { + Bukkit.broadcastMessage(String.format(messagePrefix + "%s%s%s was killed", ChatColor.RED, event.getEntity().getName(), ChatColor.WHITE)); } - Seeker.addEntry(player.getName()); + Seeker.add(player.getName()); + Hider.remove(player.getName()); + SeekerTeam.addEntry(player.getName()); Functions.resetPlayer(player); for(Player temp : playerList.values()) { Packet.setGlow(player, temp, false); @@ -218,17 +239,10 @@ public class EventListener implements Listener { Snowball snowball = (Snowball) event.getEntity(); if(snowball.getShooter() instanceof Player) { Player player = (Player) snowball.getShooter(); - if(Hider.hasEntry(player.getName())) { - glowTime++; + if(Hider.contains(player.getName())) { + Main.glow.onProjectilve(); 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); } } } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/CommandTabCompleter.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/TabCompleter.java index cec59af..2a88178 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/CommandTabCompleter.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/TabCompleter.java @@ -1,4 +1,4 @@ -package net.tylermurphy.hideAndSeek; +package net.tylermurphy.hideAndSeek.bukkit; import java.util.ArrayList; import java.util.List; @@ -7,7 +7,7 @@ import java.util.stream.Collectors; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; -public class CommandTabCompleter{ +public class TabCompleter{ public static List<String> handleTabComplete(CommandSender sender, Command command, String label, String[] args) { if(args.length == 1) { diff --git a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java new file mode 100644 index 0000000..eccaf39 --- /dev/null +++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java @@ -0,0 +1,81 @@ +package net.tylermurphy.hideAndSeek.bukkit; + +import static net.tylermurphy.hideAndSeek.Store.*; + + +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.Sound; +import org.bukkit.entity.Player; + +import net.tylermurphy.hideAndSeek.command.Stop; +import net.tylermurphy.hideAndSeek.util.Functions; +import net.tylermurphy.hideAndSeek.util.Packet; + +public class Tick { + + static int tick = 0; + + public static void onTick() { + + if(board == null) { + Functions.loadScoreboard(); + } + + if(status.equals("Starting")) { + onStarting(); + } else if(status.equals("Playing")) { + onPlaying(); + } + + tick ++; + + if(( status.equals("Starting") || status.equals("Playing") ) && Hider.size() < 1) { + Bukkit.broadcastMessage(gameoverPrefix + "All hiders have been found."); + Stop.onStop(); + } + if(( status.equals("Starting") || status.equals("Playing") ) && Seeker.size() < 1) { + Bukkit.broadcastMessage(abortPrefix + "All seekers have quit."); + Stop.onStop(); + } + } + + private static void onStarting() { + for(String playerName : Seeker) { + 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() { + for(String playerName : Hider) { + Player player = playerList.get(playerName); + int distance = 100; + for(String seekerName : Seeker) { + Player seeker = playerList.get(seekerName); + int temp = (int) player.getLocation().distance(seeker.getLocation()); + if(distance > temp) { + distance = temp; + } + } + 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; + } + } + } +}
\ No newline at end of file |