From 1a0cc27727f792cfebe308bf7768c7012c77da46 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Wed, 23 Aug 2023 02:51:57 +0200 Subject: [PATCH 1/2] Add default death message --- .../core/listener/player/PlayerDeathListener.java | 15 +++++++++++---- .../eternalcode/core/translation/Translation.java | 1 + .../translation/implementation/ENTranslation.java | 2 ++ .../translation/implementation/PLTranslation.java | 2 ++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/listener/player/PlayerDeathListener.java b/eternalcore-core/src/main/java/com/eternalcode/core/listener/player/PlayerDeathListener.java index 5ed0657e0..1f929e36e 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/listener/player/PlayerDeathListener.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/listener/player/PlayerDeathListener.java @@ -30,7 +30,7 @@ public PlayerDeathListener(NoticeService noticeService) { public void onPlayerDeath(PlayerDeathEvent event) { Player player = event.getEntity(); - event.setDeathMessage(StringUtils.EMPTY); + event.setDeathMessage(null); if (player.getKiller() != null) { this.noticeService.create() @@ -43,15 +43,22 @@ public void onPlayerDeath(PlayerDeathEvent event) { return; } - EntityDamageEvent lastDamageCasue = player.getLastDamageCause(); + EntityDamageEvent lastDamageCause = player.getLastDamageCause(); + + if (lastDamageCause == null) { + + this.noticeService.create() + .notice(translation -> translation.event().unknownDeathCause()) + .placeholder("{PLAYER}", player.getName()) + .onlinePlayers() + .send(); - if (lastDamageCasue == null) { return; } this.noticeService.create() .noticeOption(translation -> { - EntityDamageEvent.DamageCause cause = lastDamageCasue.getCause(); + EntityDamageEvent.DamageCause cause = lastDamageCause.getCause(); List notifications = translation.event().deathMessageByDamageCause().get(cause); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java index e934d7b2a..b8e4ace28 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java @@ -213,6 +213,7 @@ interface AfkSection { interface EventSection { List deathMessage(); + Notice unknownDeathCause(); List joinMessage(); List quitMessage(); List firstJoinMessage(); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java index 2c3f2707f..371f7549f 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java @@ -464,6 +464,8 @@ public static class ENEventSection implements EventSection { ) ); + public Notice unknownDeathCause = Notice.chat("{PLAYER} died!"); + @Description({ "", "# {PLAYER} - Player who joined" }) public List joinMessage = List.of( Notice.actionbar("{PLAYER} joined the server!"), diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java index f03008ef8..d92e4b463 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java @@ -470,6 +470,8 @@ public static class PLEventSection implements EventSection { ) ); + public Notice unknownDeathCause = Notice.chat("{PLAYER} został zabity przez niezidentyfikowany obiekt bojowy!"); + @Description({ " ", "# Podobnie jak w wiadomości o śmierci, EternalCore będzie losował losową wiadomość z poniższej listy", From 96e07004c9f47f2051c40b65fdc4a1b0f3749b72 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Wed, 23 Aug 2023 03:07:17 +0200 Subject: [PATCH 2/2] Fix and add option to list unknown death cause --- .../core/listener/player/PlayerDeathListener.java | 6 ++---- .../java/com/eternalcode/core/translation/Translation.java | 2 +- .../core/translation/implementation/ENTranslation.java | 4 +++- .../core/translation/implementation/PLTranslation.java | 4 +++- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/listener/player/PlayerDeathListener.java b/eternalcore-core/src/main/java/com/eternalcode/core/listener/player/PlayerDeathListener.java index 1f929e36e..721a27e84 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/listener/player/PlayerDeathListener.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/listener/player/PlayerDeathListener.java @@ -46,13 +46,11 @@ public void onPlayerDeath(PlayerDeathEvent event) { EntityDamageEvent lastDamageCause = player.getLastDamageCause(); if (lastDamageCause == null) { - this.noticeService.create() - .notice(translation -> translation.event().unknownDeathCause()) + .noticeOption(translation -> RandomUtil.randomElement(translation.event().unknownDeathCause())) .placeholder("{PLAYER}", player.getName()) .onlinePlayers() .send(); - return; } @@ -63,7 +61,7 @@ public void onPlayerDeath(PlayerDeathEvent event) { List notifications = translation.event().deathMessageByDamageCause().get(cause); if (notifications == null) { - return Option.none(); + return RandomUtil.randomElement(translation.event().unknownDeathCause()); } return RandomUtil.randomElement(notifications); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java index b8e4ace28..3089785ba 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java @@ -213,7 +213,7 @@ interface AfkSection { interface EventSection { List deathMessage(); - Notice unknownDeathCause(); + List unknownDeathCause(); List joinMessage(); List quitMessage(); List firstJoinMessage(); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java index 371f7549f..0781d503e 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java @@ -464,7 +464,9 @@ public static class ENEventSection implements EventSection { ) ); - public Notice unknownDeathCause = Notice.chat("{PLAYER} died!"); + public List unknownDeathCause = List.of( + Notice.chat("{PLAYER} died!") + ); @Description({ "", "# {PLAYER} - Player who joined" }) public List joinMessage = List.of( diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java index d92e4b463..b2c62d2d9 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java @@ -470,7 +470,9 @@ public static class PLEventSection implements EventSection { ) ); - public Notice unknownDeathCause = Notice.chat("{PLAYER} został zabity przez niezidentyfikowany obiekt bojowy!"); + public List unknownDeathCause = List.of( + Notice.chat("{PLAYER} został zabity przez niezidentyfikowany obiekt bojowy!") + ); @Description({ " ",