summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/bukkit
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java163
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java85
-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;
}