diff options
author | LifeIsAParadox <LifeIsAParadox@users.noreply.github.com> | 2021-09-19 22:51:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-19 22:51:57 +0200 |
commit | f204e0f0459ec8eb993fdc4dd419bca0504fbb8d (patch) | |
tree | 018390da69b3e2efa04d21828927ee2b65d882f7 /src/main/java/me/xmrvizzy/skyblocker/mixin | |
parent | 731c9430f4cf4cd5f9410cd490d724ba55fa7414 (diff) | |
parent | 8b0d4faea23ac4486795345fe0981d9cb3059059 (diff) | |
download | Skyblocker-f204e0f0459ec8eb993fdc4dd419bca0504fbb8d.tar.gz Skyblocker-f204e0f0459ec8eb993fdc4dd419bca0504fbb8d.tar.bz2 Skyblocker-f204e0f0459ec8eb993fdc4dd419bca0504fbb8d.zip |
Merge pull request #11 from ExternalTime/chat-parsing-refactor
Chat parsing refactor
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java | 49 |
1 files changed, 8 insertions, 41 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java index c22364d6..43103159 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java @@ -1,18 +1,15 @@ package me.xmrvizzy.skyblocker.mixin; +import me.xmrvizzy.skyblocker.chat.ChatParser; 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; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.hud.ChatHudListener; +import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.network.MessageType; +import net.minecraft.text.ClickEvent; import net.minecraft.text.Text; -import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -23,44 +20,14 @@ import java.util.UUID; @Mixin(ChatHudListener.class) public class ChatHudListenerMixin { - @Shadow @Final private MinecraftClient client; - private final ChatFilter filter = new ChatFilter(); + private final ChatParser parser = new ChatParser(); @Inject(method = "onChatMessage", at = @At("HEAD"), cancellable = true) public void onMessage(MessageType messageType, Text message, UUID senderUuid, CallbackInfo ci) { - String msg = message.getString(); - - if (Utils.isDungeons) { - if (SkyblockerConfig.get().locations.dungeons.solveThreeWeirdos && msg.contains("[NPC]")) - DungeonPuzzles.threeWeirdos(msg); - - DungeonPuzzles.trivia(msg, ci); - } - - if (Utils.isSkyblock) { - if (msg.contains("[OPEN MENU]")) { - List<Text> siblings = message.getSiblings(); - for (Text sibling : siblings) { - if (sibling.getString().contains("[OPEN MENU]")) { - this.client.player.sendChatMessage(sibling.getStyle().getClickEvent().getValue()); - } - } - } - - if (msg.contains("[NPC]")) { - if (SkyblockerConfig.get().locations.dwarvenMines.solveFetchur && - msg.contains("Fetchur")) { - Fetchur.solve(msg, ci); - } - - if (SkyblockerConfig.get().locations.dwarvenMines.solvePuzzler && - msg.contains("Puzzler")) - Puzzler.solve(msg); - } - - if(filter.shouldFilter(msg)) - ci.cancel(); - } + if (!Utils.isSkyblock) + return; + if (parser.shouldFilter(message.getString())) + ci.cancel(); } } |