diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/skytils/skytilsmod/mixins/transformers/accessors/AccessorGuiNewChat.java | 5 | ||||
-rw-r--r-- | src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt | 13 |
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( |