diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java | 163 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java | 85 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/game/CommandHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java) | 36 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/util/TabCompleter.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/bukkit/TabCompleter.java) | 29 |
4 files changed, 50 insertions, 263 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java deleted file mode 100644 index ffad241..0000000 --- a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java +++ /dev/null @@ -1,163 +0,0 @@ -package net.tylermurphy.hideAndSeek.bukkit; - -import static net.tylermurphy.hideAndSeek.configuration.Config.*; - -import net.tylermurphy.hideAndSeek.command.Join; -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.Entity; -import org.bukkit.entity.Player; -import org.bukkit.entity.Snowball; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -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.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerKickEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import net.tylermurphy.hideAndSeek.util.Packet; -import net.tylermurphy.hideAndSeek.util.Util; -import net.tylermurphy.hideAndSeek.Main; -import org.bukkit.potion.PotionEffect; - -import static net.tylermurphy.hideAndSeek.configuration.Localization.*; - -public class EventListener implements Listener { - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - event.getPlayer().setLevel(0); - Main.plugin.board.remove(event.getPlayer()); - if(!Util.isSetup()) return; - if(autoJoin){ - Join.join(event.getPlayer()); - } else if(teleportToExit) { - if (event.getPlayer().getWorld().getName().equals("hideandseek_" + spawnWorld) || event.getPlayer().getWorld().getName().equals(lobbyWorld)) { - event.getPlayer().teleport(new Location(Bukkit.getWorld(exitWorld), exitPosition.getX(), exitPosition.getY(), exitPosition.getZ())); - event.getPlayer().setGameMode(GameMode.ADVENTURE); - } - } else { - if (event.getPlayer().getWorld().getName().equals("hideandseek_" + spawnWorld)) { - event.getPlayer().teleport(new Location(Bukkit.getWorld(exitWorld), exitPosition.getX(), exitPosition.getY(), exitPosition.getZ())); - event.getPlayer().setGameMode(GameMode.ADVENTURE); - } - } - } - - @EventHandler - public void onQuit(PlayerQuitEvent event) { - Main.plugin.board.remove(event.getPlayer()); - if(Main.plugin.status.equals("Standby")) { - Main.plugin.board.reloadLobbyBoards(); - } else { - Main.plugin.board.reloadGameBoards(); - } - for(PotionEffect effect : event.getPlayer().getActivePotionEffects()){ - event.getPlayer().removePotionEffect(effect.getType()); - } - } - - @EventHandler - public void onKick(PlayerKickEvent event) { - Main.plugin.board.remove(event.getPlayer()); - if(Main.plugin.status.equals("Standby")) { - Main.plugin.board.reloadLobbyBoards(); - } else { - Main.plugin.board.reloadGameBoards(); - } - for(PotionEffect effect : event.getPlayer().getActivePotionEffects()){ - event.getPlayer().removePotionEffect(effect.getType()); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onEntityDamage(EntityDamageEvent event) { - try { - if (event.getEntity() instanceof Player) { - Player p = (Player) event.getEntity(); - if (!Main.plugin.board.isPlayer(p)) return; - if (!Main.plugin.status.equals("Playing")) { - event.setCancelled(true); - return; - } - Player attacker = null; - if (event instanceof EntityDamageByEntityEvent) { - Entity damager = ((EntityDamageByEntityEvent) event).getDamager(); - if (damager instanceof Player) { - attacker = (Player) damager; - if (Main.plugin.board.onSameTeam(p, attacker)) event.setCancelled(true); - if (Main.plugin.board.isSpectator(p)) event.setCancelled(true); - } - } - Player player = (Player) event.getEntity(); - if (player.getHealth() - event.getDamage() < 0 || !pvpEnabled) { - 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 (Main.plugin.board.isSeeker(player)) { - Bukkit.broadcastMessage(message("GAME_PLAYER_DEATH").addPlayer(event.getEntity()).toString()); - } - if (Main.plugin.board.isHider(player)) { - if (attacker == null) { - Util.broadcastMessage(message("GAME_PLAYER_FOUND").addPlayer(event.getEntity()).toString()); - } else { - Util.broadcastMessage(message("GAME_PLAYER_FOUND_BY").addPlayer(event.getEntity()).addPlayer(attacker).toString()); - } - Main.plugin.board.addSeeker(player); - } - Util.resetPlayer(player); - Main.plugin.board.reloadBoardTeams(); - } - } - } catch (Exception e){ - //Has shown to cause problems, so ignore if exception - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onProjectile(ProjectileLaunchEvent event) { - if(!Main.plugin.status.equals("Playing")) return; - if(event.getEntity() instanceof Snowball) { - if(!glowEnabled) return; - Snowball snowball = (Snowball) event.getEntity(); - if(snowball.getShooter() instanceof Player) { - Player player = (Player) snowball.getShooter(); - if(Main.plugin.board.isHider(player)) { - Main.plugin.glow.onProjectilve(); - snowball.remove(); - player.getInventory().remove(Material.SNOWBALL); - } - } - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onFoodLevelChange(FoodLevelChangeEvent event) { - if(event.getEntity() instanceof Player) { - if(!Main.plugin.board.isPlayer((Player) event.getEntity())) return; - event.setCancelled(true); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onPlayerRegainHealth(EntityRegainHealthEvent event) { - if(event.getRegainReason() == RegainReason.SATIATED || event.getRegainReason() == RegainReason.REGEN) { - if(event.getEntity() instanceof Player) { - if(!Main.plugin.board.isPlayer((Player) event.getEntity())) return; - event.setCancelled(true); - } - } - } -} diff --git a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java deleted file mode 100644 index 8efbe80..0000000 --- a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java +++ /dev/null @@ -1,85 +0,0 @@ -package net.tylermurphy.hideAndSeek.bukkit; - -import static net.tylermurphy.hideAndSeek.configuration.Config.*; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.entity.Player; - -import net.tylermurphy.hideAndSeek.Main; -import net.tylermurphy.hideAndSeek.command.Stop; -import net.tylermurphy.hideAndSeek.util.Packet; -import net.tylermurphy.hideAndSeek.util.Util; -import static net.tylermurphy.hideAndSeek.configuration.Localization.*; - -public class Tick { - - static int tick = 0; - - public static void onTick() { - - if(Main.plugin.status.equals("Standby")) tick = 0; - else if(Main.plugin.status.equals("Playing")) onPlaying(); - - if(( Main.plugin.status.equals("Starting") || Main.plugin.status.equals("Playing") ) && Main.plugin.board.sizeHider() < 1) { - if(announceMessagesToNonPlayers) Bukkit.broadcastMessage(gameoverPrefix + message("GAME_GAMEOVER_HIDERS_FOUND")); - else Util.broadcastMessage(gameoverPrefix + message("GAME_GAMEOVER_HIDERS_FOUND")); - Stop.onStop(); - } - if(( Main.plugin.status.equals("Starting") || Main.plugin.status.equals("Playing") ) && Main.plugin.board.sizeSeeker() < 1) { - if(announceMessagesToNonPlayers) Bukkit.broadcastMessage(abortPrefix + message("GAME_GAMEOVER_SEEKERS_QUIT")); - else Util.broadcastMessage(abortPrefix + message("GAME_GAMEOVER_SEEKERS_QUIT")); - Stop.onStop(); - } - - } - - private static void onPlaying() { - - if(tick<1000000) tick++; - else tick = 1; - - for(Player hider : Main.plugin.board.getHiders()) { - int distance = 100, temp = 100; - for(Player seeker : Main.plugin.board.getSeekers()) { - try { - temp = (int) hider.getLocation().distance(seeker.getLocation()); - } catch (Exception e){ - //Players in different worlds, NOT OK!!! - } - if(distance > temp) { - distance = temp; - } - } - switch(tick%10) { - case 0: - if(distance < 30) Packet.playSound(hider, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .5f, 1f); - if(distance < 10) Packet.playSound(hider, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f); - break; - case 3: - if(distance < 30) Packet.playSound(hider, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .3f, 1f); - if(distance < 10) Packet.playSound(hider, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f); - break; - case 6: - if(distance < 10) Packet.playSound(hider, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f); - break; - case 9: - if(distance < 20) Packet.playSound(hider, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f); - break; - } - - } - - if(tick%20 == 0) { - if(gameLength > 0) { - Main.plugin.board.reloadGameBoards(); - Main.plugin.timeLeft--; - if(Main.plugin.timeLeft < 1) { - if(announceMessagesToNonPlayers) Bukkit.broadcastMessage(gameoverPrefix + message("GAME_GAMEOVER_TIME")); - else Util.broadcastMessage(gameoverPrefix + message("GAME_GAMEOVER_TIME")); - Stop.onStop(); - } - } - } - } -}
\ No newline at end of file diff --git a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java b/src/main/java/net/tylermurphy/hideAndSeek/game/CommandHandler.java index 1efb505..8df3cf2 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/game/CommandHandler.java @@ -1,4 +1,23 @@ -package net.tylermurphy.hideAndSeek.bukkit; +/* + * This file is part of Kenshins Hide and Seek + * + * Copyright (c) 2021 Tyler Murphy. + * + * Kenshins Hide and Seek free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * he Free Software Foundation version 3. + * + * Kenshins Hide and Seek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +package net.tylermurphy.hideAndSeek.game; import static net.tylermurphy.hideAndSeek.configuration.Config.*; import static net.tylermurphy.hideAndSeek.configuration.Localization.*; @@ -7,7 +26,6 @@ import java.util.Arrays; import java.util.LinkedHashMap; import java.util.Map; -import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -15,7 +33,7 @@ import net.tylermurphy.hideAndSeek.command.*; public class CommandHandler { - public static Map<String,ICommand> COMMAND_REGISTER = new LinkedHashMap<String,ICommand>(); + public static Map<String,ICommand> COMMAND_REGISTER = new LinkedHashMap<>(); private static void registerCommand(ICommand command) { if(!COMMAND_REGISTER.containsKey(command.getLabel())) { @@ -38,10 +56,12 @@ public class CommandHandler { registerCommand(new SetBounds()); registerCommand(new Join()); registerCommand(new Leave()); + registerCommand(new Top()); + registerCommand(new Wins()); } - public static boolean handleCommand(CommandSender sender, Command cmd, String label, String[] args) { - if(sender instanceof Player == false) { + public static boolean handleCommand(CommandSender sender, String[] args) { + if(!(sender instanceof Player)) { sender.sendMessage(errorPrefix + message("COMMAND_PLAYER_ONLY")); } else if(args.length < 1 || !COMMAND_REGISTER.containsKey(args[0].toLowerCase()) ) { if(permissionsRequired && !sender.hasPermission("hideandseek.about")) { @@ -50,7 +70,7 @@ public class CommandHandler { COMMAND_REGISTER.get("about").execute(sender, null); } } else { - if(!args[0].toLowerCase().equals("about") && !args[0].toLowerCase().equals("help") && SaveMap.runningBackup) { + if(!args[0].equalsIgnoreCase("about") && !args[0].equalsIgnoreCase("help") && SaveMap.runningBackup) { sender.sendMessage(errorPrefix + message("MAPSAVE_INPROGRESS")); } else if(permissionsRequired && !sender.hasPermission("hideandseek."+args[0].toLowerCase())) { sender.sendMessage(errorPrefix + message("COMMAND_NOT_ALLOWED")); @@ -66,8 +86,4 @@ public class CommandHandler { return true; } - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - return CommandHandler.handleCommand(sender, command, label, args); - } - } diff --git a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/TabCompleter.java b/src/main/java/net/tylermurphy/hideAndSeek/util/TabCompleter.java index 2f7dbd4..4c949e1 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/TabCompleter.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/util/TabCompleter.java @@ -1,18 +1,37 @@ -package net.tylermurphy.hideAndSeek.bukkit; +/* + * This file is part of Kenshins Hide and Seek + * + * Copyright (c) 2021 Tyler Murphy. + * + * Kenshins Hide and Seek free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * he Free Software Foundation version 3. + * + * Kenshins Hide and Seek is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +package net.tylermurphy.hideAndSeek.util; import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.stream.Collectors; -import org.bukkit.command.Command; +import net.tylermurphy.hideAndSeek.game.CommandHandler; import org.bukkit.command.CommandSender; public class TabCompleter{ - public static List<String> handleTabComplete(CommandSender sender, Command command, String label, String[] args) { + public static List<String> handleTabComplete(CommandSender sender, String[] args) { if(args.length == 1) { - return new ArrayList<String>(CommandHandler.COMMAND_REGISTER.keySet()) + return new ArrayList<>(CommandHandler.COMMAND_REGISTER.keySet()) .stream() .filter(handle -> sender.hasPermission("hideandseek."+handle.toLowerCase()) && handle.toLowerCase().startsWith(args[0].toLowerCase(Locale.ROOT))) .collect(Collectors.toList()); @@ -26,7 +45,7 @@ public class TabCompleter{ if(parameter.equals("<player>")) { return null; } else { - List<String> temp = new ArrayList<String>(); + List<String> temp = new ArrayList<>(); temp.add(parameter.replace("<", "").replace(">", "")); return temp; } |