From d0464f71b44d95913fce4e2de68ea8f9870aed6c Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Fri, 12 Oct 2018 10:27:02 -0700 Subject: [PATCH] GameEventManager: Simulate Actor spawn events --- .../client/util/GameEventManager.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java b/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java index 5483f95296..e82b7af4fc 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java +++ b/runelite-client/src/main/java/net/runelite/client/util/GameEventManager.java @@ -37,7 +37,9 @@ import net.runelite.api.GameState; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; +import net.runelite.api.NPC; import net.runelite.api.Node; +import net.runelite.api.Player; import net.runelite.api.Scene; import net.runelite.api.Tile; import net.runelite.api.events.DecorativeObjectSpawned; @@ -45,6 +47,8 @@ import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GroundObjectSpawned; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.ItemSpawned; +import net.runelite.api.events.NpcSpawned; +import net.runelite.api.events.PlayerSpawned; import net.runelite.api.events.WallObjectSpawned; @Singleton @@ -113,6 +117,24 @@ public class GameEventManager } } + for (NPC npc : client.getCachedNPCs()) + { + if (npc != null) + { + final NpcSpawned npcSpawned = new NpcSpawned(npc); + eventBus.post(npcSpawned); + } + } + + for (Player player : client.getCachedPlayers()) + { + if (player != null) + { + final PlayerSpawned playerSpawned = new PlayerSpawned(player); + eventBus.post(playerSpawned); + } + } + forEachTile((tile) -> { Optional.ofNullable(tile.getWallObject()).ifPresent(object ->