aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/skytils/skytilsmod/mixins/transformers/accessors/AccessorGuiNewChat.java5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt13
2 files changed, 17 insertions, 1 deletions
diff --git a/src/main/java/skytils/skytilsmod/mixins/transformers/accessors/AccessorGuiNewChat.java b/src/main/java/skytils/skytilsmod/mixins/transformers/accessors/AccessorGuiNewChat.java
index 2be0dbd8..4a64215b 100644
--- a/src/main/java/skytils/skytilsmod/mixins/transformers/accessors/AccessorGuiNewChat.java
+++ b/src/main/java/skytils/skytilsmod/mixins/transformers/accessors/AccessorGuiNewChat.java
@@ -20,8 +20,10 @@ package skytils.skytilsmod.mixins.transformers.accessors;
import net.minecraft.client.gui.ChatLine;
import net.minecraft.client.gui.GuiNewChat;
+import net.minecraft.util.IChatComponent;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
+import org.spongepowered.asm.mixin.gen.Invoker;
import java.util.List;
@@ -35,4 +37,7 @@ public interface AccessorGuiNewChat {
@Accessor
int getScrollPos();
+
+ @Invoker
+ void invokeSetChatLine(IChatComponent chatComponent, int chatLineId, int updateCounter, boolean displayOnly);
}
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt
index 4a1c13a5..7791c849 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt
@@ -89,10 +89,21 @@ object ChatTabs {
}?.let {
selectedTab = it.key
runCatching {
- mc.ingameGUI.chatGUI.refreshChat()
+ chat.refreshChat()
}.onFailure { e ->
e.printStackTrace()
UChat.chat("§cSkytils ran into an error while refreshing chat tabs. Please send your logs on our Discord server at discord.gg/skytils!")
+ chat.drawnChatLines.clear()
+ chat.resetScroll()
+ for (line in chat.chatLines.asReversed()) {
+ if (line?.chatComponent == null) println("Null line found.")
+ chat.invokeSetChatLine(
+ line.chatComponent ?: continue,
+ line.chatLineID,
+ line.updatedCounter,
+ true
+ )
+ }
}
if (Skytils.config.autoSwitchChatChannel) {
Skytils.sendMessageQueue.addFirst(