diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java index 4f537eb44e..a237fc03cd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java @@ -24,9 +24,7 @@ */ package net.runelite.client.plugins.raids; -import com.google.common.base.Joiner; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import lombok.Getter; import net.runelite.client.plugins.raids.solver.Layout; @@ -80,7 +78,7 @@ public class Raid } } - public RaidRoom[] getCombatRooms() + RaidRoom[] getCombatRooms() { List combatRooms = new ArrayList<>(); @@ -97,12 +95,7 @@ public class Raid } } - return combatRooms.toArray(new RaidRoom[combatRooms.size()]); - } - - public String getRotationString() - { - return Joiner.on(",").join(Arrays.stream(getCombatRooms()).map(RaidRoom::getName).toArray()); + return combatRooms.toArray(new RaidRoom[0]); } public String toCode() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index 2dd6a321ec..50f3649a09 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -29,9 +29,10 @@ import com.google.inject.Provides; import java.text.DecimalFormat; import java.time.Instant; import java.util.ArrayList; -import java.util.List; +import java.util.Arrays; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import javax.inject.Inject; import lombok.Getter; import lombok.extern.slf4j.Slf4j; @@ -407,39 +408,13 @@ public class RaidsPlugin extends Plugin int getRotationMatches() { - String rotation = raid.getRotationString().toLowerCase(); - List bosses = Text.fromCSV(rotation); + RaidRoom[] combatRooms = raid.getCombatRooms(); + String rotation = Arrays.stream(combatRooms) + .map(RaidRoom::getName) + .map(String::toLowerCase) + .collect(Collectors.joining(",")); - if (rotationWhitelist.contains(rotation)) - { - return bosses.size(); - } - - for (String whitelisted : rotationWhitelist) - { - int matches = 0; - List whitelistedBosses = Text.fromCSV(whitelisted); - - for (int i = 0; i < whitelistedBosses.size(); i++) - { - if (i < bosses.size() && whitelistedBosses.get(i).equals(bosses.get(i))) - { - matches++; - } - else - { - matches = 0; - break; - } - } - - if (matches >= 2) - { - return matches; - } - } - - return 0; + return rotationWhitelist.contains(rotation) ? combatRooms.length : 0; } private Point findLobbyBase()