blob: 97ca1f6873b735cab3f434ae10b58700b4e42f43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package me.xmrvizzy.skyblocker.chat;
import me.xmrvizzy.skyblocker.chat.filters.*;
import me.xmrvizzy.skyblocker.skyblock.dungeon.Reparty;
import me.xmrvizzy.skyblocker.skyblock.dungeon.ThreeWeirdos;
import me.xmrvizzy.skyblocker.skyblock.dungeon.Trivia;
import me.xmrvizzy.skyblocker.skyblock.dwarven.Fetchur;
import me.xmrvizzy.skyblocker.skyblock.dwarven.Puzzler;
import java.util.regex.Matcher;
public class ChatParser {
private final static ChatListener[] listeners = new ChatListener[]{
new Reparty(),
new ThreeWeirdos(),
new AoteFilter(),
new ImplosionFilter(),
new MoltenWaveFilter(),
new HealFilter(),
new AbilityFilter(),
new AdFilter(),
new Fetchur(),
new Puzzler(),
new Trivia(),
};
public boolean shouldFilter(String message) {
for (ChatListener listener : listeners) {
if (listener.isEnabled()) {
Matcher m = listener.getPattern().matcher(message);
if (m.matches()) {
String[] groups = new String[m.groupCount() + 1];
for (int i = 0; i < groups.length; i++)
groups[i] = m.group(i);
return listener.onMessage(groups);
}
}
}
return false;
}
}
|