SMAPI - Stardew Modding API

SMAPI - Stardew Modding API

971k Downloads

Key-already-added errors in content manager with Advanced Location Loader

Pathoschild opened this issue ยท 1 comments

commented

When using Advanced Location Loader 1.3 (the version rewritten to use SMAPI's content manager), you occasionally get errors like this:

[21:20:28 ERROR Extended Minecart] Could not patch the Desert due to a unknown error
An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName)
   at StardewValley.LocalizedContentManager.Load[T](String assetName)
   at StardewModdingAPI.Framework.SContentManager.Load[T](String assetName) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\SContentManager.cs:line 170
   at xTile.Display.XnaDisplayDevice.LoadTileSheet(TileSheet tileSheet)
   at xTile.Map.LoadTileSheets(IDisplayDevice displayDevice)
   at Entoarox.ExtendedMinecart.ExtendedMinecart.GameEvents_UpdateTick(Object s, EventArgs e)
[21:20:28 ERROR Console.Out] System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName)
   at StardewValley.LocalizedContentManager.Load[T](String assetName)
   at StardewModdingAPI.Framework.SContentManager.Load[T](String assetName) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\SContentManager.cs:line 170
   at xTile.Display.XnaDisplayDevice.LoadTileSheet(TileSheet tileSheet)
   at xTile.Map.LoadTileSheets(IDisplayDevice displayDevice)
   at StardewValley.Game1.setGraphicsForSeason()
   at StardewValley.Game1.loadForNewGame(Boolean loadedGame)
   at StardewValley.SaveGame.<>c.<getLoadEnumerator>b__51_1()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

See attached error log.

commented

This no longer seems to happen with the latest changes.