diff options
author | My-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com> | 2021-09-20 20:54:12 -0400 |
---|---|---|
committer | My-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com> | 2021-09-20 20:54:12 -0400 |
commit | 01374abca0a0f7cea77357ccade44ea383812126 (patch) | |
tree | eb7b3d8315dda41c5f116ea3e64527ea16d17a3c /src/main | |
parent | 19b652a10cca306309f46019877cc75c2be3bfd9 (diff) | |
download | SkytilsMod-01374abca0a0f7cea77357ccade44ea383812126.tar.gz SkytilsMod-01374abca0a0f7cea77357ccade44ea383812126.tar.bz2 SkytilsMod-01374abca0a0f7cea77357ccade44ea383812126.zip |
add null checking refresh when chat refresh fails
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( |