diff options
author | Wyvest <45589059+Wyvest@users.noreply.github.com> | 2021-12-25 14:13:27 +0700 |
---|---|---|
committer | Wyvest <45589059+Wyvest@users.noreply.github.com> | 2021-12-25 14:13:27 +0700 |
commit | 4927d585ec72cb045a70718423228fa2cf55d071 (patch) | |
tree | 32714efb0c1a3a3aa3a01cadfc7a8ba5a9c784f1 /src/main/java/com/raeids/stratus/mixin/GuiNewChatMixin.java | |
parent | f720ca0a074411be7cbbdc1b9629b14d06e3b26c (diff) | |
download | Chatting-4927d585ec72cb045a70718423228fa2cf55d071.tar.gz Chatting-4927d585ec72cb045a70718423228fa2cf55d071.tar.bz2 Chatting-4927d585ec72cb045a70718423228fa2cf55d071.zip |
new: rewrite chat searching
fix: fix chat tabs / shortcuts not initializing when turning on
Diffstat (limited to 'src/main/java/com/raeids/stratus/mixin/GuiNewChatMixin.java')
-rw-r--r-- | src/main/java/com/raeids/stratus/mixin/GuiNewChatMixin.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/com/raeids/stratus/mixin/GuiNewChatMixin.java b/src/main/java/com/raeids/stratus/mixin/GuiNewChatMixin.java index c831528..8d2602b 100644 --- a/src/main/java/com/raeids/stratus/mixin/GuiNewChatMixin.java +++ b/src/main/java/com/raeids/stratus/mixin/GuiNewChatMixin.java @@ -36,6 +36,7 @@ public abstract class GuiNewChatMixin extends Gui implements GuiNewChatHook { @Shadow @Final private List<ChatLine> drawnChatLines; @SuppressWarnings({"FieldCanBeLocal", "unused"}) private float percentComplete; + private String stratus$previousText = ""; @Shadow public abstract boolean getChatOpen(); @@ -65,6 +66,7 @@ public abstract class GuiNewChatMixin extends Gui implements GuiNewChatHook { @Inject(method = "setChatLine", at = @At("HEAD"), cancellable = true) private void handleSetChatLine(IChatComponent chatComponent, int chatLineId, int updateCounter, boolean displayOnly, CallbackInfo ci) { + ChatSearchingKt.getCache().invalidateAll(); handleChatTabMessage(chatComponent, chatLineId, updateCounter, displayOnly, ci); } @@ -88,7 +90,6 @@ public abstract class GuiNewChatMixin extends Gui implements GuiNewChatHook { : linesToDraw; } - //TODO: fix with betterchat @ModifyArgs(method = "drawChat", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiNewChat;drawRect(IIIII)V"), slice = @Slice(from = @At(value = "INVOKE", target = "Lnet/minecraft/util/MathHelper;clamp_double(DDD)D"), to = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/GlStateManager;enableBlend()V"))) private void captureDrawRect(Args args) { int left = args.get(0); @@ -110,7 +111,7 @@ public abstract class GuiNewChatMixin extends Gui implements GuiNewChatHook { @Redirect(method = "drawChat", at = @At(value = "FIELD", target = "Lnet/minecraft/client/gui/GuiNewChat;drawnChatLines:Ljava/util/List;", opcode = Opcodes.GETFIELD)) private List<ChatLine> injected(GuiNewChat instance) { - return ChatSearchingKt.filterMessages(drawnChatLines); + return ChatSearchingKt.filterMessages(stratus$previousText, drawnChatLines); } @Inject(method = "drawChat", at = @At("RETURN")) @@ -199,4 +200,14 @@ public abstract class GuiNewChatMixin extends Gui implements GuiNewChatHook { } return null; } + + @Override + public String getPrevText() { + return stratus$previousText; + } + + @Override + public void setPrevText(String prevText) { + stratus$previousText = prevText; + } } |