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);
+ }
}