diff --git a/src/main/java/com/alttd/hunger_games/config/Messages.java b/src/main/java/com/alttd/hunger_games/config/Messages.java
index 3f6142d..f82e2f4 100644
--- a/src/main/java/com/alttd/hunger_games/config/Messages.java
+++ b/src/main/java/com/alttd/hunger_games/config/Messages.java
@@ -82,6 +82,7 @@ public class Messages extends AbstractConfig {
public static String BORDER_SHRINK = "The border is shrinking to blocks!";
public static String CHEST_EMPTY = "This chest is empty!";
public static String WINNER = " has won the Hunger Games!";
+ public static String PLAYER_DEATH = " has died! players remaining.";
@SuppressWarnings("unused")
private static void load() {
@@ -90,6 +91,18 @@ public class Messages extends AbstractConfig {
BORDER_SHRINK = config.getString(prefix, "border-shrink", BORDER_SHRINK);
CHEST_EMPTY = config.getString(prefix, "chest-empty", CHEST_EMPTY);
WINNER = config.getString(prefix, "winner", WINNER);
+ PLAYER_DEATH = config.getString(prefix, "player-death", PLAYER_DEATH);
+ }
+ }
+
+ public static class START_ROUND {
+ private static final String prefix = "start-round.";
+
+ public static String CAN_NOT_START_ROUND = "Unable to start the round, current state is ";
+
+ @SuppressWarnings("unused")
+ private static void load() {
+ CAN_NOT_START_ROUND = config.getString(prefix, "can-not-start", CAN_NOT_START_ROUND);
}
}
diff --git a/src/main/java/com/alttd/hunger_games/event_listeners/PlayerDamageListener.java b/src/main/java/com/alttd/hunger_games/event_listeners/PlayerDamageListener.java
index 8191d2c..44971be 100644
--- a/src/main/java/com/alttd/hunger_games/event_listeners/PlayerDamageListener.java
+++ b/src/main/java/com/alttd/hunger_games/event_listeners/PlayerDamageListener.java
@@ -42,6 +42,7 @@ public class PlayerDamageListener implements Listener {
@EventHandler
public void onPlayerDeath(PlayerDeathEvent event) {
Player player = event.getPlayer();
+ event.deathMessage(null);
playerService.handlePlayerDeath(player);
statService.addDeath(player.getUniqueId());
diff --git a/src/main/java/com/alttd/hunger_games/services/PlayerService.java b/src/main/java/com/alttd/hunger_games/services/PlayerService.java
index 28c409e..8b2fb89 100644
--- a/src/main/java/com/alttd/hunger_games/services/PlayerService.java
+++ b/src/main/java/com/alttd/hunger_games/services/PlayerService.java
@@ -4,6 +4,8 @@ import com.alttd.hunger_games.config.Messages;
import com.alttd.hunger_games.data_objects.DESTINATION;
import com.alttd.hunger_games.data_objects.PLAYER_STATE;
import com.alttd.hunger_games.data_objects.ROUND_STATE;
+import net.kyori.adventure.text.minimessage.MiniMessage;
+import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@@ -104,7 +106,11 @@ public class PlayerService implements RoundListener {
public void handlePlayerDeath(Player player) {
UUID uuid = player.getUniqueId();
roundService.setPlayerState(uuid, PLAYER_STATE.SPECTATING);
- // TODO: send a message when a player is killed
+
+ int remaining = roundService.getPlayers(PLAYER_STATE.REGISTERED).size();
+ Bukkit.broadcast(MiniMessage.miniMessage().deserialize(Messages.GAME.PLAYER_DEATH,
+ Placeholder.component("player", player.name()),
+ Placeholder.unparsed("remaining", String.valueOf(remaining))));
}
public void handlePlayerRespawn(Player player) {