summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/game')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/game/Board.java6
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/game/Game.java6
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java7
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/game/listener/DamageHandler.java11
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/game/listener/JoinLeaveHandler.java4
5 files changed, 18 insertions, 16 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/Board.java b/src/main/java/net/tylermurphy/hideAndSeek/game/Board.java
index 04b0d37..a8e41c7 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/Board.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/game/Board.java
@@ -153,7 +153,7 @@ public class Board {
} else {
hider_kills.put(uuid.toString(), 1);
}
- } else if (getFirstSeeker().getUniqueId().equals(uuid)) {
+ } else if (Seeker.contains(uuid.toString())) {
if (seeker_kills.containsKey(uuid.toString())) {
seeker_kills.put(uuid.toString(), seeker_kills.get(uuid.toString())+1);
} else {
@@ -169,7 +169,7 @@ public class Board {
} else {
hider_deaths.put(uuid.toString(), 1);
}
- } else if (getFirstSeeker().getUniqueId().equals(uuid)) {
+ } else if (Seeker.contains(uuid.toString())) {
if (seeker_deaths.containsKey(uuid.toString())) {
seeker_deaths.put(uuid.toString(), seeker_deaths.get(uuid.toString())+1);
} else {
@@ -234,7 +234,7 @@ public class Board {
private void createGameBoard(Player player, boolean recreate) {
CustomBoard board = customBoards.get(player.getUniqueId().toString());
- if (recreate) {
+ if (recreate || board == null) {
board = new CustomBoard(player, GAME_TITLE);
board.updateTeams();
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java b/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java
index c261b52..cb3ad1f 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/game/Game.java
@@ -242,12 +242,14 @@ public class Game {
private void whileStarting() {
if(gameTick % 20 == 0) {
- if (startingTimer % 5 == 0 || startingTimer < 4) {
+ if (startingTimer % 5 == 0 || startingTimer < 5) {
String message;
if (startingTimer == 0) {
message = message("START").toString();
status = Status.PLAYING;
board.getPlayers().forEach(player -> PlayerLoader.resetPlayer(player, board));
+ } else if (startingTimer == 1){
+ message = message("START_COUNTDOWN_LAST").addAmount(startingTimer).toString();
} else {
message = message("START_COUNTDOWN").addAmount(startingTimer).toString();
}
@@ -305,7 +307,7 @@ public class Game {
}
if (worldBorderEnabled) worldBorder.update();
if (tauntEnabled) taunt.update();
- if (glowEnabled) glow.update();
+ if (glowEnabled || alwaysGlow) glow.update();
}
board.getSpectators().forEach(spectator -> spectator.setFlying(spectator.getAllowFlight()));
checkWinConditions();
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java b/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java
index a1d7295..8631ef5 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/game/events/Glow.java
@@ -10,8 +10,7 @@ import org.bukkit.entity.Player;
import java.lang.reflect.InvocationTargetException;
-import static net.tylermurphy.hideAndSeek.configuration.Config.glowLength;
-import static net.tylermurphy.hideAndSeek.configuration.Config.glowStackable;
+import static net.tylermurphy.hideAndSeek.configuration.Config.*;
public class Glow {
@@ -37,6 +36,10 @@ public class Glow {
}
public void update() {
+ if(alwaysGlow){
+ sendPackets();
+ return;
+ }
if (running) {
sendPackets();
glowTime--;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DamageHandler.java b/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DamageHandler.java
index 701f446..3b90d39 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DamageHandler.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DamageHandler.java
@@ -96,21 +96,18 @@ public class DamageHandler implements Listener {
// Broadcast player death message
if (board.isSeeker(player)) {
game.broadcastMessage(message("GAME_PLAYER_DEATH").addPlayer(player).toString());
- if (board.getFirstSeeker().getName().equals(player.getName())) {
- board.addDeath(player.getUniqueId());
- }
} else if (board.isHider(player)) {
if (attacker == null) {
game.broadcastMessage(message("GAME_PLAYER_FOUND").addPlayer(player).toString());
} else {
game.broadcastMessage(message("GAME_PLAYER_FOUND_BY").addPlayer(player).addPlayer(attacker).toString());
}
- board.addDeath(player.getUniqueId());
board.addSeeker(player);
}
- // Add leaderboard kills if attacker
- if (attacker != null && ( board.isHider(attacker) || board.getFirstSeeker().getName().equals(attacker.getName()) ) )
- board.addKill(attacker.getUniqueId());
+ // Add leaderboard stats
+ board.addDeath(player.getUniqueId());
+ if (attacker != null) board.addKill(attacker.getUniqueId());
+ //Reload player
PlayerLoader.resetPlayer(player, board);
board.reloadBoardTeams();
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/JoinLeaveHandler.java b/src/main/java/net/tylermurphy/hideAndSeek/game/listener/JoinLeaveHandler.java
index 094ff68..7ac4f85 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/JoinLeaveHandler.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/game/listener/JoinLeaveHandler.java
@@ -23,8 +23,8 @@ public class JoinLeaveHandler implements Listener {
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerJoin(PlayerJoinEvent event) {
- if(!Main.getInstance().getDatabase().getNameData().update(event.getPlayer().getUniqueId(), event.getPlayer().getDisplayName())){
- Main.getInstance().getLogger().warning("Failed to save name data for user: " + event.getPlayer().getDisplayName());
+ if(!Main.getInstance().getDatabase().getNameData().update(event.getPlayer().getUniqueId(), event.getPlayer().getName())){
+ Main.getInstance().getLogger().warning("Failed to save name data for user: " + event.getPlayer().getName());
}
Main.getInstance().getBoard().remove(event.getPlayer());
removeItems(event.getPlayer());