diff --git a/TowerRun/src/TowerRun.properties b/TowerRun/src/TowerRun.properties index 88c2ecd9..2a6c0e04 100644 --- a/TowerRun/src/TowerRun.properties +++ b/TowerRun/src/TowerRun.properties @@ -17,20 +17,23 @@ # along with this program. If not, see . # -PREFIX=eTowerRun8r +PREFIX=§eTowerRun§8§§r -PLAYER_DIED=c{0} 7died8! -PLAYER_ESCAPE=a{0} 7escaped8! -GAME_START=aThe game has started8! -GAME_WIN=a{0} 7has won the game8! -GAME_STARTING=7Starting: e{0}s8! -GAME_WAITING=7Waiting for players8... -SERVER_STOPPING=cThe server stops in e{0}s8! -SERVER_RESET=cThe server will be reset in e{0}s8! -KEY_NAME=eKey -KEY_FOUND=a{0} 7found a key8! -GAME_TIE=aThe game ended in a tie8! -GAME_TIME=a{0}:{1} -CATCH_UP_WARNING=4!! cYou should catch up 4!! +PLAYER_DIED=§c{0} §7died§8! +PLAYER_ESCAPE=§a{0} §7escaped§8! +GAME_START=§aThe game has started§8! +GAME_WIN=§a{0} §7has won the game§8! +GAME_STARTING=§7Starting: §e{0}s§8! +GAME_WAITING=§7Waiting for players§8... +SERVER_STOPPING=§cThe server stops in §e{0}s§8! +SERVER_RESET=§cThe server will be reset in §e{0}s§8! +KEY_NAME=§eKey +KEY_FOUND=§a{0} §7found a key§8! +GAME_TIE=§aThe game ended in a tie§8! +GAME_TIME=§a{0}:{1} +CATCH_UP_WARNING=§4!! §cYou should catch up §4!! -COMMAND_START=aThe game will start soon8! \ No newline at end of file +COMMAND_START=§aThe game will start soon§8! + +PARTICIPANT_CHAT={0} {1}§8» §7{2} +SPECTATOR_CHAT=§7{0}§8» §7{1} \ No newline at end of file diff --git a/TowerRun/src/TowerRun_de.properties b/TowerRun/src/TowerRun_de.properties index 2c88c3b6..82fd014b 100644 --- a/TowerRun/src/TowerRun_de.properties +++ b/TowerRun/src/TowerRun_de.properties @@ -17,19 +17,19 @@ # along with this program. If not, see . # -PLAYER_DIED=c{0} 7ist gestorben8! -PLAYER_ESCAPE=a{0} 7ist entkommen8! -GAME_START=aDas Spiel beginnt8! -GAME_WIN=a{0} 7hat das Spiel gewonnen8! -GAME_STARTING=7Das Spiel startet in e{0}s8! -GAME_WAITING=7Warte auf weitere Spieler8... -SERVER_STOPPING=cDer Server stoppt in e{0}s8! -SERVER_RESET=cDer Server wird in e{0}s czurckgesetzt8! -GAME_TIE=7Keiner hat gewonnen8! +PLAYER_DIED=§c{0} §7ist gestorben§8! +PLAYER_ESCAPE=§a{0} §7ist entkommen§8! +GAME_START=§aDas Spiel beginnt§8! +GAME_WIN=§a{0} §7hat das Spiel gewonnen§8! +GAME_STARTING=§7Das Spiel startet in §e{0}s§8! +GAME_WAITING=§7Warte auf weitere Spieler§8... +SERVER_STOPPING=§cDer Server stoppt in §e{0}s§8! +SERVER_RESET=§cDer Server wird in §e{0}s §czur§ckgesetzt§8! +GAME_TIE=§7Keiner hat gewonnen§8! -KEY_NAME=eSchlssel -KEY_FOUND=a{0} 7hat einen Schlssel gefunden8! +KEY_NAME=§eSchl§ssel +KEY_FOUND=§a{0} §7hat einen Schl§ssel gefunden§8! -CATCH_UP_WARNING=4!! cDu solltest aufholen 4!! +CATCH_UP_WARNING=§4!! §cDu solltest aufholen §4!! -COMMAND_START=7Das Spiel startet bald8! \ No newline at end of file +COMMAND_START=§7Das Spiel startet bald§8! \ No newline at end of file diff --git a/TowerRun/src/de/steamwar/towerrun/game/TowerRunGame.java b/TowerRun/src/de/steamwar/towerrun/game/TowerRunGame.java index 2c014cb5..3c846247 100644 --- a/TowerRun/src/de/steamwar/towerrun/game/TowerRunGame.java +++ b/TowerRun/src/de/steamwar/towerrun/game/TowerRunGame.java @@ -46,6 +46,10 @@ public class TowerRunGame { public static final List PLAYERS_ESCAPED = new ArrayList<>(); private static final World world = Bukkit.getWorlds().get(0); + public static boolean isEscaped(TowerRunPlayer player) { + return PLAYERS_ESCAPED.contains(player); + } + public static boolean isAlive(TowerRunPlayer player) { return PLAYERS_ALIVE.contains(player); } diff --git a/TowerRun/src/de/steamwar/towerrun/listener/GlobalListener.java b/TowerRun/src/de/steamwar/towerrun/listener/GlobalListener.java index 5c2956b2..8d1c6004 100644 --- a/TowerRun/src/de/steamwar/towerrun/listener/GlobalListener.java +++ b/TowerRun/src/de/steamwar/towerrun/listener/GlobalListener.java @@ -19,20 +19,19 @@ package de.steamwar.towerrun.listener; +import de.steamwar.towerrun.TowerRun; import de.steamwar.towerrun.config.WorldConfig; import de.steamwar.towerrun.game.TowerRunGame; import de.steamwar.towerrun.game.TowerRunPlayer; import de.steamwar.towerrun.state.GameStateBukkitListener; import de.steamwar.towerrun.state.GameStates; +import lombok.val; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Location; -import org.bukkit.World; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerMoveEvent; -import org.bukkit.event.player.PlayerQuitEvent; -import org.bukkit.event.player.PlayerRespawnEvent; +import org.bukkit.event.player.*; import java.util.EnumSet; @@ -67,4 +66,25 @@ public class GlobalListener extends GameStateBukkitListener implements Listener public void onPlayerRespawn(PlayerRespawnEvent event) { event.setRespawnLocation(WorldConfig.SPAWN); } + + @EventHandler + public void onAsyncPlayerChat(AsyncPlayerChatEvent event) { + TowerRunPlayer player = TowerRunPlayer.get(event.getPlayer()); + if (TowerRunGame.isAlive(player) || TowerRunGame.isEscaped(player)) { + String prefix; + if (TowerRunGame.isAlive(player)) { + if (event.getPlayer().getGameMode() == GameMode.SPECTATOR) { + prefix = "§c☠"; + } else { + prefix = "§6❤"; + } + } else { + prefix = "§a✔"; + } + TowerRun.getMessage().broadcastPrefixless("PARTICIPANT_CHAT", prefix, event.getPlayer().getName(), event.getMessage()); + } else { + TowerRun.getMessage().broadcastPrefixless("SPECTATOR_CHAT", event.getPlayer().getName(), event.getMessage()); + } + event.setCancelled(true); + } }