tModLoader

tModLoader

987 ratings
InnoVault
   
Award
Favorite
Favorited
Unfavorite
Mod Features: Library
Mod Side: Both
tModLoader Version: 1.4.4
File Size
Posted
Updated
1.206 MB
27 Sep, 2024 @ 1:38am
4 Oct @ 4:45am
84 Change Notes ( view )

Subscribe to download
InnoVault

In 2 collections by HoCha113
Moder Tools
10 items
Overhaul Journey
17 items
Description
InnoVault is an API Mod that provides developers with essential code support, including basic APIs for UI, Tile Processor, Particle, NBT Save or Load, and more.

For more information, visit the InnoVault GitHub repository [github.com], where you can download the source code for InnoVault.

If you'd like to learn how to use the APIs provided by InnoVault, check out the InnoVault Wiki [github.com], which contains an introduction to the APIs and usage examples.

The InnoVault Example Mod demonstrates how to use InnoVault's APIs, serving as a practical reference for developers. You can extract the full project code for InnoVault Example Mod in-game, or download the source code from the repository: InnoVault Example GitHub repository [github.com].

An English-annotated version is also available for developers who prefer English: InnoVault Example English Annotated Version [github.com].

You can also subscribe to the InnoVault Example Mod on the InnoVault Example Steam Workshop page .
Popular Discussions View All (1)
0
4 Oct @ 10:57pm
1
刘綦鲅玖
103 Comments
aoioiobit 5 Oct @ 3:47am 
sounds good. finally, i can play tmodloader again
HoCha113  [author] 5 Oct @ 3:34am 
@aoioiobit
Yes, I’ll try to fix it. Although I haven’t been able to reproduce the issue on my end, I can use a safer copy-based iteration in the API, which should prevent this kind of collection access conflict. I’ll release a patch for this soon.
aoioiobit 5 Oct @ 1:57am 
tell me if you are trying to fix the problem so i wont feel i get ghosted
aoioiobit 4 Oct @ 11:24pm 
im not sure that is ai right or nah since im not a programmer at all
aoioiobit 4 Oct @ 11:23pm 
It just crashed randomly. The Auto Heal mod, as its name implies, automatically uses a healing potion when my HP gets low enough. ai said "AutoHealMod.AutoHealCode.PostUpdateBuffs() was running. This suggests that the AutoHealMod was performing its function, likely scanning your inventory to find and use a healing potion.

At the same time, InnoVault.GameSystem.PlayerRebuildLoader.CanUseItem() was also running. This shows that the InnoVault mod was checking your items for its own purposes.

The crash occurred because AutoHealMod was likely trying to use (and thus remove) an item from your inventory while InnoVault was actively trying to look at all of the items in that same inventory."
HoCha113  [author] 4 Oct @ 7:20am 
@aoioiobit
How did you trigger this error?
aoioiobit 4 Oct @ 5:03am 
seems like your mod is incompatible with https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=2811781981 . can you fix it?
aoioiobit 4 Oct @ 5:03am 
Unhandled Exception
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.MoveNext()
at InnoVault.GameSystem.PlayerRebuildLoader.CanUseItem(Item item) in InnoVault\GameSystem\PlayerRebuildLoader.cs:line 486
at Terraria.ModLoader.CombinedHooks.CanUseItem(Player player, Item item) in tModLoader\Terraria\ModLoader\CombinedHooks.cs:line 61
at Terraria.Player.QuickHeal_GetItemToUse() in tModLoader\Terraria\Player.cs:line 3915
at AutoHealMod.AutoHealCode.PostUpdateBuffs() in AutoHealMod\AutoHealCode.cs:line 23
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
at System.Threading.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
diamondeyes2004 26 Sep @ 6:48pm 
Does this mod have any conflicts with Fargo's souls? My game keeps despawning the Deviantt boss whenever their AI is on eternity mode. And when I check the log it says that Innovault is the mod that despawned her.
HoCha113  [author] 23 Sep @ 11:33am 
It's fixed, and it can now be loaded with Atherius. The reason was that a certain class in Atherius tried to call the `NewDust` function to spawn particles during the game's loading phase, which triggered InnoVault's Dust Hook that hadn't been loaded yet (possibly to load some special content). But I still have to complain: Why are there always developers trying to call weird things during the loading phase... Shouldn't that kind of stuff be accessed within a world by default? At least wait until `SetupContent` is finished.