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) {