Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/main/java/universalDiscord/DeathThumbnail.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package universalDiscord;

public enum DeathThumbnail {
NONE(null),
DEATH("https://oldschool.runescape.wiki/images/Death.png"),
GRAVE("https://oldschool.runescape.wiki/images/Grave.png"),
BONES("https://oldschool.runescape.wiki/images/Bones_detail.png"),
ANGEL_GRAVE("https://oldschool.runescape.wiki/images/Grave_%28Angel%29.png");

public final String thumbnailUrl;

DeathThumbnail(String thumbnailUrl) {
this.thumbnailUrl = thumbnailUrl;
}
}
13 changes: 12 additions & 1 deletion src/main/java/universalDiscord/UniversalDiscordConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -260,11 +260,22 @@ default boolean deathSendImage() {
return false;
}

@ConfigItem(
keyName = "deathThumbnail",
name = "Thumbnail to use",
description = "Send a thumbnail with the notification",
position = 3,
section = deathSection
)
default DeathThumbnail deathThumbnail() {
return DeathThumbnail.DEATH;
}

@ConfigItem(
keyName = "deathNotifMessage",
name = "Notification Message",
description = "The message to be sent through the webhook. Use %USERNAME% to insert your username",
position = 3,
position = 4,
section = deathSection
)
default String deathNotifyMessage() {
Expand Down
22 changes: 20 additions & 2 deletions src/main/java/universalDiscord/notifiers/DeathNotifier.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package universalDiscord.notifiers;

import net.runelite.api.Player;
import net.runelite.api.events.ActorDeath;
import universalDiscord.DeathThumbnail;
import universalDiscord.UniversalDiscordPlugin;
import universalDiscord.Utils;
import universalDiscord.message.MessageBuilder;
import universalDiscord.message.discord.Image;

import javax.inject.Inject;
import java.util.Objects;
Expand All @@ -21,6 +24,10 @@ public void handleNotify() {
String notifyMessage = Utils.replaceCommonPlaceholders(plugin.config.deathNotifyMessage());

MessageBuilder messageBuilder = MessageBuilder.textAsEmbed(notifyMessage, plugin.config.deathSendImage());
String thumbnailUrl = deathThumbNail().thumbnailUrl;
if (thumbnailUrl != null) {
messageBuilder.webhookBody.getEmbeds().stream().findFirst().ifPresent((embed -> embed.setThumbnail(new Image(thumbnailUrl))));
}
plugin.messageHandler.sendMessage(messageBuilder);

reset();
Expand All @@ -29,8 +36,19 @@ public void handleNotify() {
@Override
public boolean shouldNotify() {
return isEnabled()
&& lastActorDeath != null
&& Objects.equals(lastActorDeath.getActor().getName(), Utils.getPlayerName());
&& lastActorDeathIsLocalPlayer();
}

public boolean lastActorDeathIsLocalPlayer() {
if (lastActorDeath != null) {
return Objects.equals(lastActorDeath.getActor(), plugin.client.getLocalPlayer());
}

return false;
}

public DeathThumbnail deathThumbNail() {
return plugin.config.deathThumbnail();
}

@Override
Expand Down