raids plugin: clean up whitelist matching code
This commit is contained in:
@@ -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<RaidRoom> 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()
|
||||
|
||||
@@ -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<String> 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<String> 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()
|
||||
|
||||
Reference in New Issue
Block a user