summaryrefslogtreewikicommitdiff
path: root/src/main/java/dev/tylerm/khs/game
diff options
context:
space:
mode:
authortylermurphy534 <tylerm@tylerm.dev>2023-07-30 22:13:49 +0000
committertylermurphy534 <tylerm@tylerm.dev>2023-07-30 22:13:49 +0000
commita2ea5a635e1b841f58c05ca07e4b547a38fe3433 (patch)
tree5217465c967796680cc03b11359490f638d6b78c /src/main/java/dev/tylerm/khs/game
parentUpdate 'README.md' (diff)
parent1.7.5 rc4 (diff)
downloadkenshinshideandseek-a2ea5a635e1b841f58c05ca07e4b547a38fe3433.tar.gz
kenshinshideandseek-a2ea5a635e1b841f58c05ca07e4b547a38fe3433.tar.bz2
kenshinshideandseek-a2ea5a635e1b841f58c05ca07e4b547a38fe3433.zip
Merge pull request '1.7.5' (#10) from dev into main
Reviewed-on: https://g.tylerm.dev/tylermurphy534/KenshinsHideAndSeek/pulls/10
Diffstat (limited to '')
-rw-r--r--src/main/java/dev/tylerm/khs/game/Board.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/Board.java)54
-rw-r--r--src/main/java/dev/tylerm/khs/game/Disguiser.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/Disguiser.java)10
-rw-r--r--src/main/java/dev/tylerm/khs/game/EntityHider.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/EntityHider.java)2
-rw-r--r--src/main/java/dev/tylerm/khs/game/Game.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/Game.java)97
-rw-r--r--src/main/java/dev/tylerm/khs/game/PlayerLoader.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/PlayerLoader.java)59
-rw-r--r--src/main/java/dev/tylerm/khs/game/events/Border.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java)10
-rw-r--r--src/main/java/dev/tylerm/khs/game/events/Glow.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java)13
-rw-r--r--src/main/java/dev/tylerm/khs/game/events/Taunt.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/events/Taunt.java)10
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/BlockedCommandHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/BlockedCommandHandler.java)12
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/ChatHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/ChatHandler.java)6
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/DamageHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/DamageHandler.java)28
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/DisguiseHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/DisguiseHandler.java)10
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/InteractHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/InteractHandler.java)95
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/InventoryHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/InventoryHandler.java)45
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/JoinLeaveHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/JoinLeaveHandler.java)26
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/MovementHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/MovementHandler.java)8
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/PlayerHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/PlayerHandler.java)12
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/RespawnHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/RespawnHandler.java)4
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/WorldInteractHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/WorldInteractHandler.java)6
-rw-r--r--src/main/java/dev/tylerm/khs/game/listener/events/PlayerJumpEvent.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/listener/events/PlayerJumpEvent.java)2
-rw-r--r--src/main/java/dev/tylerm/khs/game/util/CountdownDisplay.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/util/CountdownDisplay.java)2
-rw-r--r--src/main/java/dev/tylerm/khs/game/util/Disguise.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java)8
-rw-r--r--src/main/java/dev/tylerm/khs/game/util/Status.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/util/Status.java)2
-rw-r--r--src/main/java/dev/tylerm/khs/game/util/WinType.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/game/util/WinType.java)2
24 files changed, 340 insertions, 183 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/Board.java b/src/main/java/dev/tylerm/khs/game/Board.java
index 2050f33..c02174b 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/Board.java
+++ b/src/main/java/dev/tylerm/khs/game/Board.java
@@ -1,10 +1,10 @@
-package net.tylermurphy.hideAndSeek.game;
+package dev.tylerm.khs.game;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.game.events.Border;
-import net.tylermurphy.hideAndSeek.game.events.Glow;
-import net.tylermurphy.hideAndSeek.game.events.Taunt;
-import net.tylermurphy.hideAndSeek.game.util.Status;
+import dev.tylerm.khs.game.events.Border;
+import dev.tylerm.khs.game.events.Glow;
+import dev.tylerm.khs.game.events.Taunt;
+import dev.tylerm.khs.game.util.Status;
+import dev.tylerm.khs.Main;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
@@ -13,9 +13,9 @@ import org.bukkit.scoreboard.*;
import java.util.*;
import java.util.stream.Collectors;
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import static net.tylermurphy.hideAndSeek.configuration.Leaderboard.*;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Leaderboard.*;
+import static dev.tylerm.khs.configuration.Localization.message;
public class Board {
@@ -25,7 +25,7 @@ public class Board {
SPECTATOR,
}
- private UUID initialSeeker = null;
+ private List<UUID> initialSeekers = null;
private final Map<UUID, Type> Players = new HashMap<>();
private final Map<UUID, CustomBoard> customBoards = new HashMap<>();
private final Map<UUID, Integer> hider_kills = new HashMap<>(), seeker_kills = new HashMap<>(), hider_deaths = new HashMap<>(), seeker_deaths = new HashMap<>();
@@ -34,6 +34,10 @@ public class Board {
return Players.containsKey(player.getUniqueId());
}
+ public boolean containsUUID(UUID uuid) {
+ return Players.containsKey(uuid);
+ }
+
public boolean isHider(Player player) {
return isHider(player.getUniqueId());
}
@@ -104,9 +108,15 @@ public class Board {
.collect(Collectors.toList());
}
- public Player getFirstSeeker() {
- if(initialSeeker == null) return null;
- return Bukkit.getPlayer(initialSeeker);
+ public void setInitialSeekers(List<UUID> seekers) {
+ initialSeekers = seekers;
+ }
+
+ public List<Player> getInitialSeekers() {
+ if(initialSeekers == null) return null;
+ return initialSeekers.stream().map(u -> {
+ return Bukkit.getPlayer(u);
+ }).collect(Collectors.toList());
}
public Player getPlayer(UUID uuid) {
@@ -121,9 +131,6 @@ public class Board {
}
public void addSeeker(Player player) {
- if(initialSeeker == null) {
- initialSeeker = player.getUniqueId();
- }
Players.put(player.getUniqueId(), Type.SEEKER);
}
@@ -223,7 +230,7 @@ public class Board {
}
public String getMapName() {
- net.tylermurphy.hideAndSeek.configuration.Map map = Main.getInstance().getGame().getCurrentMap();
+ dev.tylerm.khs.configuration.Map map = Main.getInstance().getGame().getCurrentMap();
if(map == null) return "Invalid";
else return map.getName();
}
@@ -347,7 +354,7 @@ public class Board {
public void cleanup() {
Players.clear();;
- initialSeeker = null;
+ initialSeekers = null;
customBoards.clear();
}
@@ -415,13 +422,8 @@ class CustomBoard {
seekerTeam.setNameTagVisibility(NameTagVisibility.NEVER);
}
}
- if (Main.getInstance().supports(12)) {
- hiderTeam.setColor(ChatColor.GOLD);
- seekerTeam.setColor(ChatColor.RED);
- } else {
- hiderTeam.setPrefix(ChatColor.translateAlternateColorCodes('&', "&6"));
- seekerTeam.setPrefix(ChatColor.translateAlternateColorCodes('&', "&c"));
- }
+ hiderTeam.setPrefix(message("HIDER_TEAM_NAME").toString() + " " + ChatColor.RESET);
+ seekerTeam.setPrefix(message("SEEKER_TEAM_NAME").toString() + " " + ChatColor.RESET);
}
public void setLine(String key, String message) {
@@ -487,4 +489,4 @@ class Line {
this.message = message;
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/Disguiser.java b/src/main/java/dev/tylerm/khs/game/Disguiser.java
index 351ba10..68166a3 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/Disguiser.java
+++ b/src/main/java/dev/tylerm/khs/game/Disguiser.java
@@ -1,10 +1,10 @@
-package net.tylermurphy.hideAndSeek.game;
+package dev.tylerm.khs.game;
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Localization.message;
-import net.tylermurphy.hideAndSeek.configuration.Map;
-import net.tylermurphy.hideAndSeek.game.util.Disguise;
+import dev.tylerm.khs.game.util.Disguise;
+import dev.tylerm.khs.configuration.Map;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.Nullable;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/EntityHider.java b/src/main/java/dev/tylerm/khs/game/EntityHider.java
index 755e89d..dc4e02f 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/EntityHider.java
+++ b/src/main/java/dev/tylerm/khs/game/EntityHider.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.game;
+package dev.tylerm.khs.game;
import static com.comphenix.protocol.PacketType.Play.Server.*;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java b/src/main/java/dev/tylerm/khs/game/Game.java
index 41df9b8..ac7e808 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java
+++ b/src/main/java/dev/tylerm/khs/game/Game.java
@@ -17,19 +17,21 @@
*
*/
-package net.tylermurphy.hideAndSeek.game;
+package dev.tylerm.khs.game;
import com.cryptomorin.xseries.messages.ActionBar;
import com.cryptomorin.xseries.messages.Titles;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.configuration.Map;
-import net.tylermurphy.hideAndSeek.configuration.Maps;
-import net.tylermurphy.hideAndSeek.game.events.Glow;
-import net.tylermurphy.hideAndSeek.game.events.Taunt;
-import net.tylermurphy.hideAndSeek.game.listener.RespawnHandler;
-import net.tylermurphy.hideAndSeek.game.util.*;
+import dev.tylerm.khs.game.events.Glow;
+import dev.tylerm.khs.game.events.Taunt;
+import dev.tylerm.khs.game.listener.RespawnHandler;
+import dev.tylerm.khs.game.util.CountdownDisplay;
+import dev.tylerm.khs.game.util.Status;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.configuration.Map;
+import dev.tylerm.khs.configuration.Maps;
+import dev.tylerm.khs.game.util.WinType;
import org.bukkit.*;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
@@ -38,8 +40,8 @@ import org.bukkit.inventory.ItemStack;
import java.util.*;
import java.util.stream.Collectors;
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Localization.message;
public class Game {
@@ -58,6 +60,8 @@ public class Game {
private int gameTimer;
private boolean hiderLeft;
+ private Random random;
+
public Game(Map map, Board board) {
this.currentMap = map;
@@ -74,6 +78,8 @@ public class Game {
this.startingTimer = -1;
this.gameTimer = 0;
this.hiderLeft = false;
+
+ this.random = new Random();
}
public Status getStatus(){
@@ -97,22 +103,28 @@ public class Game {
}
public void start() {
- Player seeker;
- try {
- int rand = (int) (Math.random() * board.getPlayers().size());
- seeker = board.getPlayers().get(rand);
- } catch (Exception e){
- Main.getInstance().getLogger().warning("Failed to select random seeker.");
- return;
- }
- start(seeker);
+ List<Player> seekers = new ArrayList<>(startingSeekerCount);
+ List<Player> pool = board.getPlayers();
+ for (int i = 0; i < startingSeekerCount; i++) {
+ try {
+ int rand = random.nextInt(0, pool.size());
+ seekers.add(pool.remove(rand));
+ } catch (Exception e){
+ Main.getInstance().getLogger().warning("Failed to select random seeker.");
+ return;
+ }
+ }
+ start(seekers);
}
- public void start(Player seeker) {
+ public void start(List<Player> seekers) {
if (mapSaveEnabled) currentMap.getWorldLoader().rollback();
board.reload();
- board.addSeeker(seeker);
- PlayerLoader.loadSeeker(seeker, currentMap);
+ board.setInitialSeekers(seekers.stream().map(Player::getUniqueId).collect(Collectors.toList()));
+ seekers.forEach(seeker -> {
+ board.addSeeker(seeker);
+ PlayerLoader.loadSeeker(seeker, currentMap);
+ });
board.getPlayers().forEach(player -> {
if(board.isSeeker(player)) return;
board.addHider(player);
@@ -122,7 +134,7 @@ public class Game {
currentMap.getWorldBorder().resetWorldBorder();
if (gameLength > 0) gameTimer = gameLength;
status = Status.STARTING;
- startingTimer = 30;
+ startingTimer = hidingTimer;
}
private void stop(WinType type) {
@@ -133,10 +145,15 @@ public class Game {
Main.getInstance().getDatabase().getGameData().addWins(board, players, winners, board.getHiderKills(), board.getHiderDeaths(), board.getSeekerKills(), board.getSeekerDeaths(), type);
} else if (type == WinType.SEEKER_WIN) {
List<UUID> winners = new ArrayList<>();
- winners.add(board.getFirstSeeker().getUniqueId());
+ board.getInitialSeekers().forEach(p -> {
+ winners.add(p.getUniqueId());
+ });
+ if (!waitTillNoneLeft && board.getHiders().size() == 1) {
+ winners.add(board.getHiders().get(0).getUniqueId());
+ }
Main.getInstance().getDatabase().getGameData().addWins(board, players, winners, board.getHiderKills(), board.getHiderDeaths(), board.getSeekerKills(), board.getSeekerDeaths(), type);
}
- Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), this::end, 5*20);
+ Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), this::end, endGameDelay*20);
}
public void end() {
@@ -332,6 +349,12 @@ public class Game {
}
}
+ public void broadcastTitle(String title, String subtitle) {
+ for (Player player : board.getPlayers()) {
+ Titles.sendTitle(player, 10, 70, 20, title, subtitle);
+ }
+ }
+
public boolean isCurrentMapValid() {
return currentMap != null && !currentMap.isNotSetup();
}
@@ -351,26 +374,38 @@ public class Game {
}
private void checkWinConditions() {
- if (board.sizeHider() < 1) {
- if (hiderLeft) {
+ int hiderCount = board.sizeHider();
+ if (hiderCount < 1 || (!waitTillNoneLeft && hiderCount < 2)) {
+ if (hiderLeft && dontRewardQuit) {
if (announceMessagesToNonPlayers) Bukkit.broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_HIDERS_QUIT"));
else broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_HIDERS_QUIT"));
+ if (gameOverTitle) broadcastTitle(message("GAME_TITLE_NO_WIN").toString(), message("GAME_GAMEOVER_HIDERS_QUIT").toString());
stop(WinType.NONE);
} else {
- if (announceMessagesToNonPlayers) Bukkit.broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_HIDERS_FOUND"));
- else broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_HIDERS_FOUND"));
+ if (hiderCount < 1 || waitTillNoneLeft) {
+ if (announceMessagesToNonPlayers) Bukkit.broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_HIDERS_FOUND"));
+ else broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_HIDERS_FOUND"));
+ if (gameOverTitle) broadcastTitle(message("GAME_TITLE_SEEKERS_WIN").toString(), message("GAME_GAMEOVER_HIDERS_FOUND").toString());
+ } else {
+ Player hider = board.getHiders().get(0);
+ if (announceMessagesToNonPlayers) Bukkit.broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_LAST_HIDER").addPlayer(hider));
+ else broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_LAST_HIDER").addPlayer(hider));
+ if (gameOverTitle) broadcastTitle(message("GAME_TITLE_SINGLE_HIDER_WIN").addPlayer(hider).toString(), message("GAME_SUBTITLE_SINGLE_HIDER_WIN").addPlayer(hider).toString());
+ }
stop(WinType.SEEKER_WIN);
}
} else if (board.sizeSeeker() < 1) {
if (announceMessagesToNonPlayers) Bukkit.broadcastMessage(abortPrefix + message("GAME_GAMEOVER_SEEKERS_QUIT"));
else broadcastMessage(abortPrefix + message("GAME_GAMEOVER_SEEKERS_QUIT"));
- stop(WinType.NONE);
+ if (gameOverTitle) broadcastTitle(message("GAME_TITLE_NO_WIN").toString(), message("GAME_GAMEOVER_SEEKERS_QUIT").toString());
+ stop(dontRewardQuit ? WinType.NONE : WinType.HIDER_WIN);
} else if (gameTimer < 1) {
if (announceMessagesToNonPlayers) Bukkit.broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_TIME"));
else broadcastMessage(gameOverPrefix + message("GAME_GAMEOVER_TIME"));
+ if (gameOverTitle) broadcastTitle(message("GAME_TITLE_HIDERS_WIN").toString(), message("GAME_GAMEOVER_TIME").toString());
stop(WinType.HIDER_WIN);
}
hiderLeft = false;
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/PlayerLoader.java b/src/main/java/dev/tylerm/khs/game/PlayerLoader.java
index 4ee1f5c..2387388 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/PlayerLoader.java
+++ b/src/main/java/dev/tylerm/khs/game/PlayerLoader.java
@@ -17,13 +17,13 @@
*
*/
-package net.tylermurphy.hideAndSeek.game;
+package dev.tylerm.khs.game;
import com.cryptomorin.xseries.messages.Titles;
import net.md_5.bungee.api.ChatColor;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.configuration.Items;
-import net.tylermurphy.hideAndSeek.configuration.Map;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.configuration.Items;
+import dev.tylerm.khs.configuration.Map;
import org.bukkit.GameMode;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeInstance;
@@ -33,8 +33,10 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Items.HIDER_ITEMS;
+import static dev.tylerm.khs.configuration.Items.SEEKER_ITEMS;
+import static dev.tylerm.khs.configuration.Localization.message;
@SuppressWarnings("deprecation")
public class PlayerLoader {
@@ -67,19 +69,52 @@ public class PlayerLoader {
Titles.sendTitle(player, 10, 70, 20, ChatColor.GRAY + "" + ChatColor.BOLD + "SPECTATING", ChatColor.WHITE + message("SPECTATOR_SUBTITLE").toString());
}
+ public static void loadDeadHiderSpectator(Player player, Map map) {
+ map.getGameSpawn().teleport(player);
+ loadPlayer(player);
+ player.setAllowFlight(true);
+ player.setFlying(true);
+ player.setFallDistance(0.0F);
+ player.getInventory().setItem(flightToggleItemPosition, flightToggleItem);
+ player.getInventory().setItem(teleportItemPosition, teleportItem);
+ Main.getInstance().getBoard().getPlayers().forEach(otherPlayer -> otherPlayer.hidePlayer(player));
+ }
+
public static void resetPlayer(Player player, Board board){
if(board.isSpectator(player)) return;
loadPlayer(player);
if (board.isSeeker(player)) {
- if (pvpEnabled)
- for(ItemStack item : Items.SEEKER_ITEMS)
- player.getInventory().addItem(item);
+ if (pvpEnabled) {
+ for(int i = 0; i < 9; i++) {
+ if (SEEKER_ITEMS.get(i) == null) continue;
+ player.getInventory().setItem(i, SEEKER_ITEMS.get(i));
+ }
+ if (Items.SEEKER_HELM != null)
+ player.getInventory().setHelmet(Items.SEEKER_HELM);
+ if (Items.SEEKER_CHEST != null)
+ player.getInventory().setChestplate(Items.SEEKER_CHEST);
+ if (Items.SEEKER_LEGS != null)
+ player.getInventory().setLeggings(Items.SEEKER_LEGS);
+ if (Items.SEEKER_BOOTS != null)
+ player.getInventory().setBoots(Items.SEEKER_BOOTS);
+ }
for(PotionEffect effect : Items.SEEKER_EFFECTS)
player.addPotionEffect(effect);
} else if (board.isHider(player)) {
- if (pvpEnabled)
- for(ItemStack item : Items.HIDER_ITEMS)
- player.getInventory().addItem(item);
+ if (pvpEnabled) {
+ for(int i = 0; i < 9; i++) {
+ if (HIDER_ITEMS.get(i) == null) continue;
+ player.getInventory().setItem(i, HIDER_ITEMS.get(i));
+ }
+ if (Items.HIDER_HELM != null)
+ player.getInventory().setHelmet(Items.HIDER_HELM);
+ if (Items.HIDER_CHEST != null)
+ player.getInventory().setChestplate(Items.HIDER_CHEST);
+ if (Items.HIDER_LEGS != null)
+ player.getInventory().setLeggings(Items.HIDER_LEGS);
+ if (Items.HIDER_BOOTS != null)
+ player.getInventory().setBoots(Items.HIDER_BOOTS);
+ }
for(PotionEffect effect : Items.HIDER_EFFECTS)
player.addPotionEffect(effect);
if (glowEnabled) {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java b/src/main/java/dev/tylerm/khs/game/events/Border.java
index 9f7b5bf..adcb5ce 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Border.java
+++ b/src/main/java/dev/tylerm/khs/game/events/Border.java
@@ -1,10 +1,10 @@
-package net.tylermurphy.hideAndSeek.game.events;
+package dev.tylerm.khs.game.events;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.configuration.Map;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.configuration.Map;
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Localization.message;
public class Border {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java b/src/main/java/dev/tylerm/khs/game/events/Glow.java
index dec23d7..6015f26 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java
+++ b/src/main/java/dev/tylerm/khs/game/events/Glow.java
@@ -1,17 +1,12 @@
-package net.tylermurphy.hideAndSeek.game.events;
+package dev.tylerm.khs.game.events;
-import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.ProtocolManager;
-import com.comphenix.protocol.events.PacketContainer;
-import com.comphenix.protocol.wrappers.WrappedDataWatcher;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.util.packet.EntityMetadataPacket;
+import dev.tylerm.khs.util.packet.EntityMetadataPacket;
+import dev.tylerm.khs.Main;
import org.bukkit.entity.Player;
-import java.lang.reflect.InvocationTargetException;
-
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Config.*;
public class Glow {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Taunt.java b/src/main/java/dev/tylerm/khs/game/events/Taunt.java
index 191b1e7..98a9351 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Taunt.java
+++ b/src/main/java/dev/tylerm/khs/game/events/Taunt.java
@@ -1,6 +1,6 @@
-package net.tylermurphy.hideAndSeek.game.events;
+package dev.tylerm.khs.game.events;
-import net.tylermurphy.hideAndSeek.Main;
+import dev.tylerm.khs.Main;
import org.bukkit.Color;
import org.bukkit.FireworkEffect;
import org.bukkit.World;
@@ -13,9 +13,9 @@ import java.util.Optional;
import java.util.Random;
import java.util.UUID;
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import static net.tylermurphy.hideAndSeek.configuration.Config.tauntDelay;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Config.tauntDelay;
+import static dev.tylerm.khs.configuration.Localization.message;
public class Taunt {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/BlockedCommandHandler.java b/src/main/java/dev/tylerm/khs/game/listener/BlockedCommandHandler.java
index 7cc6dc3..f99c678 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/BlockedCommandHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/BlockedCommandHandler.java
@@ -1,16 +1,16 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.game.util.Status;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.game.util.Status;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
-import static net.tylermurphy.hideAndSeek.configuration.Config.blockedCommands;
-import static net.tylermurphy.hideAndSeek.configuration.Config.errorPrefix;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.blockedCommands;
+import static dev.tylerm.khs.configuration.Config.errorPrefix;
+import static dev.tylerm.khs.configuration.Localization.message;
public class BlockedCommandHandler implements Listener {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/ChatHandler.java b/src/main/java/dev/tylerm/khs/game/listener/ChatHandler.java
index 27347c2..e387a92 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/ChatHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/ChatHandler.java
@@ -1,6 +1,6 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
-import net.tylermurphy.hideAndSeek.Main;
+import dev.tylerm.khs.Main;
import org.bukkit.ChatColor;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@@ -9,7 +9,7 @@ import org.bukkit.event.player.AsyncPlayerChatEvent;
public class ChatHandler implements Listener {
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onChat(AsyncPlayerChatEvent event) {
if (Main.getInstance().getBoard().isSpectator(event.getPlayer())) {
event.setCancelled(true);
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DamageHandler.java b/src/main/java/dev/tylerm/khs/game/listener/DamageHandler.java
index 37537d6..7111d7b 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DamageHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/DamageHandler.java
@@ -1,11 +1,11 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
import com.cryptomorin.xseries.XSound;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.game.Board;
-import net.tylermurphy.hideAndSeek.game.Game;
-import net.tylermurphy.hideAndSeek.game.PlayerLoader;
-import net.tylermurphy.hideAndSeek.game.util.Status;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.game.Board;
+import dev.tylerm.khs.game.Game;
+import dev.tylerm.khs.game.PlayerLoader;
+import dev.tylerm.khs.game.util.Status;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
@@ -16,8 +16,8 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Localization.message;
public class DamageHandler implements Listener {
@@ -94,7 +94,7 @@ public class DamageHandler implements Listener {
// Reveal player if they are disguised
Main.getInstance().getDisguiser().reveal(player);
// Teleport player to seeker spawn
- if(delayedRespawn){
+ if(delayedRespawn && !respawnAsSpectator){
game.getCurrentMap().getGameSeekerLobby().teleport(player);
player.sendMessage(messagePrefix + message("RESPAWN_NOTICE").addAmount(delayedRespawnDelay));
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.getInstance(), () -> {
@@ -117,10 +117,14 @@ public class DamageHandler implements Listener {
} else {
game.broadcastMessage(message("GAME_PLAYER_FOUND_BY").addPlayer(player).addPlayer(attacker).toString());
}
- board.addSeeker(player);
+ if (respawnAsSpectator) {
+ board.addSpectator(player);
+ PlayerLoader.loadDeadHiderSpectator(player, game.getCurrentMap());
+ } else {
+ board.addSeeker(player);
+ PlayerLoader.resetPlayer(player, board);
+ }
}
- //Reload player
- PlayerLoader.resetPlayer(player, board);
board.reloadBoardTeams();
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DisguiseHandler.java b/src/main/java/dev/tylerm/khs/game/listener/DisguiseHandler.java
index 3f99d2e..5883387 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DisguiseHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/DisguiseHandler.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
import static com.comphenix.protocol.PacketType.Play.Client.*;
@@ -8,15 +8,11 @@ import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.events.PacketEvent;
import com.comphenix.protocol.wrappers.EnumWrappers;
-import com.comphenix.protocol.wrappers.WrappedEnumEntityUseAction;
import com.comphenix.protocol.wrappers.EnumWrappers.EntityUseAction;
-import com.cryptomorin.xseries.XSound;
-import com.cryptomorin.xseries.messages.ActionBar;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.game.util.Disguise;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.game.util.Disguise;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
-import org.bukkit.Location;
import org.bukkit.attribute.Attribute;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/InteractHandler.java b/src/main/java/dev/tylerm/khs/game/listener/InteractHandler.java
index 0326391..806b90b 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/InteractHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/InteractHandler.java
@@ -1,9 +1,10 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
import com.cryptomorin.xseries.XMaterial;
import com.cryptomorin.xseries.messages.ActionBar;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.game.util.Status;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.game.Board;
+import dev.tylerm.khs.game.util.Status;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -13,14 +14,15 @@ import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.SkullMeta;
import java.util.ArrayList;
import java.util.List;
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import static net.tylermurphy.hideAndSeek.configuration.Config.glowPowerupItem;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Config.glowPowerupItem;
+import static dev.tylerm.khs.configuration.Localization.message;
@SuppressWarnings("deprecation")
public class InteractHandler implements Listener {
@@ -94,17 +96,82 @@ public class InteractHandler implements Listener {
return;
}
if(temp.isSimilar(teleportItem)){
- int amount = Main.getInstance().getBoard().getHiders().size() + Main.getInstance().getBoard().getSeekers().size();
- Inventory teleportMenu = Main.getInstance().getServer().createInventory(null, 9*(((amount-1)/9)+1), ChatColor.stripColor(teleportItem.getItemMeta().getDisplayName()));
- List<String> hider_lore = new ArrayList<>(); hider_lore.add(message("HIDER_TEAM_NAME").toString());
- Main.getInstance().getBoard().getHiders().forEach(hider -> teleportMenu.addItem(getSkull(hider, hider_lore)));
- List<String> seeker_lore = new ArrayList<>(); seeker_lore.add(message("SEEKER_TEAM_NAME").toString());
- Main.getInstance().getBoard().getSeekers().forEach(seeker -> teleportMenu.addItem(getSkull(seeker, seeker_lore)));
- event.getPlayer().openInventory(teleportMenu);
+ // int amount = Main.getInstance().getBoard().getHiders().size() + Main.getInstance().getBoard().getSeekers().size();
+ // Inventory teleportMenu = Main.getInstance().getServer().createInventory(null, 9*(((amount-1)/9)+1), ChatColor.stripColor(teleportItem.getItemMeta().getDisplayName()));
+ // List<String> hider_lore = new ArrayList<>(); hider_lore.add(message("HIDER_TEAM_NAME").toString());
+ // Main.getInstance().getBoard().getHiders().forEach(hider -> teleportMenu.addItem(getSkull(hider, hider_lore)));
+ // List<String> seeker_lore = new ArrayList<>(); seeker_lore.add(message("SEEKER_TEAM_NAME").toString());
+ // Main.getInstance().getBoard().getSeekers().forEach(seeker -> teleportMenu.addItem(getSkull(seeker, seeker_lore)));
+ // event.getPlayer().openInventory(teleportMenu);
+ createSpectatorTeleportPage(event.getPlayer(), 0);
}
}
- private ItemStack getSkull(Player player, List<String> lore){
+ public static void createSpectatorTeleportPage(Player player, int page) {
+
+ if (page < 0) {
+ return;
+ }
+
+ final Board board = Main.getInstance().getBoard();
+ List<Player> players = new ArrayList<>();
+ players.addAll(board.getHiders());
+ players.addAll(board.getSeekers());
+
+ final int page_size = 9 * 5;
+ final int amount = players.size();
+ final int start = page * page_size;
+
+ int page_amount = amount - start;
+
+ if (page_amount < 1) {
+ return;
+ }
+
+ boolean next = false, prev = true;
+
+ if (page_amount > page_size) {
+ page_amount = page_size;
+ next = true;
+ }
+
+ if (page == 0) {
+ prev = false;
+ }
+
+ final int rows = ((amount - 1) / 9) + 2;
+
+ final Inventory teleportMenu = Main.getInstance().getServer().createInventory(null, 9 * rows, ChatColor.stripColor(teleportItem.getItemMeta().getDisplayName()));
+
+ final List<String> hider_lore = new ArrayList<>(); hider_lore.add(message("HIDER_TEAM_NAME").toString());
+ final List<String> seeker_lore = new ArrayList<>(); seeker_lore.add(message("SEEKER_TEAM_NAME").toString());
+
+ for (int i = 0; i < page_amount; i++) {
+ Player plr = players.get(i);
+ teleportMenu.addItem(getSkull(plr, board.isHider(plr) ? hider_lore : seeker_lore));
+ }
+
+ final int lastRow = (rows - 1) * 9;
+ if (prev) {
+ teleportMenu.setItem(lastRow, getPageItem(page - 1));
+ }
+
+ if (next) {
+ teleportMenu.setItem(lastRow + 8, getPageItem(page + 1));
+ }
+
+ player.openInventory(teleportMenu);
+ }
+
+ private static ItemStack getPageItem(int page) {
+ ItemStack prevItem = new ItemStack(XMaterial.ENCHANTED_BOOK.parseMaterial(), page + 1);
+ ItemMeta meta = prevItem.getItemMeta();
+ meta.setDisplayName("Page " + (page+1));
+ prevItem.setItemMeta(meta);
+ return prevItem;
+ }
+
+ private static ItemStack getSkull(Player player, List<String> lore){
assert XMaterial.PLAYER_HEAD.parseMaterial() != null;
ItemStack playerHead = new ItemStack(XMaterial.PLAYER_HEAD.parseMaterial(), 1, (byte) 3);
SkullMeta playerHeadMeta = (SkullMeta) playerHead.getItemMeta();
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/InventoryHandler.java b/src/main/java/dev/tylerm/khs/game/listener/InventoryHandler.java
index 0f306b1..bf40896 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/InventoryHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/InventoryHandler.java
@@ -17,14 +17,14 @@
*
*/
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
import com.cryptomorin.xseries.XMaterial;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.command.map.Debug;
-import net.tylermurphy.hideAndSeek.configuration.Map;
-import net.tylermurphy.hideAndSeek.configuration.Maps;
-import net.tylermurphy.hideAndSeek.game.util.Status;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.command.map.Debug;
+import dev.tylerm.khs.configuration.Map;
+import dev.tylerm.khs.configuration.Maps;
+import dev.tylerm.khs.game.util.Status;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -32,6 +32,8 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
+import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.meta.ItemMeta;
public class InventoryHandler implements Listener {
@@ -52,13 +54,30 @@ public class InventoryHandler implements Listener {
private void checkForSpectatorTeleportMenu(InventoryClickEvent event){
Player player = (Player) event.getWhoClicked();
- if (Main.getInstance().getBoard().isSpectator(player) && event.getCurrentItem().getType() == XMaterial.PLAYER_HEAD.parseMaterial()) {
- event.setCancelled(true);
- player.closeInventory();
- String name = event.getCurrentItem().getItemMeta().getDisplayName();
- Player clicked = Main.getInstance().getServer().getPlayer(name);
- if(clicked == null) return;
- player.teleport(clicked);
+
+ ItemStack item = event.getCurrentItem();
+ ItemMeta meta = item.getItemMeta();
+ String name = meta.getDisplayName();
+
+ if (Main.getInstance().getBoard().isSpectator(player)) {
+ if (XMaterial.PLAYER_HEAD.isSimilar(item)) {
+ event.setCancelled(true);
+ player.closeInventory();
+ Player clicked = Main.getInstance().getServer().getPlayer(name);
+ if (clicked == null) return;
+ player.teleport(clicked);
+ } else if (XMaterial.ENCHANTED_BOOK.isSimilar(item)) {
+ event.setCancelled(true);
+ player.closeInventory();
+ if (!name.startsWith("Page ")) return;
+ String number_str = name.substring(5);
+ try {
+ int page = Integer.parseInt(number_str);
+ InteractHandler.createSpectatorTeleportPage(player, page - 1);
+ } catch(Exception ignored) {
+ return;
+ }
+ }
}
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/JoinLeaveHandler.java b/src/main/java/dev/tylerm/khs/game/listener/JoinLeaveHandler.java
index d8534a3..2a4d9cc 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/JoinLeaveHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/JoinLeaveHandler.java
@@ -1,9 +1,9 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.configuration.Items;
-import net.tylermurphy.hideAndSeek.game.PlayerLoader;
-import net.tylermurphy.hideAndSeek.game.util.Status;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.configuration.Items;
+import dev.tylerm.khs.game.PlayerLoader;
+import dev.tylerm.khs.game.util.Status;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -14,8 +14,8 @@ import org.bukkit.event.player.PlayerKickEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemStack;
-import static net.tylermurphy.hideAndSeek.configuration.Config.*;
-import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
+import static dev.tylerm.khs.configuration.Config.*;
+import static dev.tylerm.khs.configuration.Localization.message;
public class JoinLeaveHandler implements Listener {
@@ -83,12 +83,16 @@ public class JoinLeaveHandler implements Listener {
}
private void removeItems(Player player) {
- for(ItemStack si : Items.SEEKER_ITEMS)
- for(ItemStack i : player.getInventory().getContents())
+ for(ItemStack si : Items.SEEKER_ITEMS) {
+ if (si == null) continue;
+ for (ItemStack i : player.getInventory().getContents())
if (si.isSimilar(i)) player.getInventory().remove(i);
- for(ItemStack hi : Items.HIDER_ITEMS)
- for(ItemStack i : player.getInventory().getContents())
+ }
+ for(ItemStack hi : Items.HIDER_ITEMS) {
+ if (hi == null) continue;
+ for (ItemStack i : player.getInventory().getContents())
if (hi.isSimilar(i)) player.getInventory().remove(i);
+ }
}
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/MovementHandler.java b/src/main/java/dev/tylerm/khs/game/listener/MovementHandler.java
index 290b679..7d4be5b 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/MovementHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/MovementHandler.java
@@ -1,9 +1,9 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
import com.google.common.collect.Sets;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.configuration.Map;
-import net.tylermurphy.hideAndSeek.game.listener.events.PlayerJumpEvent;
+import dev.tylerm.khs.game.listener.events.PlayerJumpEvent;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.configuration.Map;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/PlayerHandler.java b/src/main/java/dev/tylerm/khs/game/listener/PlayerHandler.java
index 760f1f9..c27400a 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/PlayerHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/PlayerHandler.java
@@ -1,8 +1,8 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.configuration.Items;
-import net.tylermurphy.hideAndSeek.game.util.Status;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.configuration.Items;
+import dev.tylerm.khs.game.util.Status;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@@ -13,8 +13,8 @@ import org.bukkit.event.entity.ItemSpawnEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.inventory.ItemStack;
-import static net.tylermurphy.hideAndSeek.configuration.Config.dropItems;
-import static net.tylermurphy.hideAndSeek.configuration.Config.regenHealth;
+import static dev.tylerm.khs.configuration.Config.dropItems;
+import static dev.tylerm.khs.configuration.Config.regenHealth;
public class PlayerHandler implements Listener {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/RespawnHandler.java b/src/main/java/dev/tylerm/khs/game/listener/RespawnHandler.java
index 951304a..0932e4c 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/RespawnHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/RespawnHandler.java
@@ -1,6 +1,6 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
-import net.tylermurphy.hideAndSeek.Main;
+import dev.tylerm.khs.Main;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/WorldInteractHandler.java b/src/main/java/dev/tylerm/khs/game/listener/WorldInteractHandler.java
index 10b8e3e..97334b2 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/WorldInteractHandler.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/WorldInteractHandler.java
@@ -1,7 +1,7 @@
-package net.tylermurphy.hideAndSeek.game.listener;
+package dev.tylerm.khs.game.listener;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.game.Board;
+import dev.tylerm.khs.Main;
+import dev.tylerm.khs.game.Board;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/events/PlayerJumpEvent.java b/src/main/java/dev/tylerm/khs/game/listener/events/PlayerJumpEvent.java
index 49920f2..24c47b9 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/events/PlayerJumpEvent.java
+++ b/src/main/java/dev/tylerm/khs/game/listener/events/PlayerJumpEvent.java
@@ -17,7 +17,7 @@
*
*/
-package net.tylermurphy.hideAndSeek.game.listener.events;
+package dev.tylerm.khs.game.listener.events;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/util/CountdownDisplay.java b/src/main/java/dev/tylerm/khs/game/util/CountdownDisplay.java
index e735af9..5292627 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/util/CountdownDisplay.java
+++ b/src/main/java/dev/tylerm/khs/game/util/CountdownDisplay.java
@@ -17,7 +17,7 @@
*
*/
-package net.tylermurphy.hideAndSeek.game.util;
+package dev.tylerm.khs.game.util;
public enum CountdownDisplay {
CHAT,
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java b/src/main/java/dev/tylerm/khs/game/util/Disguise.java
index 17ad90c..1bc185e 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/util/Disguise.java
+++ b/src/main/java/dev/tylerm/khs/game/util/Disguise.java
@@ -1,10 +1,10 @@
-package net.tylermurphy.hideAndSeek.game.util;
+package dev.tylerm.khs.game.util;
import com.cryptomorin.xseries.XSound;
import com.cryptomorin.xseries.messages.ActionBar;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.util.packet.BlockChangePacket;
-import net.tylermurphy.hideAndSeek.util.packet.EntityTeleportPacket;
+import dev.tylerm.khs.util.packet.BlockChangePacket;
+import dev.tylerm.khs.util.packet.EntityTeleportPacket;
+import dev.tylerm.khs.Main;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/util/Status.java b/src/main/java/dev/tylerm/khs/game/util/Status.java
index 44f19b2..70035af 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/util/Status.java
+++ b/src/main/java/dev/tylerm/khs/game/util/Status.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.game.util;
+package dev.tylerm.khs.game.util;
public enum Status {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/util/WinType.java b/src/main/java/dev/tylerm/khs/game/util/WinType.java
index 24544ba..ad8bfd7 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/util/WinType.java
+++ b/src/main/java/dev/tylerm/khs/game/util/WinType.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.game.util;
+package dev.tylerm.khs.game.util;
public enum WinType {