diff options
author | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-09-06 12:54:02 +0200 |
---|---|---|
committer | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-09-06 12:54:02 +0200 |
commit | c62cb964e2c61fb5bdbc0b4bb5c626029c68a727 (patch) | |
tree | a2a5ca426cd651cba6f159045192dfd5713a2d87 /src/main | |
parent | b23331eb654e2e26d17d13616c05ffe3af822290 (diff) | |
download | Skyblocker-c62cb964e2c61fb5bdbc0b4bb5c626029c68a727.tar.gz Skyblocker-c62cb964e2c61fb5bdbc0b4bb5c626029c68a727.tar.bz2 Skyblocker-c62cb964e2c61fb5bdbc0b4bb5c626029c68a727.zip |
Moved chat filtering out of a mixin
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java | 24 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java | 28 |
2 files changed, 31 insertions, 21 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java index f9ed014a..c22364d6 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java @@ -1,6 +1,7 @@ package me.xmrvizzy.skyblocker.mixin; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.skyblock.ChatFilter; import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonPuzzles; import me.xmrvizzy.skyblocker.skyblock.dwarven.Fetchur; import me.xmrvizzy.skyblocker.skyblock.dwarven.Puzzler; @@ -23,6 +24,7 @@ import java.util.UUID; public class ChatHudListenerMixin { @Shadow @Final private MinecraftClient client; + private final ChatFilter filter = new ChatFilter(); @Inject(method = "onChatMessage", at = @At("HEAD"), cancellable = true) public void onMessage(MessageType messageType, Text message, UUID senderUuid, CallbackInfo ci) { @@ -56,27 +58,7 @@ public class ChatHudListenerMixin { Puzzler.solve(msg); } - if (SkyblockerConfig.get().messages.hideAbility && ( - msg.contains("This ability is currently on cooldown for ") || - msg.contains("No more charges, next one in ") || - msg.contains("This ability is on cooldown for "))) - ci.cancel(); - - if (SkyblockerConfig.get().messages.hideHeal && ( - msg.contains("You healed ") && - msg.contains(" health!") || msg.contains(" healed you for "))) - ci.cancel(); - - if (SkyblockerConfig.get().messages.hideAOTE && - msg.contains("There are blocks in the way!")) - ci.cancel(); - - if (SkyblockerConfig.get().messages.hideImplosion && - msg.contains("Your Implosion hit ")) - ci.cancel(); - - if (SkyblockerConfig.get().messages.hideMoltenWave && - msg.contains("Your Molten Wave hit ")) + if(filter.shouldFilter(msg)) ci.cancel(); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java new file mode 100644 index 00000000..99d0cb08 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java @@ -0,0 +1,28 @@ +package me.xmrvizzy.skyblocker.skyblock; + +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; + + +public class ChatFilter { + public boolean shouldFilter(String message) { + SkyblockerConfig.Messages settings = SkyblockerConfig.get().messages; + if (settings.hideAbility && (message.contains("This ability is currently on cooldown for ") || + message.contains("No more charges, next one in ") || + message.contains("This ability is on cooldown for "))) + return true; + + if (settings.hideHeal && (message.contains("You healed ") && + message.contains(" health!") || message.contains(" healed you for "))) + return true; + + if (settings.hideAOTE && message.contains("There are blocks in the way!")) + return true; + + if (settings.hideImplosion && message.contains("Your Implosion hit ")) + return true; + + if (settings.hideMoltenWave && message.contains("Your Molten Wave hit ")) + return true; + return false; + } +} |