tModLoader Bags of Holding

Is there a way to add a max stack size to the bags? I like the idea to have different bags depending on the item type but kinda feel like it is to overpowered with holding nearly limitsless amounts
 
There is a bag that stores chunks. What are considered chunks? This bag is not listed on the first page of this mod with the other bags, therefore no further description is to be found.
 
As mentioned before, when fishing up items they go into the inventory and not the bag of holding. I have it equiped to vanity and the config file is set to check for vanity. All other bags are working properly, and if I throw them on the ground they pick up to the bag. Does anyone know of a way to get this to work?

Edit: I've also noticed that the mod seems to cause a lot of lag especially in multiplayer. My guess is that the game keeps trying to send a bunch of info to and from the server about what is in the player's inventory. Is there anything I can do with config files to try and remedy this?

Edit 2: Nevermind on the lag. That was just Steam acting up, eating tons more CPU than it should for no apparent reason.

Edit 3: Fixed the steam thing, the lag persisted until I turned off the mod. It only seems to cause lag in multiplayer. My guess is that it has something to do with the enormous stack size set aside for the bags of holding. I love the idea of this mod though!
 
Last edited:
I have got a weird bug.
It happens when i move an omni bag or nature bag in and out of the hotbar in multiplayer only.
It doesn't happen with basic bags.

Object synchronization method was called from an unsynchronized block of code.
at Terraria.IO.Preferences.Save(Boolean createFile)
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.loadBagInfoFromConfig() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 715
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.basestSeupItemList() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 80
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.setupItemList() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 63
at JPANsBagsOfHoldingMod.Items.NatureBag.setupItemList() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\NatureBag.cs:line 60
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.SetDefaults() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 59
at JPANsBagsOfHoldingMod.Items.NatureBag.SetDefaults() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\NatureBag.cs:line 53
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.Clone() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 536
at Terraria.ModLoader.ModItem.NewInstance(Item itemClone)
at Terraria.ModLoader.ModItem.Clone(Item item)
at Terraria.Item.Clone()
at Terraria.Player.clientClone()
at Terraria.Main.DoUpdate(GameTime gameTime)
at Terraria.Main.Update(GameTime gameTime)

I'm playing with tmodloader version 0.10.1.5
 
Can confirm this is a bug when running a tModLoader server through the provided tModLoaderServer.exe
hastebin
Omnibags innaccessible on multiplayer servers · Issue #1 · JPANv2/BagsOfHolding

EDIT: Does not work on Host & Play, either.

I am also getting this error and it's preventing me from using the omni bag when playing with others. I would like to note though that it seems to be a file read/access conflict as other players on the server can use the omni bag fine. (Since their terraria instance isn't trying to access the same files as the server)
Somewhere in digging through the logs I found a line that stated that the error occured because the file %userprofile%\Documents\My Games\Terraria\ModLoader\Mod Configs\JPANsBagsOfHolding\Bags\OmniBag.json was already open by another process. I'm having trouble finding that line again, but what I'm seeing with crashes lines up with this being a file access issue.


As mentioned before, when fishing up items they go into the inventory and not the bag of holding. I have it equiped to vanity and the config file is set to check for vanity. All other bags are working properly, and if I throw them on the ground they pick up to the bag. Does anyone know of a way to get this to work?

Edit: I've also noticed that the mod seems to cause a lot of lag especially in multiplayer. My guess is that the game keeps trying to send a bunch of info to and from the server about what is in the player's inventory. Is there anything I can do with config files to try and remedy this?

Edit 2: Nevermind on the lag. That was just Steam acting up, eating tons more CPU than it should for no apparent reason.

Edit 3: Fixed the steam thing, the lag persisted until I turned off the mod. It only seems to cause lag in multiplayer. My guess is that it has something to do with the enormous stack size set aside for the bags of holding. I love the idea of this mod though!

I have got a weird bug.
It happens when i move an omni bag or nature bag in and out of the hotbar in multiplayer only.
It doesn't happen with basic bags.

Object synchronization method was called from an unsynchronized block of code.
at Terraria.IO.Preferences.Save(Boolean createFile)
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.loadBagInfoFromConfig() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 715
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.basestSeupItemList() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 80
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.setupItemList() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 63
at JPANsBagsOfHoldingMod.Items.NatureBag.setupItemList() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\NatureBag.cs:line 60
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.SetDefaults() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 59
at JPANsBagsOfHoldingMod.Items.NatureBag.SetDefaults() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\NatureBag.cs:line 53
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.Clone() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 536
at Terraria.ModLoader.ModItem.NewInstance(Item itemClone)
at Terraria.ModLoader.ModItem.Clone(Item item)
at Terraria.Item.Clone()
at Terraria.Player.clientClone()
at Terraria.Main.DoUpdate(GameTime gameTime)
at Terraria.Main.Update(GameTime gameTime)

I'm playing with tmodloader version 0.10.1.5

All the above are caused by the same error: Omnibags never knew when to stop reading the files because their order array (that determines the items that can be picked up) was always empty, and when order is empty, the program tries to read (and write afterwards) the config file. This caused lag every time the bag was re-instanciated, and in multiplayer case, crashes. Should be fixed for the majority use case (I tried it out in a heavy-modded scenario in Host&Play, and the results were still 40 FPS, my FPS cap). If the problem presists, report back either here or on the Issues that are still open


This is a mod that everyone needs if they have space issues in their inventory. Definitely.

Thing is, at the moment, with tModLoader and this mod fully up to date, I keep getting amazing amounts of errors. Here's something from the log.

Silently Caught Exception: Object must implement IConvertible. at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) at Terraria.ModLoader.ModCompile.<>c.<ActivateExceptionReporting>b__15_0(Object sender, FirstChanceExceptionEventArgs exceptionArgs)
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at System.Convert.ChangeType(Object value, Type conversionType)
at Terraria.IO.Preferences.Get[T](String name, T defaultValue)
at JPANsBagsOfHoldingMod.BagsOfHoldingMod.getStringListFromConfig(Preferences configuration, String tokenID) in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\BagsOfHoldingMod.cs:line 541
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.loadBagInfoFromConfig() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 710
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.basestSeupItemList() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 80
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.setupItemList() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 63
at JPANsBagsOfHoldingMod.Items.OmniBag.setupItemList() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\OmniBag.cs:line 58
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.SetDefaults() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 59
at JPANsBagsOfHoldingMod.Items.OmniBag.SetDefaults() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\OmniBag.cs:line 51
at JPANsBagsOfHoldingMod.Items.GenericHoldingBag.Clone() in d:\Users\JPAN\Documents\My Games\Terraria\ModLoader\Mod Sources\JPANsBagsOfHoldingMod\Items\GenericHoldingBag.cs:line 536
at Terraria.ModLoader.ModItem.NewInstance(Item itemClone)
at Terraria.ModLoader.ModItem.Clone(Item item)
at Terraria.Item.Clone()
at MouseHover_Patch0(Item[] inv, Int32 context, Int32 slot)
at Terraria.Main.DrawInventory()
at Terraria.Main.DrawInterface_27_Inventory()
at Terraria.Main.<SetupDrawInterfaceLayers>b__1623_23()
at Terraria.UI.LegacyGameInterfaceLayer.DrawSelf()
at Terraria.UI.GameInterfaceLayer.Draw()
at Terraria.Main.DrawInterface(GameTime gameTime)
at Terraria.Main.do_Draw(GameTime gameTime)
at Terraria.Main.DoDraw(GameTime gameTime)
at Terraria.Main.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)
at Terraria.WindowsLaunch.Main(String[] args)

This is a harder bug to squash, as it happens randomly even to me every once in a while, with certain players. I know what is "causing" it (I'm reading the Config.json in an Atypical manner because the normal way wasn't working), but the fix is trying a new way of reading the config with every version of TModloader, hoping the normal reading is fixed in my PC. No ETA on this one.

V 1.4.1 Released
- Collective bags now use Order as well, if you want (part of the reason why is to fix the bug mentioned below)
- Fixed issues 1 and 2 in the tracker (will remain open until feedback can be received)
 
How exactly do I add items? I tried borrowing the format from other mods in the WoodBag config .json to add an Ancients Awakened wood type, it didn't work. xP


"SacredTools:FlameWood",
"AncientsAwakened:OroborosWood",
"AncientsAwakened:Bogwood",
"AncientsAwakened:Razewood"

I see that it picks up Tremor's Glacier Wood, but it won't accept the AA Woods.
 
How exactly do I add items? I tried borrowing the format from other mods in the WoodBag config .json to add an Ancients Awakened wood type, it didn't work. xP


"SacredTools:FlameWood",
"AncientsAwakened:OroborosWood",
"AncientsAwakened:Bogwood",
"AncientsAwakened:Razewood"

I see that it picks up Tremor's Glacier Wood, but it won't accept the AA Woods.
The Json format, as far as I can tell, is correct. Have you checked if the mod is truly called "AncientsAwakened" in the ModID? It could be "AAMod" (name of the Mod class). It should show with "What mod is this from", but if not, use the config option <"displayTagOnTooltip": true>in Bags of holding config main.json, and check the item's tooltip.
 
The Json format, as far as I can tell, is correct. Have you checked if the mod is truly called "AncientsAwakened" in the ModID? It could be "AAMod" (name of the Mod class). It should show with "What mod is this from", but if not, use the config option <"displayTagOnTooltip": true>in Bags of holding config main.json, and check the item's tooltip.
What Mod Is This From displays intended names. So while the mod was intended to be called "Ancients Awakened" it named it so, while it's tag is "AAMod", or "The Enigma Mod" actually being called "Laugicality"

I have changed the options to true, and saw it was "AAMod" and after giving the game a restart, it now works. Thanks! :D
 
Would it be possible to have the Coin Bag function like the piggy bank in that you can buy things while the coins are still stored in the bag?
 
Jpan, i made 3 new bags for myself, but i , like , added them in your mod (extracted it). can you help me ...errrmmm... make my mod independent from yours? i mean dependent, but separate.

my discord id "Darth Nihilus#4649"
 
I updated this mod for tmod v0.11.6.1, even though apparently it still worked. But better safe than sorry.
 
можно добавить функцию "взять все из сундука"? очень поможет при переезде
перемещение. Извиняюсь за ошибки, просто не знаю много английского и говорю через переводчик через гугл.

PS - в том числе из магического хранилища
 
Last edited:
другой момент, я только что установил мод Thorium и обнаружил, что предметы из этого модо не могут попасть в сумки
 
Did something change in the mod recently? I seem to be losing lots of items in my Omni bag
 
I like this mod, but maybe you should change the recipes. Ex. Wood Bag requires different types of wood, 2nd tier bags take Crimtane/Demonite so you can't get them right away.
 
I couldn't find a GitHub page, but had a feature request:

Could you prevent true omni bags from picking up imkSushi's tokens? Or add a config option for it?

I'm manually adding them to the blacklist, but just wanted to ask

And could you do the same for banners? (Calamity & Thorium come to mind form mod support)
 
Last edited:
some of the bags won't let me equipt them
 
Came back to terraria only to discover best mod of them all is not being developed anymore :(
 
Highly underrated mod. I sorely miss it! By any chance, is there any way to incentivize porting this over to the latest version?
 
Back
Top Bottom