Slay the Spire

Slay the Spire

Steam Multiplayer - Together in Spire
Crash on First Room Selection (Full log included)
Was playing with the boardgame mod with this multiplayer mod and experiences an inconsistent but fairly frequent crash when going into certain battle rooms, especially the first room.

```
20:32:17.880 INFO saveAndContinue.SaveFile> Next Room: com.megacrit.cardcrawl.rooms.MonsterRoom
20:32:17.883 INFO spireTogether.SpireTogetherMod> Enqueue: qsize=0 file=multiplayer/saves/-1114936359432314162.tis
20:32:17.884 INFO neow.BGNeowEvent> Disposing Neow asset.
20:32:17.885 INFO spireTogether.SpireTogetherMod> Client: Set room action counter to 0
20:32:17.885 INFO spireTogether.SpireTogetherMod> Client: Entering a room at i0[3, 0, BGExordium; 0].
20:32:17.886 INFO dungeons.AbstractDungeon> MONSTER: BoardGame:2 Louse
20:32:17.891 INFO BoardGame.BoardGame> BGGreenLouse: behavior 21W
20:32:17.904 INFO spireTogether.SpireTogetherMod> Client: No room cache or room generator, asking server for permission to generate a room.
20:32:17.904 INFO spireTogether.SpireTogetherMod> Client: Got room gen data request from 0. Current generator is: null
20:32:17.904 INFO spireTogether.SpireTogetherMod> Client: Got OK to generate room. Checking if cache exists
20:32:17.904 INFO spireTogether.SpireTogetherMod> Client: Could not find data to load. Room status at i0[3, 0, BGExordium; 0] for action 0 is now GENERATE.
20:32:17.908 INFO spireTogether.SpireTogetherMod> Client: Generating room for: i0[3, 0, BGExordium; 0]
20:32:17.909 INFO core.CardCrawlGame> Exception occurred in CardCrawlGame render method!
20:32:17.910 ERROR core.CardCrawlGame> Exception caught
java.lang.NullPointerException: null
at spireTogether.patches.monsters.MonsterFieldPatches$MonsterFieldPatcher$uniqueID_765_Accessor.set(MonsterFieldPatches$MonsterFieldPatcher$uniqueID_765_Accessor.java) ~[?:?]
at spireTogether.network.objects.entities.NetworkMonster.ToStandard(NetworkMonster.java:88) ~[TogetherInSpire.jar:?]
at spireTogether.network.objects.entities.NetworkMonster.ToStandard(NetworkMonster.java:24) ~[TogetherInSpire.jar:?]
at spireTogether.network.objects.NetworkClassObject.CopyValues(NetworkClassObject.java:248) ~[TogetherInSpire.jar:?]
at spireTogether.network.objects.entities.NetworkMonster.Generate(NetworkMonster.java:50) ~[TogetherInSpire.jar:?]
at spireTogether.network.objects.rooms.NetworkRoom.<init>(NetworkRoom.java:71) ~[TogetherInSpire.jar:?]
at spireTogether.network.objects.rooms.NetworkRoom.Generate(NetworkRoom.java:53) ~[TogetherInSpire.jar:?]
at spireTogether.patches.network.RoomEntryPatch.GenerateRoomAndUpdateServer(RoomEntryPatch.java:219) ~[TogetherInSpire.jar:?]
at spireTogether.patches.network.RoomEntryPatch.AllowRoomGeneration(RoomEntryPatch.java:204) ~[TogetherInSpire.jar:?]
at spireTogether.network.P2P.P2PMessageAnalyzer.AnalyzeServerRequest(P2PMessageAnalyzer.java:1452) ~[TogetherInSpire.jar:?]
at spireTogether.network.P2P.P2PMessageAnalyzer.AnalyzeMessage(P2PMessageAnalyzer.java:142) ~[TogetherInSpire.jar:?]
at spireTogether.network.PF.PFServer.SendMessage(PFServer.java:161) ~[TogetherInSpire.jar:?]
at spireTogether.network.P2P.P2PManager.SendDataToServer(P2PManager.java:178) ~[TogetherInSpire.jar:?]
at spireTogether.network.P2P.P2PMessageSender.Send_RequestRoomGenData(P2PMessageSender.java:514) ~[TogetherInSpire.jar:?]
at spireTogether.patches.network.RoomEntryPatch.ProcessRoomEntry(RoomEntryPatch.java:151) ~[TogetherInSpire.jar:?]
at spireTogether.patches.network.RoomEntryPatch$PostRoomGenerationPatch.Postfix(RoomEntryPatch.java:182) ~[TogetherInSpire.jar:?]
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.nextRoomTransition(AbstractDungeon.java:2308) ~[?:?]
at BoardGame.dungeons.AbstractBGDungeon.nextRoomTransition(AbstractBGDungeon.java:696) ~[BoardGame.jar:?]
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.nextRoomTransition(AbstractDungeon.java:2119) ~[?:?]
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.updateFading(AbstractDungeon.java:2848) ~[?:?]
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.update(AbstractDungeon.java:2517) ~[?:?]
at com.megacrit.cardcrawl.core.CardCrawlGame.update(CardCrawlGame.java:876) ~[?:?]
at com.megacrit.cardcrawl.core.CardCrawlGame.render(CardCrawlGame.java:423) [?:?]
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225) [?:?]
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126) [?:?]
Controllers: removed manager for application, 0 managers active
20:32:17.913 INFO core.CardCrawlGame> PAUSE()
20:32:17.913 INFO core.CardCrawlGame> Game shutting down...
20:32:17.913 INFO core.CardCrawlGame> Flushing saves to disk...
20:32:17.913 INFO core.CardCrawlGame> Shutting down controller handler...
20:32:17.914 INFO core.CardCrawlGame> Shutting down publisher integrations...
20:32:17.916 INFO helpers.File> Failed to validate source=F:\Program Files\SteamLibrary\steamapps\common\SlayTheSpire\multiplayer\saves\-1114936359432314162.tis, retrying...
java.nio.channels.ClosedByInterruptException: null
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202) ~[?:1.8.0_144]
at sun.nio.ch.FileChannelImpl.size(FileChannelImpl.java:315) ~[?:1.8.0_144]
at java.nio.file.Files.readAllBytes(Files.java:3154) ~[?:1.8.0_144]
at com.megacrit.cardcrawl.helpers.File.validateWrite(File.java:140) ~[desktop-1.0.jar:?]
at com.megacrit.cardcrawl.helpers.File.writeAndValidate(File.java:174) [desktop-1.0.jar:?]
at com.megacrit.cardcrawl.helpers.File.save(File.java:63) [desktop-1.0.jar:?]
at com.megacrit.cardcrawl.helpers.FileSaver.consume(FileSaver.java:42) [desktop-1.0.jar:?]
at com.megacrit.cardcrawl.helpers.FileSaver.run(FileSaver.java:25) [desktop-1.0.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
20:32:17.916 INFO core.CardCrawlGame> Flushing logs to disk. Clean shutdown successful.
20:32:17.918 INFO helpers.File> java.lang.InterruptedException: sleep interrupted

Game crashed.
Version Info:
- Java version (1.8.0_144)
- Slay the Spire (12-18-2022)
- ModTheSpire (3.30.3)
Mod list:
- basemod (5.54.1)
- stslib (2.11.0)
- BoardGame (0.3.0)
- spireTogether (6.4.15)

Mods in stacktrace:
- BoardGame (0.3.0)
- spireTogether (6.4.15)
Cause:
java.lang.NullPointerException
at spireTogether.patches.monsters.MonsterFieldPatches$MonsterFieldPatcher$uniqueID_765_Accessor.set(MonsterFieldPatches$MonsterFieldPatcher$uniqueID_765_Accessor.java)
at spireTogether.network.objects.entities.NetworkMonster.ToStandard(NetworkMonster.java:88)
at spireTogether.network.objects.entities.NetworkMonster.ToStandard(NetworkMonster.java:24)
at spireTogether.network.objects.NetworkClassObject.CopyValues(NetworkClassObject.java:248)
at spireTogether.network.objects.entities.NetworkMonster.Generate(NetworkMonster.java:50)
at spireTogether.network.objects.rooms.NetworkRoom.<init>(NetworkRoom.java:71)
at spireTogether.network.objects.rooms.NetworkRoom.Generate(NetworkRoom.java:53)
at spireTogether.patches.network.RoomEntryPatch.GenerateRoomAndUpdateServer(RoomEntryPatch.java:219)
at spireTogether.patches.network.RoomEntryPatch.AllowRoomGeneration(RoomEntryPatch.java:204)
at spireTogether.network.P2P.P2PMessageAnalyzer.AnalyzeServerRequest(P2PMessageAnalyzer.java:1452)
at spireTogether.network.P2P.P2PMessageAnalyzer.AnalyzeMessage(P2PMessageAnalyzer.java:142)
at spireTogether.network.PF.PFServer.SendMessage(PFServer.java:161)
at spireTogether.network.P2P.P2PManager.SendDataToServer(P2PManager.java:178)
at spireTogether.network.P2P.P2PMessageSender.Send_RequestRoomGenData(P2PMessageSender.java:514)
at spireTogether.patches.network.RoomEntryPatch.ProcessRoomEntry(RoomEntryPatch.java:151)
at spireTogether.patches.network.RoomEntryPatch$PostRoomGenerationPatch.Postfix(RoomEntryPatch.java:182)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.nextRoomTransition(AbstractDungeon.java:2308)
at BoardGame.dungeons.AbstractBGDungeon.nextRoomTransition(AbstractBGDungeon.java:696)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.nextRoomTransition(AbstractDungeon.java:2119)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.updateFading(AbstractDungeon.java:2848)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.update(AbstractDungeon.java:2517)
at com.megacrit.cardcrawl.core.CardCrawlGame.update(CardCrawlGame.java:876)
at com.megacrit.cardcrawl.core.CardCrawlGame.render(CardCrawlGame.java:423)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
```