aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/raeids/stratus/mixin/GuiNewChatMixin.java
diff options
context:
space:
mode:
authorWyvest <45589059+Wyvest@users.noreply.github.com>2021-12-25 14:13:27 +0700
committerWyvest <45589059+Wyvest@users.noreply.github.com>2021-12-25 14:13:27 +0700
commit4927d585ec72cb045a70718423228fa2cf55d071 (patch)
tree32714efb0c1a3a3aa3a01cadfc7a8ba5a9c784f1 /src/main/java/com/raeids/stratus/mixin/GuiNewChatMixin.java
parentf720ca0a074411be7cbbdc1b9629b14d06e3b26c (diff)
downloadChatting-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.java15
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;
+ }
}