Skip to content

Commit 2ad8268

Browse files
committed
Some update for message sending
* Don't call internal message broadcast event if message is empty. * Don't send mm mob related death message if there is no mm mob death message configured.
1 parent 432c2d2 commit 2ad8268

File tree

14 files changed

+224
-186
lines changed

14 files changed

+224
-186
lines changed

DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/EntityDeath.java

Lines changed: 32 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import dev.mrshawn.deathmessages.enums.MessageType;
1010
import dev.mrshawn.deathmessages.enums.MobType;
1111
import dev.mrshawn.deathmessages.utils.Assets;
12+
import dev.mrshawn.deathmessages.utils.ComponentUtil;
1213
import dev.mrshawn.deathmessages.utils.EntityUtil;
1314
import dev.mrshawn.deathmessages.utils.Util;
1415
import net.kyori.adventure.text.TextComponent;
@@ -48,18 +49,20 @@ void onEntityDeath(EntityDeathEvent e) {
4849

4950
if (!(pm.getLastEntityDamager() instanceof LivingEntity) || pm.getLastEntityDamager() == e.getEntity()) {
5051
TextComponent[] naturalDeath = Assets.playerNatureDeathMessage(pm, player);
51-
TextComponent oldNaturalDeath = naturalDeath[0] != null ? naturalDeath[0].append(naturalDeath[1]) : naturalDeath[1]; // Dreeam TODO: Remove in 1.4.21
52-
53-
BroadcastDeathMessageEvent event = new BroadcastDeathMessageEvent(
54-
player,
55-
null,
56-
MessageType.NATURAL,
57-
oldNaturalDeath,
58-
naturalDeath,
59-
Util.getBroadcastWorlds(player),
60-
false
61-
);
62-
Bukkit.getPluginManager().callEvent(event);
52+
TextComponent oldNaturalDeath = naturalDeath[0].append(naturalDeath[1]); // Dreeam TODO: Remove in 1.4.21
53+
54+
if (!ComponentUtil.isMessageEmpty(naturalDeath)) {
55+
BroadcastDeathMessageEvent event = new BroadcastDeathMessageEvent(
56+
player,
57+
null,
58+
MessageType.NATURAL,
59+
oldNaturalDeath,
60+
naturalDeath,
61+
Util.getBroadcastWorlds(player),
62+
false
63+
);
64+
Bukkit.getPluginManager().callEvent(event);
65+
}
6366
} else {
6467
// Killed by mob
6568
Entity ent = pm.getLastEntityDamager();
@@ -88,32 +91,21 @@ void onEntityDeath(EntityDeathEvent e) {
8891
}
8992

9093
TextComponent[] playerDeath = Assets.playerDeathMessage(pm, gangKill);
91-
TextComponent oldPlayerDeath = playerDeath[0] != null ? playerDeath[0].append(playerDeath[1]) : playerDeath[1]; // Dreeam TODO: Remove in 1.4.21
94+
TextComponent oldPlayerDeath = playerDeath[0].append(playerDeath[1]); // Dreeam TODO: Remove in 1.4.21
9295

93-
if (ent instanceof Player) {
96+
if (!ComponentUtil.isMessageEmpty(playerDeath)) {
97+
MessageType messageType = ent instanceof Player ? MessageType.PLAYER : MessageType.MOB;
9498
BroadcastDeathMessageEvent event = new BroadcastDeathMessageEvent(
9599
player,
96100
(LivingEntity) pm.getLastEntityDamager(),
97-
MessageType.PLAYER,
101+
messageType,
98102
oldPlayerDeath,
99103
playerDeath,
100104
Util.getBroadcastWorlds(player),
101105
gangKill
102106
);
103107
Bukkit.getPluginManager().callEvent(event);
104-
return;
105108
}
106-
107-
BroadcastDeathMessageEvent event = new BroadcastDeathMessageEvent(
108-
player,
109-
(LivingEntity) pm.getLastEntityDamager(),
110-
MessageType.MOB,
111-
oldPlayerDeath,
112-
playerDeath,
113-
Util.getBroadcastWorlds(player),
114-
gangKill
115-
);
116-
Bukkit.getPluginManager().callEvent(event);
117109
}
118110
});
119111

@@ -135,17 +127,19 @@ void onEntityDeath(EntityDeathEvent e) {
135127
if (damager == null) return; // Entity killed by Entity should not include in DM
136128

137129
TextComponent[] entityDeath = Assets.entityDeathMessage(em, mobType);
138-
TextComponent oldEntityDeath = entityDeath[0] != null ? entityDeath[0].append(entityDeath[1]) : entityDeath[1]; // Dreeam TODO: Remove in 1.4.21
139-
140-
BroadcastEntityDeathMessageEvent event = new BroadcastEntityDeathMessageEvent(
141-
damager,
142-
e.getEntity(),
143-
MessageType.ENTITY,
144-
oldEntityDeath,
145-
entityDeath,
146-
Util.getBroadcastWorlds(e.getEntity())
147-
);
148-
Bukkit.getPluginManager().callEvent(event);
130+
TextComponent oldEntityDeath = entityDeath[0].append(entityDeath[1]); // Dreeam TODO: Remove in 1.4.21
131+
132+
if (!ComponentUtil.isMessageEmpty(entityDeath)) {
133+
BroadcastEntityDeathMessageEvent event = new BroadcastEntityDeathMessageEvent(
134+
damager,
135+
e.getEntity(),
136+
MessageType.ENTITY,
137+
oldEntityDeath,
138+
entityDeath,
139+
Util.getBroadcastWorlds(e.getEntity())
140+
);
141+
Bukkit.getPluginManager().callEvent(event);
142+
}
149143
});
150144
}
151145
}

DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/combatlogx/PlayerUntag.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import dev.mrshawn.deathmessages.enums.MessageType;
1111
import dev.mrshawn.deathmessages.files.Config;
1212
import dev.mrshawn.deathmessages.utils.Assets;
13+
import dev.mrshawn.deathmessages.utils.ComponentUtil;
1314
import dev.mrshawn.deathmessages.utils.Util;
1415
import net.kyori.adventure.text.TextComponent;
1516
import org.bukkit.Bukkit;
@@ -66,18 +67,20 @@ public void untagPlayer(PlayerUntagEvent e) {
6667

6768
deathMessage[1] = deathMessageBody;
6869

69-
TextComponent oldDeathMessage = deathMessage[0] != null ? deathMessage[0].append(deathMessage[1]) : deathMessage[1]; // Dreeam TODO: Remove in 1.4.21
70-
71-
BroadcastDeathMessageEvent event = new BroadcastDeathMessageEvent(
72-
player,
73-
(LivingEntity) e.getPreviousEnemies().get(0),
74-
MessageType.PLAYER,
75-
oldDeathMessage,
76-
deathMessage,
77-
Util.getBroadcastWorlds(player),
78-
gangKill
79-
);
80-
Bukkit.getPluginManager().callEvent(event);
70+
TextComponent oldDeathMessage = deathMessage[0].append(deathMessage[1]); // Dreeam TODO: Remove in 1.4.21
71+
72+
if (!ComponentUtil.isMessageEmpty(deathMessage)) {
73+
BroadcastDeathMessageEvent event = new BroadcastDeathMessageEvent(
74+
player,
75+
(LivingEntity) e.getPreviousEnemies().get(0),
76+
MessageType.PLAYER,
77+
oldDeathMessage,
78+
deathMessage,
79+
Util.getBroadcastWorlds(player),
80+
gangKill
81+
);
82+
Bukkit.getPluginManager().callEvent(event);
83+
}
8184
});
8285

8386
if (!getPlayer.isPresent()) {

DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/customlisteners/BroadcastEntityDeathListener.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,13 @@ public class BroadcastEntityDeathListener implements Listener {
2828

2929
@EventHandler
3030
public void broadcastListener(BroadcastEntityDeathMessageEvent e) {
31-
if (e.getTextComponents() == ComponentUtil.EMPTY)
32-
return; // Dreeam - in Assets: return null -> return ComponentUtil.EMPTY
33-
3431
final Optional<PlayerManager> pm = Optional.of(e.getPlayer());
3532
final Entity entity = e.getEntity();
3633
final boolean hasOwner = EntityUtil.hasOwner(entity);
3734
final TextComponent[] components = e.getTextComponents();
3835
final TextComponent prefix = components[0];
3936
final TextComponent messageBody = components[1];
40-
final TextComponent message = prefix != null ? prefix.append(messageBody) : messageBody;
37+
final TextComponent message = prefix.append(messageBody);
4138

4239
if (Messages.getInstance().getConfig().getBoolean("Console.Enabled")) {
4340
Component rawMessage = Util.convertFromLegacy(Messages.getInstance().getConfig().getString("Console.Message"));

DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/customlisteners/BroadcastPlayerDeathListener.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,14 @@ public class BroadcastPlayerDeathListener implements Listener {
2828

2929
@EventHandler
3030
public void broadcastListener(BroadcastDeathMessageEvent e) {
31-
if (e.getTextComponents() == ComponentUtil.EMPTY)
32-
return; // Dreeam - in Assets: return null -> return ComponentUtil.EMPTY
33-
3431
Optional<PlayerManager> getPlayer = PlayerManager.getPlayer(e.getPlayer());
3532

3633
if (!getPlayer.isPresent()) return;
3734

3835
final TextComponent[] components = e.getTextComponents();
3936
final TextComponent prefix = components[0];
4037
final TextComponent messageBody = components[1];
41-
final TextComponent message = prefix != null ? prefix.append(messageBody) : messageBody;
38+
final TextComponent message = prefix.append(messageBody);
4239

4340
if (Messages.getInstance().getConfig().getBoolean("Console.Enabled")) {
4441
// Dreeam TODO: maybe just use formatMessage is also ok?

DeathMessagesLegacy/src/main/java/dev/mrshawn/deathmessages/listeners/mythicmobs/MobDeath.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import dev.mrshawn.deathmessages.enums.MessageType;
77
import dev.mrshawn.deathmessages.enums.MobType;
88
import dev.mrshawn.deathmessages.utils.Assets;
9+
import dev.mrshawn.deathmessages.utils.ComponentUtil;
910
import dev.mrshawn.deathmessages.utils.Util;
1011
import io.lumine.mythic.bukkit.events.MythicMobDeathEvent;
1112
import net.kyori.adventure.text.TextComponent;
@@ -36,17 +37,19 @@ public void onMythicMobDeath(MythicMobDeathEvent e) {
3637
getEntity.ifPresent(em -> {
3738
PlayerManager damager = em.getLastPlayerDamager();
3839
TextComponent[] mythicDeath = Assets.entityDeathMessage(em, MobType.MYTHIC_MOB);
39-
TextComponent oldMythicDeath = mythicDeath[0] != null ? mythicDeath[0].append(mythicDeath[1]) : mythicDeath[1]; // Dreeam TODO: Remove in 1.4.21
40-
41-
BroadcastEntityDeathMessageEvent event = new BroadcastEntityDeathMessageEvent(
42-
damager,
43-
e.getEntity(),
44-
MessageType.ENTITY,
45-
oldMythicDeath,
46-
mythicDeath,
47-
Util.getBroadcastWorlds(e.getEntity())
48-
);
49-
Bukkit.getPluginManager().callEvent(event);
40+
TextComponent oldMythicDeath = mythicDeath[0].append(mythicDeath[1]); // Dreeam TODO: Remove in 1.4.21
41+
42+
if (!ComponentUtil.isMessageEmpty(mythicDeath)) {
43+
BroadcastEntityDeathMessageEvent event = new BroadcastEntityDeathMessageEvent(
44+
damager,
45+
e.getEntity(),
46+
MessageType.ENTITY,
47+
oldMythicDeath,
48+
mythicDeath,
49+
Util.getBroadcastWorlds(e.getEntity())
50+
);
51+
Bukkit.getPluginManager().callEvent(event);
52+
}
5053
});
5154
}
5255
}

0 commit comments

Comments
 (0)