tModLoader

tModLoader

Thorium Bosses Reworked
World Gen Crash with Spirit Mod
Subject: [Bug Report] World Gen Crash / Conflict with Spirit Mod

Hello developer,

I've found that your Thorium Bosses Rework mod causes a fatal crash during world generation when used alongside the Spirit Mod.

The Issue:
The crash occurs late in the world generation process. Specifically, when Spirit Mod runs its "PilesPass" generation step, it seems to trigger a function in your mod's BirdFeederGlobalItem. This code then attempts to get a player instance (GetModPlayer), but since no player exists during world generation, it throws a fatal IndexOutOfRangeException and stops the world from being created.

Error Log:
Here is the relevant part of the log showing the exception:
[03:33:48.539] [.NET TP Worker/WARN] [tML]: Silently Caught Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Terraria.Player.GetModPlayer[T](T baseInstance) in tModLoader\Terraria\Player.TML.cs:line 114 at ThoriumMod.Tiles.BirdFeederGlobalItem.On_WorldGen_KillTile_ShouldDropSeeds(orig_KillTile_ShouldDropSeeds orig, Int32 x, Int32 y) in ThoriumMod\Tiles\BirdFeederTile.cs:line 463 at Hook<System.Boolean ThoriumMod.Tiles.BirdFeederGlobalItem::On_WorldGen_KillTile_ShouldDropSeeds(Terraria.On_WorldGen+orig_KillTile_ShouldDropSeeds,System.Int32,System.Int32)>(Int32 , Int32 ) at SyncProxy<System.Boolean Terraria.WorldGen:KillTile_ShouldDropSeeds(System.Int32, System.Int32)>(Int32 , Int32 ) at Terraria.WorldGen.KillTile_GetItemDrops(Int32 x, Int32 y, Tile tileCache, Int32& dropItem, Int32& dropItemStack, Int32& secondaryItem, Int32& secondaryItemStack, Boolean includeLargeObjectDrops) in tModLoader\Terraria\WorldGen.cs:line 47388 at Terraria.WorldGen.KillTile_DropItems(Int32 x, Int32 y, Tile tileCache, Boolean includeLargeObjectDrops, Boolean includeAllModdedLargeObjectDrops) in tModLoader\Terraria\WorldGen.cs:line 46462 at Terraria.WorldGen.KillTile(Int32 i, Int32 j, Boolean fail, Boolean effectOnly, Boolean noItem) in tModLoader\Terraria\WorldGen.cs:line 46408 at Terraria.TileObject.Place(TileObject toBePlaced) in tModLoader\Terraria\TileObject.cs:line 71 at Terraria.WorldGen.PlaceObject(Int32 x, Int32 y, Int32 type, Boolean mute, Int32 style, Int32 alternate, Int32 random, Int32 direction) in tModLoader\Terraria\WorldGen.cs:line 36439 at SpiritMod.World.SpiritGenPasses.PopulateSpam(GenerationProgress progress) in SpiritMod\World\SpiritGenPasses.cs:line 1415 at SpiritMod.World.SpiritGenPasses.PilesPass(GenerationProgress progress, GameConfiguration config) in SpiritMod\World\SpiritGenPasses.cs:line 1349 at Terraria.WorldBuilding.WorldGenerator.GenerateWorld(GenerationProgress progress) in tModLoader\Terraria\WorldBuilding\WorldGenerator.cs:line 51 ... [03:33:48.542] [.NET TP Worker/ERROR] [tML]: A problem was encountered during world generation Piles System.IndexOutOfRangeException: Index was outside the bounds of the array. at Terraria.Player.GetModPlayer[T](T baseInstance) in tModLoader\Terraria\Player.TML.cs:line 114 at ThoriumMod.Tiles.BirdFeederGlobalItem.On_WorldGen_KillTile_ShouldDropSeeds(orig_KillTile_ShouldDropSeeds orig, Int32 x, Int32 y) in ThoriumMod\Tiles\BirdFeederTile.cs:line 463 ...

Workaround:
I was able to successfully generate a world by temporarily disabling Thorium Bosses Rework. After the world was created, I re-enabled your mod, and everything appears to work correctly. This indicates the conflict is isolated to the world generation phase.

I'm reporting this to help you track down and hopefully fix this incompatibility.

Thanks for your great work on this mod!
< >
Showing 1-1 of 1 comments
N0t_UNowen  [developer] 20 Aug @ 1:19am 
That's really weird since this mod doesn't change world gen at all
< >
Showing 1-1 of 1 comments
Per page: 1530 50