Mods / Chest Organizer
Author: Kathanon
Side: Client
Created: Nov 3rd 2024 at 7:46 PM
Last modified: May 27th at 7:04 AM
Downloads: 17948
Follow Unfollow 384
Latest release (for Vintage Story 1.20.4 - 1.20.10, outdated):
ChestOrganizer-1.2.3.zip
1-click install
Note:
Make sure to get the correct version for the version of the game you are running. They are not cross-compatible between 1.19 and 1.20.
Click "Files" to see all available versions.
Features:
- Open several containers in one window. Containers can be added and removed from the window as needed.
- Sort contents of any container window by item id string. This generally gives a categorized sorting. (Sorting by item name is also available.)
- Search items in container window by name and description.
- "Open all containers in range" hotkey. All currently closed containers within reach are opened merged. Note: Can open containers through walls. Default key: R
Any suggestions or bug reports are welcome.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 1.2.3 | chestorganizer | 9592 | Mar 4th at 11:45 AM | ChestOrganizer-1.2.3.zip | 1-click install | ||
|
Fixed "open all" not respecting locked chests. | |||||||
| 1.2.2 | chestorganizer | 483 | Mar 2nd at 7:34 PM | ChestOrganizer-1.2.2.zip | 1-click install | ||
|
Fixed issues with the mod not working properly after exit to menu & loading world again. | |||||||
| 1.2.1 | chestorganizer | 628 | Feb 28th at 9:17 AM | ChestOrganizer-1.2.1.zip | 1-click install | ||
|
Fixed bug that would cause desync between client and server, making items appear duplicated or missing. | |||||||
| 1.2.0 | chestorganizer | 220 | Feb 27th at 7:53 PM | ChestOrganizer-1.2.0.zip | 1-click install | ||
| |||||||
| 1.1.1 | chestorganizer | 658 | Feb 24th at 3:58 PM | ChestOrganizer-1.1.1.zip | 1-click install | ||
|
Fixed bug causing delayed crash after a chest that was open in a merged window was picked up with the Carry On mod. | |||||||
| 1.1.0 | chestorganizer | 824 | Feb 21st at 2:50 AM | ChestOrganizer-1.1.0.zip | 1-click install | ||
| |||||||
| 1.0.3 | chestorganizer | 2909 | Dec 1st 2024 at 11:21 PM | ChestOrganizer-1.0.3.zip | 1-click install | ||
|
Support for 1.20.0-pre.13. Note that this version does not work with earlier versions. | |||||||
| 1.0.2 | chestorganizer | 492 | Nov 17th 2024 at 6:13 PM | ChestOrganizer-1.0.2.zip | 1-click install | ||
|
Support for 1.20.0-pre branch. Not that this version does not work with 1.19.8. | |||||||
| 1.0.1 | chestorganizer | 1630 | Nov 6th 2024 at 11:59 PM | ChestOrganizer-1.0.1.zip | 1-click install | ||
|
Fixed bug causing freeze when sorting chest with stacks of same item with different spoil timers. | |||||||
| 1.0.0 | chestorganizer | 453 | Nov 3rd 2024 at 7:48 PM | Empty | ChestOrganizer-1.0.0.zip | 1-click install | |
I know theres another mod that dose somthing like this (packrat) but this one is better in my opinion due to it's entirely client side nature. I really hope this gets updated soon!
Technical Analysis
The crash occurs specifically when the mod tries to handle a "Merged Inventory." The log shows the failure path:
The code executes
ChestOrganizer.MergedInventory.IncludedInventory.Open(), likely when you opened a chest or when the mod tried to combine container data.It then attempts to trigger a sound via
Vintagestory.Client.NoObf.ClientMain.PlaySound.The game engine crashes because the
System.Threading.ThreadLocalobject required to generate the random pitch for that sound is no longer accessible.Same crash as below
The mod seems to work fine on 1.21 but still could use a update, would be unfortunate if such an amazing and useful mod stopped working one day.
Damn, I need this mod for 1.21
can this please get updated? im tired of the crashing
can someone update the modIs this being updated to 1.21?
Kathanon this is a fantastic mod that has so much potential. As I see the other comments below have stated the issues really begin when used on a server. There needs to be a way for the server owner to adjust the config to only allow the organizer to be used on your own claim. I should not be able to use this to grief others claims or take advantage of it use out side of the players claim. there are plenty of mods that have added configs to protect claims and specific parts of the world. Again this is an amazing mod that help those of us that have no organizational skills in games. Please take a look at what can be done to improve your amazing mod or as PerkCuss stated it needs to be labled like other mods with a #cheat.
This mod ought to be labeled with a #cheat tag. It allows for access of chests that are in a land claim, allowing for theft of supposedly protected items.
please add a config to disable in servers, its an awesome mod but people can just open any chest in range
can mostly confirm, mod still works works for 1.21.1
not tested much but works so far
This needs a config to be disabled in servers, if you can do. People are abusing of it in expeditions and looting all the goods before get to the room itself. The mod is nice, but that function need to be controled by server.
A Ctrl+F keybind while the panel is open would be really nice.
Thanks for this very useful mod. Could we have a config switch to disable the sort button ? This button is very dangerous when opening all chests. I mainly use the search feature, and the sort button is so close to this one that I'm afraid of clicking the wrong one when starting a search. Thanks.
Can I suggest a config to stop the sorting button from sorting the order of my backpacks?
Trying to use Wildcraft: Trees and Shrubs foraging basket but it keeps sorting it to the end and not putting any of the proper items inside 😅
For anyone experiencing crashes when they try to use the open all command, limit yourself to no more that 18 containers within a 20 block radius, this may be tied to system resources I'm not sure.
The open all button doesn't work, what can I do about it?
can u please add command for "freezing" search filter? i use this mod on 256 double chests, it have a loooot lags after every letter on searching, i cant use searching because of that but if there was a command for freezing it before i type full word it would be better Kathanon
Magmabot16 yep, it work good on 1.21
Anyone tested on 1.21 yet? I'm aprehensive to try it because it was already prone to crashing enough in 1.20.12
I love this mod. Is there any way to blacklist specific containers? I can detach it but it just includes it again the next time I open merged.
Running on 64 bit Windows 10.0.26100.0 with 32702 MB RAM
Game Version: v1.20.12 (Stable)
8/22/2025 08:20:51: Critical error occurred in the following mod: chestorganizer@1.2.3
Loaded Mods: abundantstonepaths@1.0.0, aculinaryartillery@1.2.3, aloysiaslocustassembly@1.2.0, apotheosisthings@1.4.0, APR@1.0.0, bastionofcivilisation@1.1.2, bedrespawn@1.1.0, bettercrates@1.8.0-rc.4, bf@0.0.3, irregularguybetterjam@1.0.0, betterloot@1.1.4, bigcooking@0.1.1, blackguardadditions@1.1.7, bola@1.2.2, bradyladder@1.1.0, cairns12recoverablestones@1.2.0, canoemod@1.0.2, Ceramos@0.5.1, ceramoscontentfix@1.0.0, chainsmithingplus@1.0.0, cbr@1.0.0, chiseltools@1.14.21, chocolate@1.0.4, claycasting@1.2.2, composter@1.0.4, containersbundle@1.1.0, copperandgrain@1.0.0, cpxem@1.0.0, craftablecompanion@1.1.2, darcesdriftersredone@1.2.2, ds2468@1.0.0, decopottery@1.0.1, dressedtokill@1.5.0, driedgrasstothatch@1.0.2, driedpeat@1.1.0, dryablegroundstorage@1.0.1, earlybeehivekiln@1.0.1, effectshud@0.2.15, expandedmoldsbalanced@1.0.1, extrachests@1.8.0-rc.1, facop@1.0.0, fernslikegrass@1.2.2, fagothic@1.1.2, fagreenwich@1.2.2, falandsknecht@1.1.2, fatemplar@1.2.2, forlornadditions@1.0.2, free_stone_drops_when_broken@1.0.1, geoaddons@1.4.2, hangingoillamps@1.0.2, harptechfix@1.2.5, blackguardheavyd@1.2.3, hopereignited@1.0.0, icyexc@1.0.0, jackscomposting@1.2.1, JacksFirewood@1.1.0, jacksgrass@1.0.0, liberatedbeds@1.0.0, magellan1k@1.0.2, masonsdelight@1.0.3, millwright@1.2.7, nailsmold@1.0.2, overhaullib@0.2.10, playermodellib@0.0.30, primitivesurvival@3.8.0, propickfix@1.1.1, quicklimepk@1.1.0, rtrullywoods@0.1.24, resmeltableslight@1.1.2, reedlesspacks@1.1.0, repairablelocust@1.4.1, ridetogether@1.0.0, soapandlye@1.2.4, specificclutter@1.0.0, spyglass@0.5.2, tankardsandgoblets@1.1.2, unevenbricks@1.0.0, upgradablecrates@1.0.2, upgradeablelocust@1.0.3, usefulshears@1.0.0, game@1.20.12, vsimgui@1.1.8, wildcultivation@1.1.2, abcsredux@1.0.9, alchemy@1.6.51, apegrapes@1.2.6, attributerenderinglibrary@1.0.3, awearablelight@1.1.31, flags@1.1.9, beastsofmen@0.0.2, beeswaxingot@1.0.1, betteritemflags@0.1.1, betterruins@0.4.15, biggercellars@1.0.1, billposting@1.0.1, blastfurnace@1.0.0, bullseyecontinued@3.0.0, butchering@1.9.1, canbeignited@1.2.0, carryon@1.9.0, cartwrightscaravan@1.6.0, chestorganizer@1.2.3, coinage@1.14.1, combatoverhaul@0.3.9, commonlib@2.6.1, configlib@1.5.3, coreofarts@1.0.0, distillationinfo@1.0.1, entitynametag@1.3.0, expandedfoods@1.7.4, extrainfo@1.9.10, extremefirestarters@0.4.0, fantasycreaturesupdate@0.7.2, farmlanddropswithnutrients@1.2.1, farseer@1.3.1, fastknapping@1.0.0, firewoodtosticks@1.0.0, flowerfarming@1.1.0, foodshelves@2.2.1, forlornheavyarmor@1.1.0, fromgoldencombs@1.8.13, genelib@1.1.5, gggenchem@0.2.0, greenhousebuff@1.2.0, handbookbookmarkbutton@0.1.2, herbarium@1.4.0, hodblocks@1.0.9, immersivetpscamera@1.0.7, interestingoregen@1.2.3, ironbloomfix@1.0.1, jaunt@2.0.0, JustTrapdoors@1.0.2, kilnspreading@1.0.2, krpgenchantment@1.0.1, krpgwands@0.5.0, labeledtrunk@1.0.5, ladder@1.0.2, lichenredux@1.8.3, lizardfolkpm@1.0.2, maketea@0.3.1, maltiezcrossbows@1.2.0, maltiezfirearms@0.14.2, medievalexpansionpatch@1.2.1, medievalweapon@1.2.0, metalpots@1.5.4, metalsupports@1.0.4, metaltongs@1.2.1, mobsradar@2.1.8, morepiles@2.1.12, ndlvillagers@1.5.1, noticeboard@1.1.1, onebedsleeping@2.5.4, oneroof@1.6.0, opdoorpack@0.0.1, petai@3.4.3, pewter@1.2.3, PingMarkers@1.1.1, playerlist@2.1.5, postsandbeams@1.2.0, claywheel@1.1.2, powdermanufacturing@0.0.3, purposefulstorage@1.3.0, realloy@0.7.0, recipeselector@1.0.1, roadworksnoasphalt@2.1.3, rpvoicechat@2.3.19, rustboundmagic@2.5.7, scorelogs@0.0.6, slowtox@2.3.2, smithingplus@1.6.5, soilupgrade@1.20.1, solidirondoor@1.0.1, somethinginthewater@1.2.5, spawnersapi@1.1.3, stonebakeoven@1.1.4, substrate@1.1.2, tailoringforall@1.0.1, tailorsachet@1.0.1, tarmod@1.1.2, tentbagreworked@3.1.1, terraprety@7.0.5, th3dungeon@0.4.3, unbindhotkeys@1.0.1, unconscious@1.12.7, vanity@2.4.2, Verticality@0.3.1, vinconomy@0.4.0, creative@1.20.12, survival@1.20.12, weatherthestorm@1.1.0, woodenfortifications@2.0.9, woodstain@1.2.0, xlib@0.8.16, armory@0.2.4, artofgrowing@0.1.1, autoconfiglib@2.0.5, battletowers@1.0.5, bauxitealuminum@1.1.0, beamtools@1.0.1, bloodisegg@1.1.0, bomarmory@0.0.1, butcheringcompatpatch@1.1.0, coinbelt-keys@0.0.2, draconis@1.0.0, drkslights@3.0.2, drkssling@1.1.5, elkjaunt@1.1.2, entitiesconfiguration@1.0.9, equus@1.1.9, epxandedbloodbread@1.0.5, em@3.2.3, extrafirearms@0.1.91, gardenerz@0.1.4, itemrarity@1.1.5, mapiconspatternsflagsaddon@1.0.0, morearrows@1.0.3, pabrass@1.0.2, paelectrum@1.0.1, pagoldsilver@1.0.2, playercorpse@1.11.1, sandwich@1.2.8, sausages@0.0.8, shearlib@1.1.2, snowshoes@2.0.1, stonepiles@1.1.5, stonequarry@3.4.2, th3dungeontopentrance@0.4.1, vanillavariantsridingequipment@1.0.0, wildcraftfruit@1.4.2, wolftaming@3.0.8, xskills@0.8.19, artsxskills@1.1.0, blackguardadditionscombatoverhaulcompatible@0.1.0, btrustboundpatch@1.0.0, tailorsdelight@1.9.8, trainingweaponsco@1.0.2, wool@1.6.4
Involved Harmony IDs: chestorganizer
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'The ThreadLocal object has been disposed.'.
at System.Threading.ThreadLocal`1.GetValueSlow()
at Vintagestory.Common.GameMain.RandomPitch() in VintagestoryLib\Common\GameMain.cs:line 54
at Vintagestory.Client.NoObf.ClientMain.PlaySound(AssetLocation location, Boolean randomizePitch, Single volume) in VintagestoryLib\Client\Systems\Audio\SoundEngine.cs:line 64
at Vintagestory.Client.NoObf.GuiAPI.PlaySound(AssetLocation soundname, Boolean randomizePitch, Single volume) in VintagestoryLib\Client\API\GuiAPI.cs:line 101
at ChestOrganizer.MergedInventory.IncludedInventory.Open() in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 359
at ChestOrganizer.MergedInventory.AddPart(IncludedInventory part, Boolean open) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 91
at ChestOrganizer.MergedInventory.Add(BlockEntityOpenableContainer container) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 71
at ChestOrganizer.MergedInventory.HandleServerPacket(BlockEntityOpenableContainer container, Int32 id) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 136
at ChestOrganizer.MergedInventory.OnServerPacket(BlockEntityOpenableContainer container, Int32 id) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 47
at Vintagestory.GameContent.BlockEntityOpenableContainer.OnReceivedServerPacket_Patch1(BlockEntityOpenableContainer this, Int32 packetid, Byte[] data)
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandleBlockEntityMessage(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 440
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 161
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 695
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 670
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 8/21/2025 14:03:15, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.20.12.0, time stamp: 0x66470000
Faulting module name: ntdll.dll, version: 10.0.26100.4768, time stamp: 0x95c61958
Exception code: 0xc0000374
Fault offset: 0x000000000011dc45
Faulting process id: 0x7544
Faulting application start time: 0x1dc12b411da7d90
Faulting application path: C:\Users\zatch\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: 2fa9f93b-ec56-4d1b-9498-8e1baf85ca50
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 8/21/2025 09:29:48, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.20.12.0, time stamp: 0x66470000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x7e24
Faulting application start time: 0x1dc129f3b324576
Faulting application path: C:\Users\zatch\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\zatch\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: aac37780-8607-4c4b-aa80-f8fc943fc90b
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 8/21/2025 09:26:32, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.20.12.0, time stamp: 0x66470000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x7918
Faulting application start time: 0x1dc129ec81fe34e
Faulting application path: C:\Users\zatch\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\zatch\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: 4e1769b7-c363-48ab-9e1f-702bb8aa0638
Faulting package full name:
Faulting package-relative application ID: }
interacted with a item from https://news.kalataka.ru/containersbundle
Please update! This is a godsend.
I just had the below crash occur. It seems to be from this mod.
Game Version: v1.20.12 (Stable)
8/18/2025 11:05:31 AM: Critical error occurred in the following mod: chestorganizer@1.2.3
Loaded Mods: aculinaryartillery@1.2.2, allclasses@1.3.5, chiseltools@1.14.21, lanternsarelighters@1.0.0, lessfoliage@1.0.0, manualquenching@1.0.7, millwright@1.2.7, particlesplus@2.3.0, primitivesurvival@3.8.0, prospecttogether@2.0.7, vintageengineering@0.3.13, game@1.20.12, vsimgui@1.1.8, egocaribautomapmarkers@4.0.2, betterfirepit@1.1.6, blocksoverlay@4.4.1, butchering@1.9.2, carryon@1.9.3, cartwrightscaravan@1.6.0, chestorganizer@1.2.3, clayformer@1.0.4, coinage@1.14.1, commonlib@2.6.1, configlib@1.5.3, extrainfo@1.9.10, farseer@1.3.1, freedomunits@1.1.4, fromgoldencombs@1.8.13, globalplayermapmarker@1.2.1, itempickupnotifier@1.7.2, landclaming@1.0.4, mobsradar@2.1.8, blocklogger@1.0.1, pingchat@1.0.1, NubAutoWalker@1.2.1, onebedsleeping@2.5.4, playerlist@2.1.5, rpvoicechat@2.3.19, smithingplus@1.6.5, statushudcont@3.2.7, stepupcontinued@0.0.1, terraprety@7.0.5, todolist@2.2.0, translocatorrelocator@1.0.2, vinconomy@0.4.0, creative@1.20.12, survival@1.20.12, xlib@0.8.16, em@3.2.3, stonequarry@3.4.3, thebasics@5.1.0-rc.2, xskillgilded@1.1.0, xskills@0.8.19, tailorsdelight@1.9.8
Involved Harmony IDs: chestorganizer
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'The ThreadLocal object has been disposed.'.
at System.Threading.ThreadLocal`1.GetValueSlow()
at Vintagestory.Client.NoObf.ClientMain.PlaySoundAt(AssetLocation location, Double x, Double y, Double z, Single volume, Boolean randomizePitch, Single range) in VintagestoryLib\Client\Systems\Audio\SoundEngine.cs:line 139
at ChestOrganizer.MergedInventory.AddPart(IncludedInventory part, Boolean open) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 86
at ChestOrganizer.MergedInventory.Add(BlockEntityOpenableContainer container) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 71
at ChestOrganizer.MergedInventory.OnServerPacket(BlockEntityOpenableContainer container, Int32 id) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 44
at Vintagestory.GameContent.BlockEntityOpenableContainer.OnReceivedServerPacket_Patch1(BlockEntityOpenableContainer this, Int32 packetid, Byte[] data)
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 161
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 695
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 670
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
.
Mod seems to be working well in 1.21.0-rc2 (cant confirm the glider bug)
There is 1 slight issue, the hotkey for opening all containers in range doesn't appear to be initilized at all. Doesn't show up in controls, the default doesn't work, etc
Great mod!
Crashes with a glider in a backpack slot.
Running on 64 bit Windows 10.0.26100.0 with 16085 MB RAM
Game Version: v1.20.12 (Stable)
7/21/2025 9:02:37 PM: Critical error occurred in the following mod: chestorganizer@1.2.3
Loaded Mods: ClaimsRadar@1.1.0, particlesplus@1.2.1, prospecttogether@2.0.3, quickwaypoint@0.0.2, game@1.20.12, chestorganizer@1.2.3, NubAutoWalker@1.1.0, playerlist@2.1.5, creative@1.20.12, survival@1.20.12
System.ArgumentException: Supplied slot is not part of this inventory (backpack-gyUYS6GMp2TOkyXZ9ydg2V47)!
at Vintagestory.API.Common.InventoryBase.DidModifyItemSlot(ItemSlot slot, ItemStack extractedStack) in VintagestoryApi\Common\Inventory\InventoryBase.cs:line 494
at Vintagestory.API.Common.ItemSlot.OnItemSlotModified(ItemStack sinkStack) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 423
at Vintagestory.API.Common.ItemSlot.TryFlipWith(ItemSlot itemSlot) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 253
at ChestOrganizer.Sorter.<Sort>g__Flip|0_1(ItemSlot a, ItemSlot b, <>c__DisplayClass0_0&) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\Sorter.cs:line 72s
at ChestOrganizer.Sorter.Sort(IInventory inventory, IComparer`1 comparer, ICoreClientAPI api, Boolean merge) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\Sorter.cs:line 37
at ChestOrganizer.TitleBarAdditions.Sort() in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\TitleBarAdditions.cs:line 79
at ChestOrganizer.TitleBarAdditions.<>c.<OnMouseUp>b__20_0(Icon icon) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\TitleBarAdditions.cs:line 122
at ChestOrganizer.TitleBarAdditions.CheckMouseHit(Action`1 onHit, Nullable`1 deltaTime) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\TitleBarAdditions.cs:line 149
at ChestOrganizer.TitleBarAdditions.OnMouseUp(MouseEvent args) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\TitleBarAdditions.cs:line 125
at Vintagestory.API.Client.GuiComposer.OnMouseUp(MouseEvent mouse) in VintagestoryApi\Client\UI\GuiComposer.cs:line 451
at Vintagestory.API.Client.GuiDialog.OnMouseUp(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 588
at Vintagestory.Client.NoObf.GuiManager.OnMouseUp(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 412
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1972
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack, Boolean keyup) in VintagestoryLib\Client\HotkeyManager.cs:line 431
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 208
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.NativeWindow.ProcessWindowEvents(Boolean waitForEvents)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 7/18/2025 11:10:33 AM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.20.12.0, time stamp: 0x66470000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x15a0
Faulting application start time: 0x1dbf7f5d07f17c9
Faulting application path: C:\Users\simon\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\simon\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: 409ce299-6b6b-4943-8730-680b885c650b
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 7/18/2025 11:08:20 AM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.20.12.0, time stamp: 0x66470000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x1424
Faulting application start time: 0x1dbf7f5b9c760c7
Faulting application path: C:\Users\simon\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\simon\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: dfe7e7f8-5be1-4bd8-940a-96e95a836203
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 7/13/2025 4:17:49 AM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.20.12.0, time stamp: 0x66470000
Faulting module name: KERNELBASE.dll, version: 10.0.26100.4652, time stamp: 0x730de2a8
Exception code: 0xe0434352
Fault offset: 0x00000000000c7f9a
Faulting process id: 0x59d4
Faulting application start time: 0x1dbf3c30d96abb9
Faulting application path: C:\Users\simon\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 1b3ccd1e-073e-4a6c-a558-44df8441ba43
Faulting package full name:
Faulting package-relative application ID: }
Have you considered coloring different inventories a different background color when merged? Similar to how different bags will have different colors in the inventory (to see what I mean equip a sturdy backpack and a sturdy mining bag and notice how the mining back slots are actually blue). Since I think the max amount of chests you can have open at once is 18 you could just make that many preset colors.
Is there a hotkey to sort the inventory?
Similar to GhostPLKR's error below, the open all in range option will break XSkill's "Strong Back" perk which uses the same hotkey R. Now this may be because XSkills hasn't been updated in a while, but this is how I experienced the error firsthand.
Is there any ability to alter the "Open All In Range" feature? I would either like to reduce the range (so I must be standing much closer to the storage to open it) and/or disable opening through walls.
Title:
ObjectDisposedException when opening merged inventory
Body:
Hi, I’m getting this error when using Chest Organizer on Vintage Story version 1.20.11 with mod version 1.2.3.
The error appears when opening merged inventories, possibly after returning to the game world from the main menu.
Here’s part of the error log:
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'The ThreadLocal object has been disposed.'.
at System.Threading.ThreadLocal`1.GetValueSlow()
at Vintagestory.Common.GameMain.RandomPitch()
at Vintagestory.Client.NoObf.ClientMain.PlaySound()
at ChestOrganizer.MergedInventory.IncludedInventory.Open()
Disabling the mod makes the error go away. Could you please check if this is something that can be fixed? Thanks!
Please add a config to change the hotkey, a lot of other mods use R as the default and I'd like for them to continue using it while making this one something else.
Love this mod. By any chance is it capadible with the Extra Chests Mod?
hello. Great mod. Is it possible to permanently disable one or more chests (so that when pressing R it never opens). I need this function for another mod :)
Kylocard
I'm glad you like it. :)
The intention with the merged view is to be able to use several chests as if they were a single one. Your change suggestion goes directly against that.
I had not considered viewing them as separate inventories, but still in the same window. I may add something like that in the future, with easy moving between chests. I'll think about how that could be done so that it's still user-friendly.
I could add a sort button to the ones that pop up when you hover over a chest on the left, that would sort only that chest. A single button that does that for each merged one would be way to confusing for users - trust me that it would be very confusing to anyone that didn't come up with the idea themselves.
If deposit to existing stacks means to move things in your inventory to a chest where the same item is also present, then I intent to add something like that. I just haven't gotten around to it yet.
Kathanon
Firstly thank you for the mod, it is awesome!
I have bigger chests and inventories, around double the default. This means that each chest has more than one row, about a row and a half, and it makes it difficult to sort through what is in which chest.
I am aware I can split all the views out.
Here is my current inventory, while I can mouse over a chest to see the range it is difficult to do when sorting stuff. https://imgur.com/k30KHTw
Would you be willing to adjust it to something like this? https://imgur.com/xzyrNw3
Additionally, is it possible you could add a sort button that sorts within chests and not between them? e.g. when I click sort it moves all the items into the first chests. I still want them to be organised by chest, it would be great if it sorted within all the chests at once.
EDIT: A deposit to existing stacks would be great.
Pavadigan
ChatGPT is not actually suited for things like that, at least not as more than an example for what could be wrong. The "cause" that it supplied you is actually a good example of what it actually does - throw together a bunch of mentioned concepts in a way that sounds reasonable. That is exactly what ChatGPT is designed to do.
I do not use ThreadLocal directly. PlaySound() does use it, but that is entirely within the game code. I call that function in the same way that the game's container inventory dialog does.
That said, it is actually likely to be a race condition, but one in the game code. That makes it very hard for me to diagnose more precisely. I could try to add a limit to how many open/close sounds it makes at once, that may solve it. I won't be able to determine for certain if it helped, since it occurs randomly.
@kathanon
I ran your crash log through chatgpt and it says you have a race condition, which explains why it crashes.
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'The ThreadLocal object has been disposed.'
Cause:
This mod tries to access a sound or thread-local variable after it has been disposed, especially when opening merged inventories or triggering hotkeys (
OpenAll()orAddRange()functions).This is a race condition or misuse of the client API during GUI or inventory handling. fix the unsafe use of
ThreadLocalandPlaySound()this mod sometimes crashes you when you open chests
Hi Kathanon - I submitted a PR to your repo that overhauls container detection to take into account walls and rooms. Hope it's helpful!
Had some issues I assume were also CarryOn related like Marshlello said. I was moving around some chests in my house and moved about 7-8 of them to another room with CarryOn. Before I did this I was using the open all hotkey to open all the chests in my house. After moving these chests, it seems like the open all key has a MUCH shorter range now, and basically only opens anything in the immediate radius of where I'm standing. I think it is still pulling through walls but since the radius shrunk so much I'm not really able to notice it and access, say, the chests in my cellar from my living room, like I could previously. Closing and relaunching the game didn't solve the problem either. For the record it's also not accessing containers I definitely DIDN'T move (ex. the stuff in my cellar) even though it had been before so it's not like it only broke access to containers I moved with CarryOn, it feels like the radius just shrunk significantly all of a sudden and me moving those chests is the only sort of catalyst I can think of that may have broken it.
I've made a code suggestion on your Github issues, as I believe there is an issue with chest inventories opened through Chest Organizer sometimes not then being closed on the server side, it may depend on specific player actions such as merging or splitting I can't be sure.
The "two versions" issue which TSense mentioned can occur if the player has started a game with mod version 1.1, exited to main menu, changed files to mod version 1.2, then attempted to load the world or any world again. Hopefully uncommon. In upcoming game version 1.21 we will pop up a dialog box warning the player and inviting them to quit and restart.
Access issues in multiplayer, ideally you should check whether a BlockEntity is claimed before adding its inventory to a set of open inventories. In core game code since version 1.20.5 it should be impossible to actually take items in or out of another player's claimed chests, but (a) the claimed chest's contents can still be viewed using the mod, (b) it can appear that items are being moved in or out, i.e. there can be ghost items on the client side if an itemstack movement is actually blocked by the server
Marshlello
I've used it with Carry On without issue, what is the specific problem?
Are you sure you didn't simply forget to clear both hands? I know that happens to me a lot.
TSense
That sounds like you somehow have the game trying to load two versions of the mod at once.
Adnyeus
That is fixed in the latest version.
Hi, I love the mod, especially it's interface (VERY reminiscent of Classic Fallout btw ;) ) but sadly CarryOn doesn't play nicely with it on my world. I'll have to do more testing but right now it's just not playing ball for me and I'll have to use an alternative. Thanks for your hard work though! <3
Worked fine for a while, today I notced the mod disabled itself. Now it throws
24.3.2025 15:41:34 [Error] [chestorganizer] An exception was thrown when trying to load assembly:
24.3.2025 15:41:34 [Error] [chestorganizer] Exception: Assembly with same name is already loaded
at System.Runtime.Loader.AssemblyLoadContext.<LoadFromPath>g____PInvoke|5_0(IntPtr ptrNativeAssemblyBinder, UInt16* ilPath, UInt16* niPath, ObjectHandleOnStack retAssembly)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.ToList()
at Vintagestory.Common.ModContainer.LoadAssembly(ModCompilationContext compilationContext, ModAssemblyLoader loader) in VintagestoryLib\Common\API\ModContainer.cs:line 481
you can litterly take stuff from chest on any server :D
The Open All hotkey works great on single player but on a dedicated server, there seems to be a desync between client and server. Like if I use Open All, add some items, and then walk away, when my friend uses Open All 5 minutes later, he doesn't see the new items. Opening the containers manually or using the sort button appears to force the client to get the latest "version" of what's in the containers.
Crash for no reason?
Running on 64 bit Windows 10.0.22631.0 with 64667 MB RAM
Game Version: v1.20.5-rc.3 (Unstable)
15/03/2025 02:42:31 PM: Critical error occurred in the following mod: chestorganizer@1.2.3
Loaded Mods: allsideshaveresin@1.0.0, ClaimsRadar@1.1.0, particlesplus@1.2.1, quickwaypoint@0.0.2, visibleore@1.0.1, game@1.20.5-rc.3, vsimgui@1.1.7, alloycalculator@1.0.0, chestorganizer@1.2.3, commonlib@2.6.1, daytrader@1.0.5, extrainfo@1.9.7, improvedhandbookrecipes@1.1.3, metalunittooltip@1.0.0, mobsradar@2.1.6, nemi@1.1.0, playerlist@2.1.5, simpleemotemenu@1.1.0, spawnhighlight@1.2.0, statushudcont@3.2.6, stickymousebuttons@1.1.1, versionchecker@1.1.0, creative@1.20.5-rc.3, survival@1.20.5-rc.3, mapwaypointcolors@1.1.2, extraoverlays@1.5.0
Involved Harmony IDs: chestorganizer
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'The ThreadLocal object has been disposed.'.
at System.Threading.ThreadLocal`1.GetValueSlow()
at Vintagestory.Common.GameMain.RandomPitch() in VintagestoryLib\Common\GameMain.cs:line 54
at Vintagestory.Client.NoObf.ClientMain.PlaySoundAt(AssetLocation location, Double x, Double y, Double z, Single volume, Boolean randomizePitch, Single range) in VintagestoryLib\Client\Systems\Audio\SoundEngine.cs:line 139
at ChestOrganizer.MergedInventory.AddPart(IncludedInventory part, Boolean open) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 86
at ChestOrganizer.MergedInventory.Add(BlockEntityOpenableContainer container) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 71
at ChestOrganizer.MergedInventory.HandleServerPacket(BlockEntityOpenableContainer container, Int32 id) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 136
at ChestOrganizer.MergedInventory.OnServerPacket(BlockEntityOpenableContainer container, Int32 id) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 44
at Vintagestory.GameContent.BlockEntityOpenableContainer.OnReceivedServerPacket_Patch1(BlockEntityOpenableContainer this, Int32 packetid, Byte[] data)
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 161
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 695
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 670
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Had a crash when trying to open a vanilla clay storage vessel :
Running on 64 bit Windows 10.0.26100.0 with 16122 MB RAM
Game Version: v1.20.4 (Stable)
14/03/2025 20:15:47: Critical error occurred in the following mod: chestorganizer@1.2.3
Loaded Mods: acorns@0.7.2, aculinaryartillery@1.2.3, BetterGrass@0.0.3, chiseltools@1.14.12, bovinae@0.1.4, cervinae@0.1.3, dinornithidae@1.0.14, elephantidae@1.0.8, felinae@0.2.8, machairodontinae@1.0.23, pantherinae@1.1.23, rhinocerotidae@1.0.16, spheniscidae@1.0.8, viverridae@1.0.2, vombatidae@0.3.1, litbrig@0.7.3, millwright@1.1.8, moreicons@1.1.0, riflemodredux@1.1.2, terraprety@6.0.1, game@1.20.4, vsimgui@1.1.7, zoombuttonreborn@2.0.0, airthermomod@0.1.2, alchemy@1.6.48, animalcages@3.2.2, apegrapes@1.2.6, egocaribautomapmarkers@4.0.1, betterfirepit@1.1.5, betterruins@0.4.7, butchering@1.8.1, carryon@1.8.0-pre.1, chestorganizer@1.2.3, commonlib@2.6.1, composter@1.2.1, configlib@1.5.1, expandedfoods@1.7.4, foodshelves@1.5.3, fromgoldencombs@1.8.11-rc.7, herbarium@1.4.0, hydrateordiedrate@2.0.6, kevinsfurniture@1.6.4, lavoisier@1.3.1, spearexpantion@0.3.1, rockstratavariety@0.0.1, smithingplus@1.3.5, statushudcont@3.2.6, stonebakeoven@1.1.6, vanity@2.4.1, Verticality@0.3.1, creative@1.20.4, vsinstrumentsbase@2.0.1, survival@1.20.4, wildfarmingrevival@1.3.6, alchemistry@1.0.2, tradercamps@1.1.5, gespileslib@1.2.0, helvehammerext@1.7.0, playercorpse@1.11.0, stonequarry@3.4.3, vsinstruments_quackpack@1.0.2, wildcraftfruit@1.3.1, gespilesgran@1.0.1
Involved Harmony IDs: chestorganizer
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'The ThreadLocal object has been disposed.'.
at System.Threading.ThreadLocal`1.GetValueSlow()
at Vintagestory.Common.GameMain.RandomPitch() in VintagestoryLib\Common\GameMain.cs:line 54
at Vintagestory.Client.NoObf.ClientMain.PlaySound(AssetLocation location, Boolean randomizePitch, Single volume) in VintagestoryLib\Client\Systems\Audio\SoundEngine.cs:line 64
at Vintagestory.Client.NoObf.GuiAPI.PlaySound(AssetLocation soundname, Boolean randomizePitch, Single volume) in VintagestoryLib\Client\API\GuiAPI.cs:line 101
at ChestOrganizer.MergedInventory.IncludedInventory.Open() in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 359
at ChestOrganizer.MergedInventory.AddPart(IncludedInventory part, Boolean open) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 91
at ChestOrganizer.MergedInventory.Add(BlockEntityOpenableContainer container) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 71
at ChestOrganizer.MergedInventory.HandleServerPacket(BlockEntityOpenableContainer container, Int32 id) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 136
at ChestOrganizer.MergedInventory.OnServerPacket(BlockEntityOpenableContainer container, Int32 id) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 47
at Vintagestory.GameContent.BlockEntityOpenableContainer.OnReceivedServerPacket_Patch1(BlockEntityOpenableContainer this, Int32 packetid, Byte[] data)
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandleBlockEntityMessage(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 440
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 161
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 695
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 670
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Is there any way to have a "undo" button for sorting? I accidentally pressed it and I had A LOT of chests open. Spent 15+ minutes re-organizing them after that simple button press mistake.
Either that or have a requirement to double-click the button to do the action or just make the space between the buttons bigger
Another problem this mod creates. It prevents me from placing 4 items at once on the ground, using Ctrl+Shift+RMB. I even tried remapping Ctrl and Shift to other keys. I disabled this mod and it works again. It's a shame, because this mod is awesome, otherwise. EDIT: I apologize, I don't think this mod creates the problem, after all. But it would still be nice if it would open player inventory, as well, after pressing R.
I don't see an option for chaning the modifier keys such as shift. It causes incompatibilty with mods that also bind it by default, like carry on. I can simply change the carry on key but it'd be nice to be able to change the keybinds from this mod as well.
Thanks for fixing the locked chest thing, although the mod version doesn't seem to be enforceable from the server side so its still an honor system kind of thing 😅
If I open all bags with R and press Shift+LeftClick on an item (in the chests on the ground), then it won't transfer it to my inventory, unless I manually open my inventory first. Any way to fix this? Or is there a way to automatically open my inventory, as well, when pressing R?
I have also experienced this, but haven't been able to pin it down. Thanks for letting me know you also have had it happen.
When I open a chest for the first time it opens it as the merged interface, but after closing and opening again it opens like vanilla. is this a known issue? I'm playing LAN with this as the only mod
Thank you so much for making this!
esilon
Works for me.
Can you give any more details?
Can you replicate it with only this mod active?
I'll look into it.
When I have the mod activated it does not let me open the deer saddlebag
Version 1.2.3:
Thank you so much for the Open All hotkey, it makes inventory management a million times easier!
All open doesn't respect locked chests!
Thank you Kathanon for adding the all open command...
It's a great help for my style of game play with crap strewen all over the place. 😂
Version 1.2.2:
Thanks DanaCraluminum.
The code you looked at is old (I was working on a branch). In later versions I was at least not applying it multiple times, but I wasn't unloading them.
I've done mostly RimWorld mods before, where the game is always restarted when applying mods.
World reload kills all mod functionality until the game is restarted completely.
You need to unload harmony patches here
Example of how to do it
I just wanted to report the same issue as written below
Sometimes the mod doesn't seem to load correctly. For me I found that the "R" shortcut works, but the buttons in the upper left corner of storages does not work. Reloading the mods doesn't fix it, but a game restart, works.
Bug report here :)
Noticed the same error as Tsukasa, sometimes on launch the mod doesn't seem to load, or at least the merge; (even using the shortcut) and organize options are not present.
Always fixes itself after a game restart (at least in my experience so far, i have been using the mod for more than 80~ish hours on two different worlds [in 1.20.4stable singleplayer] in the past two weeks or so)
Great mod, thank you for your work, wishing you the best and all that :p no but seriously i'm very grateful and do really enjoy your mods :))
Hope that'll help in bug-fixing ^^
Is there a way to save the merge?
The best mod for orginizing, I found some bug if you log out/log back or sometimes even in game the search and orginize button disappear, you have to close complete the client, but the sort and priotity stays, mb because its a separate gui.
Suggest: organize make different perish items to combine, could be really nice to prevent that, thanks for your work
Ryumachinae
You'd think so, but the game works in client-server mode even in single player.
Kathanon Works great! Love this new feature thanks for your hard work. Makes the game more playable.
KathrynAnon
Seems that I'm one step behind... or rather, you're one step ahead!
I was playing single player but there shouldnt ever be desync between "client and server" if therye the same computer??
Version 1.2.1:
Ticrom Catvocation Ryumachinae
That behavior is typical for when there is a desync issue tetween client and server. The items are never duplicated, it's just the client thinking it is.
I'll look into it.
It would help to know if you were playing solo or multiplayer.
Junrall
See my previous comment.
Kathanon
A few days ago I asked about maybe adding the ability to open and merg all nearby chests at once. I guess its a feature already?? I just now realized that I can press R to open all nearby chests within range... and best of all, they open merged!
I'm not sure if this is a vanilla thing or maybe a mod I have that opens all of the chests, but I am very happy for it!
Here to confirm. Any items taken out of chests are just ghost items.
Experiencing the same issue. When I take items from my chests using the "Open all containers in range" feature it shows in the inventory but the game acts as if I never had it. If I toss the items they vanish. But if I grab them out of the chest manually this doesn't happen. Seems to be a bug with the new feature.
Great thank you! Ill test it out.
(Edit): Okay the button works but it has created a VERY serious item dupe bug. with my inventory and a lot of chests open, if I shift click on something in my inventory to put into the merged chest window, it will instead go into my hotbar. and then trying to move it from there into the merge chest will dupe it both inside the merged chest and back into my hotbar. the same behaviour can occur trying to manually hold alt and move something from my hotbar or inventory.
(Edit 2): After disabling this mod, the duped items dissapeared, very interesting. It might just be a visual bug but still makes this very difficult to use.
Version 1.2.0:
Upon popular demand.
I second @Ryumachinae request for an open all inventory containers in x range. It would be a blessing for those like me who (alteast in the early game) have too much junk stored all over the place in little baskets & jars. ;)
Thanks for being a modder and helping the community!
There is not. Others have also asked for that, so I may add it in the future.
I did, however, forget to update the description after changing the sorting, so you may want to read it again now.
I didn't see anything in the description, but is there a kind of "Open all in-range containers" button? Otherwise I find the way this mod sorts items less convenient than sorting it myself
ThatLamer
It should. Depends on how much of the vanilla code they've replaced for their chests.
If you find any that don't work, let me know and I'll see if it would be easy to support.
prototype464
No specific breaking changes, I just haven't tested the newer versions with 1.19.8.
Edit: Sorry, I mixed it up with another mod. There was a breaking change in the game, it won't work.
Does this work with modded storage, such as the upgraded metal chests from QOLcraft? Already blowing my socks off with the search option and it working on player inventory.
Do the 1.20.4 versions work in 1.19.8 or was there a breaking change?
Junrall Not in the short term. I'll keep it in mind for possible future additions, though.
@Kathanon Nice one mate! Cheers
Any plans to add a way to link chests together so that when one opens, they all open? If so, maybe include a proximity check to ensure the player is near the linked chests. You wouldn’t want chests that are several blocks away to open.
Version 1.1.1:
First time was a wooden trunk, happened again later but I wasn't paying attention to what I was doing so I can' provide specifics - it was late, past my bedtime :-)
Nexusdog What kind of container were you opening when this occurred?
Running on 64 bit Windows 10.0.26100.0 with 65252 MB RAM
Game Version: v1.20.4 (Stable)
23/02/2025 00:39:15: Critical error occurred in the following mod: chestorganizer@1.1.0
Loaded Mods: angelbelt@1.6.0, backpackpackpluscontinued@1.0.0, backpackpackplusfg@1.3.0, backpackpackStandardcontinuedSturdy@1.1.0, bagofholding@1.0.8, bettercrates@1.8.0-rc.4, bettersticks@1.2.0, bettertraders@0.0.9, biggerbackpacks@1.1.1, landformoverhaul@1.0.1, craftstones@0.0.1, vichnybackpack@2.1.1, extrachests@1.9.0, FlexibleTools@3.3.1, hangingoillamps@1.0.3, increasedstoragecapacity@0.0.2, jackscomposting@1.2.1, jewelrysilver@1.0.5, juicyores@1.0.0, molds@0.1.7, MoreTorchHolders@1.0.0, mushroom@1.0.2, nomonsters@1.0.3, norustcreatures@0.0.1, oakysodroof@1.0.0, OresAPlenty@3.3.0, primitivesurvival@3.7.5, qolcraft@2.1.2, reallynomonsters@1.2.0, recyclemetalwork@1.0.3, Sergsmetaltongs@2.0.0, SmallWindows@1.2.1, terraprety@6.0.1, usefulshears@1.0.0, velthorianbags@1.0.0, visibleore@1.0.1, game@1.20.4, vsimgui@1.1.7, warmerclothing@1.1.0, AbsoluteProspecting@1.500.02, animalcages@3.0.3, apegrapes@1.2.6, apewindows@1.2.0, egocaribautomapmarkers@4.0.1, awearablelight@1.1.31, bedspawnv2@1.4.0, BetterProspecting@1.3.0, betterruins@0.4.7, carryon@1.8.0-pre.1, chestorganizer@1.1.0, commonlib@2.6.1, configlib@1.5.1, danatweaks@3.4.0, evenstillnecessaries@1.1.3, herbarium@1.4.0, knapster@2.13.2, lootablebloomery@1.0.0, metalfreechests@1.0.0, mobsradar@2.1.6, morebags@1.2.0, nohands@0.1.1, nemi@1.1.0, oneroof@1.8.0, rivers@4.1.0, sc@1.0.0, simpletailoring@1.1.6, slvmegapatch@1.4.0, smithingplus@1.2.5, statushudcont@3.2.6, stepupcontinued@0.0.1, storageoptions@1.0.2, tentbag@2.2.0, th3dungeon@0.4.1, vanillamoremolds@1.1.2, vesselpack@1.0.0, vtpp@1.1.1, creative@1.20.4, survival@1.20.4, vsvillage@1.0.6, warmarmor@1.2.0, webstotwine@1.20.1, xlib@0.8.12, glassmaking@1.4.1, playercorpse@1.11.0, roofrecycling@1.0.2, simplevillages@1.0.1, th3dungeontopentrance@0.4.0, vsvillagedesert@1.0.0, vsvillageindustrial@0.0.4, xinvtweaks@1.6.10, xskills@0.8.12
Involved Harmony IDs: chestorganizer
System.NullReferenceException: Object reference not set to an instance of an object.
at ChestOrganizer.GuiElementBlockList.<.ctor>g__MakeStack|23_0(BlockEntity entity) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\GuiElementBlockList.cs:line 97
at System.Linq.Utilities.<>c__DisplayClass2_0`3.<CombineSelectors>b__0(TSource x)
at System.Linq.Enumerable.SelectListIterator`2.ToList()
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at ChestOrganizer.GuiElementBlockList..ctor(ICoreClientAPI capi, ElementBounds bounds, MergedInventory inventory) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\GuiElementBlockList.cs:line 86
at ChestOrganizer.GuiDialogMergedInventory.Compose() in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\GuiDialogMergedInventory.cs:line 71
at ChestOrganizer.MergedInventory.UpdateDialog(ICoreClientAPI api) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 33
at ChestOrganizer.MergedInventory.AddPart(IncludedInventory part, Boolean open) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 72
at ChestOrganizer.MergedInventory.Add(BlockEntityOpenableContainer container) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 63
at ChestOrganizer.MergedInventory.HandleServerPacket(BlockEntityOpenableContainer container, Int32 id) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 100
at ChestOrganizer.MergedInventory.OnServerPacket(BlockEntityOpenableContainer container, Int32 id) in E:\Programmering\VintageStory\ChestOrganizer\ChestOrganizer\MergedInventory.cs:line 38
at Vintagestory.GameContent.BlockEntityOpenableContainer.OnReceivedServerPacket_Patch1(BlockEntityOpenableContainer this, Int32 packetid, Byte[] data)
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandleBlockEntityMessage(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 436
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 161
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 695
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 670
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Matiamo
There are no keys used except for modifier keys (i.e. shift and ctrl). What is the issue more specifically?
Could it be that you forgot to empty your left hand slot before trying to pick something up? Happens to me all the time. :)
Having an issue when using this with carry on. I can't find a w ay to change keybindings.
Version 1.1.0:
I'm still considering what to do about the request for a way to open all nearby containers.
I've been having some real world issues that have prevented me from doing anything with my mods for a while. I will look into all of the comments that have accrued when that is done with.
I got same issue as AngryOscar... tried to mess with merge option and now there is blue box outline around left part of double chest.
any thoughts on updating this mod? I really really love it. I was thinking a cool adition would be if you hit merge on a chest it would auto open and merge all nearby chests to 1 window. Or a setting to open chests in merge mode by default. Usually I am opening 1 chest hitting merge and then opening all my other chest after that so they just all go to the 1 merge window
theres a blue outline around chests that idk how to get rid of
Could you, please, change sort algorithm from alphavetical to something like from this mod?
yeah, having every opened chest auto merge (even the first one you open) would be awesome since we'd finally have an actual container UI upgrade that has been missing for so long (hate seeing container inventories show up on the far sides)
Otherwise cool mod :)
like for example have a config file that states if automatic merging of every chest is allowed and then have the mod merge every chest you open while opening it, instead of after pressing the merge button. That way even if you open only one chest, it will still show up nicely on the bottom side of the screen.
Just want to say I second the idea of making the merging permanent. Maybe through a block similar to QP's Storage Controller if that makes things easier.
Also, aving an option so that merging is automatic would be awsome as well.
Would it be possible to make it so you can open all of the chest around you in merge mode with a single keypress?
That is actually my next planned feature.
Could you also make it so that we can sort our own inventory? Great mod!
Hm. That requires some thought to make it easy to use. I'll think about it.
Would it be possible to add an option somehow to make the merging... permanent unless I manually unmerge them? Like is there a way to make it so that once I merge the inventories, when I open them again, it always opens all merged inventories?
All in all, absolute game-changer mod and has instantly gone on my "always added" list.
tip: If you open an inventory, then merge it, any inventory you open after that will also be automatically merged.
Love the mod, I've only been using it for the sort feature but finall figured out how to use the merge feature. I like the idea of merging but clicking that small button is gonna be too challenging to do quickly. I think it would be much better to have a hotkey to quickly merge all open containers, that would be a much more smooth experience
Update:
KaZlos: They changed the name of a field in the latest version. I've updated the mod to match.
Mendall That is actually the intended behavior. Using the sort button from my mod on a merged window also sorts between boxes.
Kathanon ok I added your mod and yes it does work with Xandus inventory tweaks and the search function is a godsend.
However, when using them together, there is one thing to watch out for. If you merge several boxes together then sort them using xandus sort, the items will be sorted across boxes, messing up any system you had in place.
So if you have boxes merged, by careful with sorting unless you intend the box contents to be changed.
Game crashes when clicking the merge button
here's the log: PWD: vintage https://privatebin.net/?da446c1a5dc48885#FDJsx8KjSr9Mq3AwYp8TWkWnDBcvEmoEgt93HtD8NsB3
Kathanon thank you, ill give it a try and post in here what I find out. but full disclosure im running over 90 mods now so if it dont work your mod might not be the problem. Never knowing why something is not working is one of the drawbacks of being a mod junky.
Update:
Should work, unless it adds controls in the same place on the title bar. Their features may or may not affect the merged window - depends on how they hook into it.
Why don't you just try and see?
I would love to have some of this mods features, like all boxes in one and a search bar, but can't bring myself to give up the features of xandus inventory tweaks, dose's anyone know if they are compatible.
Ah. I'll update the version. Sorry about that.
Tried to download and install v1.0.2 the 1.20.0-pre but says "Unable to load mod. Requires dependency v1.20.0" Running currently 1.20.0-pre13
Update:
Nice.
I haven't tested in immersive mouse mode, so do let me know if you find anything strange that you think may be unintended.
It is working now. I am not sure why it did not work other than I installed it with the 1 click install link the first time and then downloaded the zip to replace it the second time. Also I have a hunch it might be a glitch becuase I play in immerseive mouse mode and I know most don't. I've experienced mods that work fine but have issues when Immersive is turned on. Who knows
That's strange. Any errors in the log?
Just updated and the interface in the upper corner disapeared. Its just a normal container window
Update:
JimmyMac, GinGerman :
Fixed it. :)
Thanks for the good bug reports.
JimmyMac, GinGerman :
I will look into it.
OakLucy:
If you hover over a chest in the list on the left, then it is highlighted in the world and its slots are marked in the grid.
I can confirm - any 2 stacks of the same parishable item where the 2 stacks have different amounts of freshness or rotting cause the game to crash when you hit the sort contents button.
There has been a crash when sorting containers, the perp being either Wildcraft and its sub-mods OR it is related to two stacks of foodstuffs with different degrees of freshness. It seems to crash the entire thing, freezing the game to the point of it not recovering after ten (!) minutes of waiting. It happened with several containers, both modded and vanilla, where every time I had two stacks of the same item that were split due to one rotting in, say, 3 days while the other would rot in 2.
I am not exactly sure if that is still caused by some mod screwing things up. I can't even tell if it is because the full, max-stack of items was to be "sorted" into the older stack, causing a freeze from the mod trying to calculate what the "new" freshness of the resulting stack/s should be.
I would like the windows to be separated somehow. By color or by rows. Like one container, one color of the windows or one row... I have a hard time knowing what to sort where. :D But otherwise the mod is great. :D
Thank you. :)
his mod is absolute LEAGUES above the other Sortable Storage mod! The merging alone is such a smooth and simple experience, it's crazy how well this works! Good job!