Merge pull request #849 from runelite-extended/refactor

refactor: npcomp to npcdef to stay consistent with mixin naming.
This commit is contained in:
sdburns1998
2019-07-02 00:12:09 +02:00
committed by GitHub
6 changed files with 41 additions and 21 deletions

View File

@@ -31,7 +31,7 @@ import net.runelite.api.NPC;
* Fires after the composition of an {@link NPC} changes.
*/
@Value
public class NpcCompositionChanged
public class NpcDefinitionChanged
{
/**
* The NPC of which the composition changed.

View File

@@ -59,7 +59,7 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.events.GraphicsObjectCreated;
import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.MenuOptionClicked;
import net.runelite.api.events.NpcCompositionChanged;
import net.runelite.api.events.NpcDefinitionChanged;
import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned;
import net.runelite.client.callback.ClientThread;
@@ -333,7 +333,7 @@ public class NpcIndicatorsPlugin extends Plugin
}
@Subscribe
public void onNpcCompositionChanged(NpcCompositionChanged event)
public void onNpcDefinitionChanged(NpcDefinitionChanged event)
{
NPC npc = event.getNpc();
highlightNpcIfMatch(npc);

View File

@@ -67,7 +67,7 @@ import net.runelite.api.events.ExperienceChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.InteractingChanged;
import net.runelite.api.events.NpcCompositionChanged;
import net.runelite.api.events.NpcDefinitionChanged;
import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned;
import net.runelite.api.events.VarbitChanged;
@@ -351,7 +351,7 @@ public class SlayerPlugin extends Plugin
}
@Subscribe
public void onNpcCompositionChanged(NpcCompositionChanged event)
public void onNpcDefinitionChanged(NpcDefinitionChanged event)
{
NPC npc = event.getNpc();

View File

@@ -23,6 +23,7 @@ import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.GroundObjectSpawned;
import net.runelite.api.events.NpcDefinitionChanged;
import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned;
import net.runelite.api.events.ProjectileMoved;
@@ -154,6 +155,15 @@ public class TheatrePlugin extends Plugin
}
}
@Subscribe
public void onNpcDefinitionChanged(NpcDefinitionChanged event)
{
if (maidenHandler != null)
{
maidenHandler.onNpcDefinitionChanged(event);
}
}
@Subscribe
public void onNpcSpawned(NpcSpawned event)
{

View File

@@ -14,6 +14,7 @@ import net.runelite.api.GraphicsObject;
import net.runelite.api.NPC;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.NpcDefinitionChanged;
import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned;
import net.runelite.api.events.SpotAnimationChanged;
@@ -59,7 +60,7 @@ public class MaidenHandler extends RoomHandler
private List<WorldPoint> bloodSpawnLocation = new ArrayList<>();
private List<WorldPoint> bloodSpawnTarget = new ArrayList<>();
private NPC maiden;
private String nyloCall = "n1";
private String nyloCall;
private Set<Nylos> nylos = new HashSet<>();
private List<NPC> healers = new ArrayList<>();
private int healerCount = 0;
@@ -101,6 +102,7 @@ public class MaidenHandler extends RoomHandler
this.bloodSpawnLocation.clear();
this.bloodSpawnTarget.clear();
this.healers.clear();
this.nylos.clear();
this.healerCount = 0;
this.startTime = -1;
this.wave = 1;
@@ -117,6 +119,11 @@ public class MaidenHandler extends RoomHandler
final String location = nylo.getSpawnLocation().getName();
if (nyloCall == null || nyloCall.equals(""))
{
nyloCall = "n1";
}
if (location.equals(nyloCall))
{
Color color = Color.WHITE;
@@ -217,11 +224,8 @@ public class MaidenHandler extends RoomHandler
}
if (!N1.contains(wp) && !N2.contains(wp) && !S1.contains(wp) && !S2.contains(wp))
{
log.debug("------------------------");
log.debug("No World Points Matched");
log.debug("Dumping Location");
log.debug("Instance Loc: " + wp);
log.debug("------------------------");
log.info("No World Points Matched");
log.info("Instance Loc: " + wp);
}
break;
case "Blood spawn":
@@ -233,6 +237,19 @@ public class MaidenHandler extends RoomHandler
}
}
public void onNpcDefinitionChanged(NpcDefinitionChanged event)
{
NPC npc = event.getNpc();
if (npc.getName() != null && npc.getName().equals("Nylocas Matomenos"))
{
if (npc.getId() == -1)
{
nylos.removeIf(c -> c.getNpc() == npc);
}
}
}
public void onChatMessage(ChatMessage event)
{
if (event.getSender() != null && !event.getSender().equals(client.getLocalPlayer().getName()))
@@ -249,6 +266,7 @@ public class MaidenHandler extends RoomHandler
case "s1":
case "s2":
nyloCall = msg;
log.debug("Nylo Call Assigned: " + msg);
break;
}
}
@@ -280,14 +298,6 @@ public class MaidenHandler extends RoomHandler
return;
}
if (!nylos.isEmpty())
{
for (Nylos nylo : nylos)
{
nylos.removeIf(c -> c.getNpc().getId() == -1);
}
}
bloodThrows.clear();
for (GraphicsObject o : client.getGraphicsObjects())

View File

@@ -29,7 +29,7 @@ import net.runelite.api.AnimationID;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.NpcCompositionChanged;
import net.runelite.api.events.NpcDefinitionChanged;
import net.runelite.api.events.NpcDespawned;
import net.runelite.api.mixins.Copy;
import net.runelite.api.mixins.FieldHook;
@@ -114,7 +114,7 @@ public abstract class RSNPCMixin implements RSNPC
}
else if (this.getId() != -1)
{
client.getCallbacks().post(new NpcCompositionChanged(this));
client.getCallbacks().post(new NpcDefinitionChanged(this));
}
}