-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
We're adding structures into Path of Terraria, many of which formerly included chests, dressers or item frames. None of these are usable, as placing any of them down results in a guaranteed crash. The contents of the chest/slot are irrelevant.
For now, we've had to replace every chest/dresser/item frame with either nothing or an equivalent looking tile, but this sucks and means we cannot add anything to chests dynamically or display items.
Worth noting this only happens on subworlds.
Massive error:
[15:13:44.670] [Main Thread/WARN] [tML]: Silently Caught Exception:
System.InvalidCastException: Unable to cast object of type 'StructureHelper.Models.NbtEntries.StaticChestNBTEntry' to type 'StructureHelper.Models.StructureNBTEntry'.
at StructureHelper.Models.StructureNBTEntry.<>c.<.cctor>b__7_0(TagCompound tag)
at Terraria.ModLoader.IO.TagSerializableSerializer`1.Deserialize(TagCompound tag) in tModLoader\Terraria\ModLoader\IO\TagSerializable.cs:line 53
at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
at System.Linq.Enumerable.SelectListIterator`2.ToList()
at Terraria.ModLoader.IO.TagSerializer`2.DeserializeList(IList value) in tModLoader\Terraria\ModLoader\IO\TagSerializer.cs:line 115
at Terraria.ModLoader.IO.TagIO.Deserialize(Type type, Object tag) in tModLoader\Terraria\ModLoader\IO\TagIO.cs:line 304
at Terraria.ModLoader.IO.TagIO.Deserialize[T](Object tag) in tModLoader\Terraria\ModLoader\IO\TagIO.cs:line 243
at Terraria.ModLoader.IO.TagCompound.TryGet[T](String key, T& value) in tModLoader\Terraria\ModLoader\IO\TagCompound.cs:line 57
at Terraria.ModLoader.IO.TagCompound.Get[T](String key) in tModLoader\Terraria\ModLoader\IO\TagCompound.cs:line 32
at StructureHelper.Models.StructureData.FromStream(BinaryReader reader)
at StructureHelper.API.Generator.GetStructureData(String path, Mod mod, Boolean fullPath)
at StructureHelper.API.Generator.GetStructureDimensions(String path, Mod mod, Boolean fullPath)
at PathOfTerraria.Common.World.Generation.StructureTools.GetSize(String structure, Mod mod) in PathOfTerraria\Common\World\Generation\StructureTools.cs:line 18
at PathOfTerraria.Common.World.Generation.StructureTools.PlaceByOrigin(String structure, Point16 position, Vector2 origin, Mod mod, Boolean cullAbove, Boolean noSync, GenFlags flags) in PathOfTerraria\Common\World\Generation\StructureTools.cs:line 36
at PathOfTerraria.Common.Systems.StructureImprovementSystem.ImprovableStructure.Place() in PathOfTerraria\Common\Systems\StructureImprovementSystem\ImprovableStructure.cs:line 35
at PathOfTerraria.Common.Subworlds.RavencrestContent.RavencrestSystem.RavencrestOneTimeChecks() in PathOfTerraria\Common\Subworlds\RavencrestContent\RavencrestSystem.cs:line 222
at PathOfTerraria.Common.Subworlds.RavencrestContent.RavencrestSystem.PreUpdateTime() in PathOfTerraria\Common\Subworlds\RavencrestContent\RavencrestSystem.cs:line 120
at Terraria.ModLoader.SystemLoader.PreUpdateTime() in tModLoader\Terraria\ModLoader\SystemLoader.cs:line 379
at DMD<DMD<>?37598327::Terraria.Main::DoUpdateInWorld>(Main this, Stopwatch sw)
at SyncProxy<System.Void Terraria.Main:DoUpdateInWorld(System.Diagnostics.Stopwatch)>(Main , Stopwatch )
at DMD<DMD<>?23826719::Terraria.Main::DoUpdate>(Main this, GameTime& gameTime)
at DragonLens.Content.Tools.Gameplay.FastForwardSystem.UpdateExtraTimes(orig_DoUpdate orig, Main self, GameTime& gameTime) in DragonLens\Content\Tools\Gameplay\FastForward.cs:line 93
at Hook<System.Void DragonLens.Content.Tools.Gameplay.FastForwardSystem::UpdateExtraTimes(Terraria.On_Main+orig_DoUpdate,Terraria.Main,Microsoft.Xna.Framework.GameTime&)>(Main , GameTime& )
at PathOfTerraria.Core.Time.TimeSystem.OnDoUpdate(orig_DoUpdate orig, Main main, GameTime& gameTime) in PathOfTerraria\Core\Time\TimeSystem.cs:line 44
at Hook<System.Void PathOfTerraria.Core.Time.TimeSystem::OnDoUpdate(Terraria.On_Main+orig_DoUpdate,Terraria.Main,Microsoft.Xna.Framework.GameTime&)>(Main , GameTime& )
at SyncProxy<System.Void Terraria.Main:DoUpdate(Microsoft.Xna.Framework.GameTime&)>(Main , GameTime& )
at DMD<System.Void Terraria.Main:Update(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
at Hook<System.Void DragonLens.Content.GUI.Tooltip::Reset(Terraria.On_Main+orig_Update,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at PathOfTerraria.Common.Subworlds.BossDomains.Prehardmode.DeerDomain.DeerclopsDomainLightEdits.ResetLightMul(orig_Update orig, Main self, GameTime gameTime)
at Hook<System.Void PathOfTerraria.Common.Subworlds.BossDomains.Prehardmode.DeerDomain.DeerclopsDomainLightEdits::ResetLightMul(Terraria.On_Main+orig_Update,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at PathOfTerraria.Common.Systems.VanillaModifications.AntiDespawnSystem.ForceNoDespawning.EarlyUnsetPlayerFlag(orig_Update orig, Main self, GameTime gameTime)
at Hook<System.Void PathOfTerraria.Common.Systems.VanillaModifications.AntiDespawnSystem.ForceNoDespawning::EarlyUnsetPlayerFlag(Terraria.On_Main+orig_Update,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:Update(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.RunLoop()
at Microsoft.Xna.Framework.Game.Run()
at Terraria.Program.RunGame()
at Terraria.Program.LaunchGame_(Boolean isServer)
at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)
at Terraria.MonoLaunch.Main_End(String[] args)
at Terraria.MonoLaunch.<>c__DisplayClass1_0.<Main>b__1()
[15:13:44.849] [Main Thread/WARN] [tML]: Silently Caught Exception:
System.IO.IOException: NBT Deserialization (type=System.Collections.Generic.List`1[StructureHelper.Models.StructureNBTEntry],entry=object "nbtEntries" [
{
int "x" = 12,
int "y" = 40,
object "contents" [
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
}
],
string "<type>" = "StructureHelper.Models.NbtEntries.StaticChestNBTEntry"
},
{
int "x" = 16,
int "y" = 56,
object "contents" [
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
},
{
string "<type>" = "Terraria.Item"
}
],
string "<type>" = "StructureHelper.Models.NbtEntries.StaticChestNBTEntry"
},
{
int "x" = 17,
int "y" = 55,
string "tileEntityType" = "6",
object "tileEntityData" {
object "item" {
string "mod" = "Terraria",
int "id" = 4283
}
},
string "<type>" = "StructureHelper.Models.NbtEntries.TileEntityNBTEntry"
},
{
int "x" = 28,
int "y" = 49,
string "tileEntityType" = "1",
object "tileEntityData" {
object "item" {
string "mod" = "Terraria",
int "id" = 3517,
object "globalData" [
{
string "mod" = "PathOfTerraria",
string "name" = "GearGlobalItem",
object "data" {
int "socketCount" = 0
}
},
{
string "mod" = "PathOfTerraria",
string "name" = "PoTGlobalItem",
object "data" {
int "type" = 1,
int "rarity" = 0,
int "influence" = 0,
int "implicits" = 0,
string "name" = "Gold Hammer",
int "ItemLevel" = 5,
byte "corrupt" = 0,
byte "cloned" = 0,
object "affixes" []
}
}
]
}
},
string "<type>" = "StructureHelper.Models.NbtEntries.TileEntityNBTEntry"
},
{
int "x" = 38,
int "y" = 39,
string "tileEntityType" = "3",
object "tileEntityData" {},
string "<type>" = "StructureHelper.Models.NbtEntries.TileEntityNBTEntry"
},
{
int "x" = 41,
int "y" = 49,
string "tileEntityType" = "1",
object "tileEntityData" {
object "item" {}
},
string "<type>" = "StructureHelper.Models.NbtEntries.TileEntityNBTEntry"
},
{
int "x" = 50,
int "y" = 54,
string "tileEntityType" = "1",
object "tileEntityData" {
object "item" {}
},
string "<type>" = "StructureHelper.Models.NbtEntries.TileEntityNBTEntry"
}
])
at Terraria.ModLoader.IO.TagCompound.TryGet[T](String key, T& value) in tModLoader\Terraria\ModLoader\IO\TagCompound.cs:line 57
at Terraria.ModLoader.IO.TagCompound.Get[T](String key) in tModLoader\Terraria\ModLoader\IO\TagCompound.cs:line 32
at StructureHelper.Models.StructureData.FromStream(BinaryReader reader)
at StructureHelper.API.Generator.GetStructureData(String path, Mod mod, Boolean fullPath)
at StructureHelper.API.Generator.GetStructureDimensions(String path, Mod mod, Boolean fullPath)
at PathOfTerraria.Common.World.Generation.StructureTools.GetSize(String structure, Mod mod) in PathOfTerraria\Common\World\Generation\StructureTools.cs:line 18
at PathOfTerraria.Common.World.Generation.StructureTools.PlaceByOrigin(String structure, Point16 position, Vector2 origin, Mod mod, Boolean cullAbove, Boolean noSync, GenFlags flags) in PathOfTerraria\Common\World\Generation\StructureTools.cs:line 36
at PathOfTerraria.Common.Systems.StructureImprovementSystem.ImprovableStructure.Place() in PathOfTerraria\Common\Systems\StructureImprovementSystem\ImprovableStructure.cs:line 35
at PathOfTerraria.Common.Subworlds.RavencrestContent.RavencrestSystem.RavencrestOneTimeChecks() in PathOfTerraria\Common\Subworlds\RavencrestContent\RavencrestSystem.cs:line 222
at PathOfTerraria.Common.Subworlds.RavencrestContent.RavencrestSystem.PreUpdateTime() in PathOfTerraria\Common\Subworlds\RavencrestContent\RavencrestSystem.cs:line 120
at Terraria.ModLoader.SystemLoader.PreUpdateTime() in tModLoader\Terraria\ModLoader\SystemLoader.cs:line 379
at DMD<DMD<>?37598327::Terraria.Main::DoUpdateInWorld>(Main this, Stopwatch sw)
at SyncProxy<System.Void Terraria.Main:DoUpdateInWorld(System.Diagnostics.Stopwatch)>(Main , Stopwatch )
at DMD<DMD<>?23826719::Terraria.Main::DoUpdate>(Main this, GameTime& gameTime)
at DragonLens.Content.Tools.Gameplay.FastForwardSystem.UpdateExtraTimes(orig_DoUpdate orig, Main self, GameTime& gameTime) in DragonLens\Content\Tools\Gameplay\FastForward.cs:line 93
at Hook<System.Void DragonLens.Content.Tools.Gameplay.FastForwardSystem::UpdateExtraTimes(Terraria.On_Main+orig_DoUpdate,Terraria.Main,Microsoft.Xna.Framework.GameTime&)>(Main , GameTime& )
at PathOfTerraria.Core.Time.TimeSystem.OnDoUpdate(orig_DoUpdate orig, Main main, GameTime& gameTime) in PathOfTerraria\Core\Time\TimeSystem.cs:line 44
at Hook<System.Void PathOfTerraria.Core.Time.TimeSystem::OnDoUpdate(Terraria.On_Main+orig_DoUpdate,Terraria.Main,Microsoft.Xna.Framework.GameTime&)>(Main , GameTime& )
at SyncProxy<System.Void Terraria.Main:DoUpdate(Microsoft.Xna.Framework.GameTime&)>(Main , GameTime& )
at DMD<System.Void Terraria.Main:Update(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
at Hook<System.Void DragonLens.Content.GUI.Tooltip::Reset(Terraria.On_Main+orig_Update,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at PathOfTerraria.Common.Subworlds.BossDomains.Prehardmode.DeerDomain.DeerclopsDomainLightEdits.ResetLightMul(orig_Update orig, Main self, GameTime gameTime)
at Hook<System.Void PathOfTerraria.Common.Subworlds.BossDomains.Prehardmode.DeerDomain.DeerclopsDomainLightEdits::ResetLightMul(Terraria.On_Main+orig_Update,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at PathOfTerraria.Common.Systems.VanillaModifications.AntiDespawnSystem.ForceNoDespawning.EarlyUnsetPlayerFlag(orig_Update orig, Main self, GameTime gameTime)
at Hook<System.Void PathOfTerraria.Common.Systems.VanillaModifications.AntiDespawnSystem.ForceNoDespawning::EarlyUnsetPlayerFlag(Terraria.On_Main+orig_Update,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:Update(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.RunLoop()
at Microsoft.Xna.Framework.Game.Run()
at Terraria.Program.RunGame()
at Terraria.Program.LaunchGame_(Boolean isServer)
at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)
at Terraria.MonoLaunch.Main_End(String[] args)
at Terraria.MonoLaunch.<>c__DisplayClass1_0.<Main>b__1()
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels