aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2023-07-22 22:51:46 -0400
committerAaron <51387595+AzureAaron@users.noreply.github.com>2023-07-22 22:51:46 -0400
commit20edc3b057346e70965ed2dffa131722f64a0d7a (patch)
tree1fb7aa6f8929bc47bbe0dc830df759ad2dca631a
parent14ec65e7639758972f44a9097c44b8eb53c45c15 (diff)
downloadSkyblocker-20edc3b057346e70965ed2dffa131722f64a0d7a.tar.gz
Skyblocker-20edc3b057346e70965ed2dffa131722f64a0d7a.tar.bz2
Skyblocker-20edc3b057346e70965ed2dffa131722f64a0d7a.zip
Add show off message filter
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/chat/filters/ShowOffFilter.java18
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java3
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json3
4 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java
index d58d03aa..5ea3e2a9 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java
@@ -53,6 +53,7 @@ public interface ChatMessageListener {
new MoltenWaveFilter(),
new TeleportPadFilter(),
new AutopetFilter(),
+ new ShowOffFilter()
};
// Register all listeners to EVENT
for (ChatMessageListener listener : listeners) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ShowOffFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ShowOffFilter.java
new file mode 100644
index 00000000..a9835d21
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ShowOffFilter.java
@@ -0,0 +1,18 @@
+package me.xmrvizzy.skyblocker.chat.filters;
+
+import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
+import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
+
+public class ShowOffFilter extends SimpleChatFilter {
+ private static final String EMBLEMS = "\u2E15\u273F\u2741\u2E19\u03B1\u270E\u2615\u2616\u2663\u213B\u2694\u27B6\u26A1\u2604\u269A\u2693\u2620\u269B\u2666\u2660\u2764\u2727\u238A\u1360\u262C\u269D\u29C9\uA214\u32D6\u2E0E\u26A0\uA541\u3020\u30C4\u2948\u2622\u2623\u273E\u269C\u0BD0\u0A6D\u2742\u16C3\u3023\u10F6\u0444\u266A\u266B\u04C3\u26C1\u26C3\u16DD\uA03E\u1C6A\u03A3\u09EB\u2603\u12DE";
+ private static final String[] SHOW_TYPES = { "is holding", "is wearing", "is friends with a", "has" };
+
+ public ShowOffFilter() {
+ super("(?:§8\\[[§feadbc0-9]+§8\\] )?(?:[§76l]+[" + EMBLEMS + "] )?§[67abc](?:\\[[§A-Za-z0-9+]+\\] )?([A-Za-z0-9_]+)[§f7]+ (?:" + String.join("|", SHOW_TYPES) + ") §8\\[(.+)§8\\]");
+ }
+
+ @Override
+ protected ChatFilterResult state() {
+ return SkyblockerConfig.get().messages.hideShowOff;
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
index c4eeb090..c965517a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
@@ -497,6 +497,9 @@ public class SkyblockerConfig implements ConfigData {
public ChatFilterResult hideCombo = ChatFilterResult.PASS;
@ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
public ChatFilterResult hideAutopet = ChatFilterResult.PASS;
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
+ @ConfigEntry.Gui.Tooltip
+ public ChatFilterResult hideShowOff = ChatFilterResult.PASS;
@ConfigEntry.Gui.Tooltip()
public boolean hideMana = false;
}
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index b907cf1b..054d3162 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -242,7 +242,8 @@
"text.autoconfig.skyblocker.option.messages.hideAutopet": "Hide Autopet Messages",
"text.autoconfig.skyblocker.option.messages.hideMana": "Hide Mana Consumption Messages from Action Bar",
"text.autoconfig.skyblocker.option.messages.hideMana.@Tooltip": "Gives a better experience with FancyBar",
- "text.autoconfig.skyblocker.option.general.hideEmptyTooltips": "Hide empty item tooltips in menus",
+ "text.autoconfig.skyblocker.option.messages.hideShowOff": "Hide Show Off Messages",
+ "text.autoconfig.skyblocker.option.messages.hideShowOff.@Tooltip": "Filters messages from the /show command",
"text.autoconfig.skyblocker.category.slayer": "Slayers",
"text.autoconfig.skyblocker.option.slayer.vampireSlayer": "Vampire Slayer",
"text.autoconfig.skyblocker.option.slayer.vampireSlayer.enableEffigyWaypoints": "Enable Effigy Waypoints",