diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index 8ce1ec7839..7d0c3d18a2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -43,15 +43,17 @@ import javax.swing.SwingUtilities; import lombok.AccessLevel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.Actor; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.Point; import net.runelite.api.SpriteID; +import net.runelite.api.events.ActorDeath; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameTick; -import net.runelite.api.events.PlayerDeath; +import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; import static net.runelite.api.widgets.WidgetID.BARROWS_REWARD_GROUP_ID; @@ -63,7 +65,6 @@ import static net.runelite.api.widgets.WidgetID.LEVEL_UP_GROUP_ID; import static net.runelite.api.widgets.WidgetID.QUEST_COMPLETED_GROUP_ID; import static net.runelite.api.widgets.WidgetID.THEATRE_OF_BLOOD_REWARD_GROUP_ID; import net.runelite.api.widgets.WidgetInfo; -import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.Notifier; import static net.runelite.client.RuneLite.SCREENSHOT_DIR; import net.runelite.client.config.ConfigManager; @@ -254,16 +255,20 @@ public class ScreenshotPlugin extends Plugin } @Subscribe - public void onPlayerDeath(PlayerDeath playerDeath) + public void onActorDeath(ActorDeath actorDeath) { - Player player = playerDeath.getPlayer(); - if (player == client.getLocalPlayer() && config.screenshotPlayerDeath()) + Actor actor = actorDeath.getActor(); + if (actor instanceof Player) { - takeScreenshot("Death", "Deaths"); - } - else if (player != client.getLocalPlayer() && (player.isFriendsChatMember() || player.isFriend()) && config.screenshotFriendDeath() && player.getCanvasTilePoly() != null) - { - takeScreenshot("Death " + player.getName(), "Deaths"); + Player player = (Player) actor; + if (player == client.getLocalPlayer() && config.screenshotPlayerDeath()) + { + takeScreenshot("Death", "Deaths"); + } + else if (player != client.getLocalPlayer() && (player.isFriendsChatMember() || player.isFriend()) && config.screenshotFriendDeath() && player.getCanvasTilePoly() != null) + { + takeScreenshot("Death " + player.getName(), "Deaths"); + } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java index 24f9d5297c..fe2b8a6184 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java @@ -50,6 +50,7 @@ import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; +import net.runelite.api.events.ActorDeath; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameStateChanged; @@ -58,7 +59,6 @@ import net.runelite.api.events.GraphicChanged; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.NpcDespawned; -import net.runelite.api.events.PlayerDeath; import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.Widget; @@ -876,9 +876,9 @@ public class TimersPlugin extends Plugin } @Subscribe - public void onPlayerDeath(PlayerDeath playerDeath) + public void onActorDeath(ActorDeath actorDeath) { - if (playerDeath.getPlayer() == client.getLocalPlayer()) + if (actorDeath.getActor() == client.getLocalPlayer()) { infoBoxManager.removeIf(t -> t instanceof TimerTimer && ((TimerTimer) t).getTimer().isRemovedOnDeath()); }