Mods / Sortable Storage

Category: #Storage #Tweak
Author: SpearAndFang
Side: Both
Created: Apr 4th 2022 at 3:31 AM
Last modified: Nov 10th at 4:07 PM
Downloads: 20916
Follow Unfollow 258

Latest file for v1.19.0-pre: 1-click install

Put vanilla chests, labeled chests, trunks, baskets, and storage vessels back into the crafting grid to convert them into a sortable version of themselves.  The sortable version has a sort button (upper right) which will sort that inventory by display name, and merge similar stacks.  See the screen shot above for clarification. Includes Carry On and Extra Chests and Deep Storage Device and Carry Capacity support!

Heads up: You can only convert one regular chest into its sortable variant at a time, because two or more chests in one crafting grid stack references the vanilla trunk recipe.  Also, you can remove the sort functionality by simply putting that storage container back in the crafting grid.

Note:  This mod was only ever intended for "casual clickers" like myself.  If you're looking for a feature rich inventory management/sorting system, please check out Xandu's incredible Inventory Tweaks mod.

Italian translation courtesy of Yota!
Japanese translation courtesy of Macoto Hino!
Ukrainian translation courtesy of CakesTwix!

If you like this mod, please consider checking out the other mods under my purview! Click on an image below.

Buzzwords Millwright Primitive Survival Translocator Engineering Redux Wild Farming Revival Zoom Button

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v2.2.1 783 Nov 10th at 4:07 PM Show Install now
v2.2.0 462 Oct 30th at 4:10 AM Show Install now
v2.1.0 3672 Sep 8th at 2:12 PM Show Install now
v2.0.0 167 Sep 7th at 1:54 PM Show Install now
v1.9.0 2741 Jul 9th at 4:35 PM Show Install now
v1.8.0 2637 Mar 18th at 10:00 PM Show Install now
v1.7.0 508 Feb 25th at 6:44 PM Show Install now
v1.6.0 3175 Oct 23rd 2022 at 2:57 PM Show Install now
v1.5.0 1495 Aug 13th 2022 at 5:55 PM Show Install now
v1.4.0 485 Jul 19th 2022 at 3:53 AM Show Install now
v1.3.0 233 Jul 15th 2022 at 2:01 AM Show Install now
v1.2.0 240 Jul 5th 2022 at 11:47 PM Show Install now
v1.1.0 222 Jul 2nd 2022 at 5:16 AM Show Install now
v1.0.3 1812 Jun 12th 2022 at 9:11 PM Show Install now
v1.0.2 1116 Apr 25th 2022 at 2:01 AM Show Install now
v1.0.1 849 Apr 10th 2022 at 12:29 AM Show Install now
v1.0.0 319 Apr 4th 2022 at 3:45 AM Show Install now

35 Comments (oldest first | newest first)

💬 Ery, Oct 31st at 10:21 PM

ah, sorry about that. I have an auto-update mod to keep all of my mods up to date. Thank you for the notice!

💬 SpearAndFangAuthor, Oct 31st at 8:56 PM

Appreciate the report but like I told TheOnion, the latest release sortablestorage@2.2.0 is only for the 1.19.x prereleases of Vintage Story.
You are running Game Version: v1.18.15 (Stable)

💬 Ery, Oct 31st at 6:41 PM


I had the same crash just now in creative. Below is the report.


Running on 64 bit Windows with 32618 MB RAM
Game Version: v1.18.15 (Stable)
10/31/2023 1:30:40 PM: Critical error occurred in the following mod: sortablestorage@2.2.0
Loaded Mods: aculinaryartillery@1.0.15, betterruins@0.2.4, carpet@1.0.1, chiseltools@1.9.2, hqzlights@1.1.1, driedpeat@1.0.3, dye_recipes_fix@1.0.0, extrachests@1.7.0, fancysky@1.0.6, TA_fieldsandplateaus@1.0.2, lumbersling@1.1.0, millwright@1.1.1, mbpc@1.0.1, morecrystals@1.1.0, leadroof@1.3.4, natshumanskin@1.0.0, resinglue@0.0.3, roas@1.0.0, rooffix@0.0.1, smokychimneys@1.0.0, sortablestorage@2.2.0, ssppvv@1.0.5, litbrig@0.5.0, game@1.18.15, animalcages@2.2.0, betterfirepit@1.1.2, betteroutline@1.2.8, betterruinslootchanges@0.0.2, carryon@1.6.0, expandedfoods@1.6.8, farmlanddropssoil@1.4.0, fieldsofsalt@1.1.2, freedomunits@1.1.2, fromgoldencombs@1.4.21, glowingprojectiles@1.1.3, hudclock@3.3.0, medievalexpansion@3.11.1, prospecttogether@1.2.4, resingluetools@0.0.5, scythemold@1.0.0, simplestep@1.0.8, stonebakeoven@1.1.1, stonerailings@1.1.0, temporalstormtimer@1.1.1, useplanksinpitkiln@1.1.1, vtpp@1.1.0, creative@1.18.15, survival@1.18.15, VsWaypointSharing@1.0.6, whatbagwasthatagain@1.0.1, woodbarrels@1.0.4, woodchests@1.1.0, workbenchexpansion@1.7.0, plumpkins@1.0.1
System.TypeLoadException: Could not load type 'Vintagestory.API.Client.MultiTextureMeshRef' from assembly 'VintagestoryAPI, Version=, Culture=neutral, PublicKeyToken=null'.
at SortableStorage.ModSystem.BlockGenericSortableTypedContainer.OnBeforeRender(ICoreClientAPI capi, ItemStack itemstack, EnumItemRenderTarget target, ItemRenderInfo& renderinfo)
at Vintagestory.Client.NoObf.InventoryItemRenderer.GetItemStackRenderInfo(ClientMain game, ItemSlot inSlot, EnumItemRenderTarget target, Single dt) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 318
at Vintagestory.Client.NoObf.InventoryItemRenderer.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Single dt, Boolean shading, Boolean origRotate, Boolean showStackSize) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 196
at Vintagestory.API.Client.GuiElementItemSlotGridBase.RenderInteractiveElements(Single deltaTime) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 509
at Vintagestory.API.Client.GuiComposer.Render(Single deltaTime) in VintagestoryApi\Client\UI\GuiComposer.cs:line 695
at Vintagestory.API.Client.GuiDialog.OnRenderGUI(Single deltaTime) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 379
at Vintagestory.Client.NoObf.GuiManager.OnRenderFrameGUI(Single deltaTime) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 318
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 185
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 790
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 983
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 668
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 643
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 77
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 313
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 129
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 SpearAndFangAuthor, Oct 31st at 2:33 PM

The new version is for the 1.19 prereleases only. What game version are you running?

fwiw, I just tried to recreate that crash in 1.19.0 pre4 and couldn't.

💬 TheOnion, Oct 31st at 1:56 PM

Then newest version crashes the game in creative mode if you wanna type something in the search bar

💬 SpearAndFangAuthor, May 19th at 2:14 PM

Katlamos Appreciated! I've got a very long to-do list and mod integration isn't a priority for me, but I will put your request on my list.

💬 DanaCraluminum, May 14th at 9:21 PM
💬 Katlamos, May 14th at 8:37 PM

I love all your mods Spear! Would you be able to add support for the Wood Chests mod linked here?

💬 DanaCraluminum, Mar 15th at 8:06 AM

Sorry, I was impatient

💬 SpearAndFangAuthor, Mar 15th at 4:47 AM

Craluminum Please stop spamming the modDB with nonsensical comments.  A mod is only obsolete when the mod author decides it is.  Your opinion is irrelevant.

💬 DanaCraluminum, Mar 14th at 4:02 PM

Finally obsolete? Xandus Inventory Tweaks now adds gui SORT BUTTON to every existing inventory

💬 SpearAndFangAuthor, Feb 25th at 6:47 PM

new release for 1.18.  For the brave and the bold. 
As always, since this mod mucks with storage containers I highly recommend you make a backup first.

💬 Mendall, Nov 1st 2022 at 5:02 PM

SpearAndFang thanks for the info,  with that in mind I think ill remake all of my copper chests so I can use this.

not to worried about a backup though I colllected all this crap once I can do it again if it disapears.

💬 SpearAndFangAuthor, Oct 25th 2022 at 4:48 AM

@Mendall - Agreed.  This mod will work properly with extra chests if you start using both at the same time, or add extra chests afterwards.  If you add this mod after you already have some extra chests placed in the world, you'll have to break those seemingly broken chests (which will dump their contents) and then place them again.

Regardless, make a backup before you add/remove any storage type mods.  Or any mods really  ;)

💬 Mendall, Oct 24th 2022 at 6:24 PM

be careful with this one if you run a lot of mods. I installed this and all my copper chests from the more chests mod changed to comman chests and could not be opened at all. luckily removeing it put everything right.

full disclosure I use an unusualy large amount of mods so its no telling what it was conflicting with.

💬 SpearAndFangAuthor, Oct 9th 2022 at 7:01 AM

@MIghtyGooga I cannot do that, so sorry!

💬 MIghtyGooga, Oct 8th 2022 at 9:23 PM

Any chance wyou can add compatibility with WoodenChests mod? The one that allows you to build all wood types chests?

💬 SpearAndFangAuthor, Jul 15th 2022 at 2:03 AM

Released v1.3.0 which is a required update for people using Vintage Story 1.17.pre.4.
EDIT: Use v1.4.0 for v1.17.0-pre.5

💬 SpearAndFangAuthor, Jul 6th 2022 at 6:58 AM

Devestatio I did add support for Carry Capacity and Extra Chests back in v1.0.3 and tested both aok under 1.16.5.  But I've heard that 1.16 can be a little unreliable when it comes to applying such patches.  Nobody has reported that it doesn't work so I can only assume that it does.  shrug.  And yes, there is no support for other modded chests, just vanilla and Extra Chests.

💬 Devestatio, Jul 6th 2022 at 6:30 AM

@SpearAndFang I understand that 1.0.3 is for 1.16, but the mod support for Carry Capacity and Extra chests was an update you only added on the 1.17 version, at least that's what you said before, and based on the file date, as well as the fact that the sort button doesn't show up on extra chests (on the v1.0.3 for 1.16 file), also confirms the lack of support on the modded chests, unless there is some kind of config option I am not aware of?

💬 SpearAndFangAuthor, Jul 5th 2022 at 8:41 PM

Devestatio but...but...that's what the previous version is there for (v1.0.3).  Other than that, the two versions are identical.  I'm confused.

💬 Devestatio, Jul 5th 2022 at 6:07 PM

Any chance we could get the mod support on 1.16 as well please? I know that many, like myself only play the release versions, not the pre versions, and 1.17 is still going to be a while before release.

💬 SpearAndFangAuthor, Jul 4th 2022 at 2:00 AM

Devestatio Correct

💬 Devestatio, Jul 3rd 2022 at 2:59 PM

"Now with Carry Capacity (link) and Extra Chests (link) support...and a brand spankin' new sort button!"

I am guessing since I didn't see the 1.16 file updated, this update only applies to 1.17?

💬 SpearAndFangAuthor, Jul 2nd 2022 at 5:18 AM

Updated for 1.17.x

💬 SpearAndFangAuthor, Jun 15th 2022 at 6:05 PM

This mod only works with vanilla (unmodded) storage, extra chests, and carry capacity.  No other mods, sorry.

💬 BlueFuryDragon, Jun 15th 2022 at 4:15 AM

Does this not work with Vanilla Varients?

💬 SpearAndFangAuthor, Jun 12th 2022 at 9:11 PM

New version up - thanks again gaborszollosy, Lohn

💬 Lohn, Jun 8th 2022 at 7:40 PM

SpearAndFang - Ahh, that makes sense as to why their code directs to a folder on their desktop, then. It's probably from when they tested the code and a leftover path. I tried the other mod by Xandu and it doesn't crash - probably because it sorts via IDs, and something about your sorting method might be different somehow? I wouldn't know, but I figured I'd mention that if it helps fix your mod. :) It's great to have the UI and light-weight sorting this mod gives.

💬 SpearAndFangAuthor, Jun 8th 2022 at 4:19 PM

@Lohn - Thanks, I'll see if I can recreate that.  FWIW, that user location is not mine, no.  "Nexrem" contributed some code to the vanilla game a while back and now his name appears in a lot of crash logs for some reason.

💬 Lohn, Jun 8th 2022 at 8:11 AM

So, I just encountered a crash when clicking sort on my chest. I'll post the crash error, but I notice it's refering to a user location that might be yours, rather than anything on my PC which might be part of the reason; not entirely sure. It seems it couldn't sort an item, maybe from being modded or some other issue - but it sorts stuff like ores fine up until now. I'll attach a picture of the inventory I'm sorting, too.

Crash log:

Game Version: v1.16.5 (Stable)
Loaded Mods: armordurability2@1.0.0, ancienttools@1.4.3, backpackpackplus@1.0.3, betterarchery@3.0.0, bettercrates@1.4.1, betterpoultice@1.0.0, buzzwords@1.0.0, cavecontent@1.0.1, composter@1.0.4, cottagewindows@1.0.8, craftables@1.1.1, cralutweaks@1.0.1, detonate@1.0.0, extrachests@1.5.2, fulldrop@1.0.0, reducedarmornegatives@1.0.2, mineralinguistics@1.0.0, moredrifterloot@1.5.4, moredrygrass@0.2.0, necessaries@1.1.2, nomolding@2.0.0, nooffhandhunger@1.0.0, orepulverizer@1.1.1, preservationmod@1.0.0, quickerbarrel@1.1.0, simpleelevator@1.3.0, sortablestorage@1.0.2, stackables@2.0.5, locustmod@2.3.5, usefulscrap@2.0.2, viesblocks@2.0.4, viescraftmachines@1.17.1, visibleore@1.0.1, game@1.16.5, captureanimals@2.1.1, carrycapacity@0.6.5, easylightlevels@1.0.2, extraoverlays@1.1.0, fancyplanters@1.0.5, farmlanddropssoil@1.4.0, hudclock@2.7.0, tpnet@1.5.1, creative@1.16.5, survival@1.16.5, xlib@0.6.9-rc.1, xskills@0.6.9-rc.1
2022-06-08 3:58:41 AM: Critical error occurred
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at SortableStorage.ModSystem.GuiDialogSortableBlockEntityInventory.CollapseStacks(SortedDictionary`2 dictionary)
at SortableStorage.ModSystem.GuiDialogSortableBlockEntityInventory.OnSortClick(Int32 num)
at SortableStorage.ModSystem.GuiElementIconItemGrid.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args)
at Vintagestory.API.Client.GuiElement.OnMouseDown(ICoreClientAPI api, MouseEvent mouse)
at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs)
at Vintagestory.API.Client.GuiDialog.OnMouseDown(MouseEvent args)
at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args)
at Vintagestory.Client.NoObf.ClientMain.OnMouseDown(MouseEvent args)
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(Object sender, MouseButtonEventArgs e)
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at OpenTK.Platform.Windows.WinGLNative.WindowProcedure(IntPtr handle, WindowMessage message, IntPtr wParam, IntPtr lParam) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\Platform\Windows\WinGLNative.cs:line 792
at OpenTK.Platform.Windows.Functions.DispatchMessage(MSG& msg)
at OpenTK.Platform.Windows.WinGLNative.ProcessEvents() in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\Platform\Windows\WinGLNative.cs:line 1551
at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 369
at _7zNxEbLnuy6Bq08TdMSIu9ZbrKf._vvUTh6X5xLRNnjtX2xSE7z8yMeh(_SUsdg1ytavxaRcNNkhfDrODGhGP , String[] )
at _yA4PJazdKq1OMm8H6js6v5AhQB._vvUTh6X5xLRNnjtX2xSE7z8yMeh(ThreadStart )

Picture of current items I'm sorting:

Let me know if anything else could help figure it out. :) I love this mod. I do have the chests stacked on top of each other currently, and sorted the bottom chest - but I don't think that would make a difference. (They're trunks)

💬 SpearAndFangAuthor, Jun 7th 2022 at 2:16 PM

@gaborszollosy - there appears to be a rather odd thing going on with charcoal specifically.  But it appears that if you target the top of the chest rather than the front you can write on it,  That doesn't seem to be an issue at all for other things like chalk.  Weird.  I'll investigate.  Thanks!

💬 gaborszollosy, Jun 6th 2022 at 6:10 AM

Great mod! Thanks for this. One question though: how do I write the label on the container once it's placed? The charcoal just stacks in front of it for me. Thanks!

💬 SpearAndFangAuthor, Apr 25th 2022 at 2:03 AM

I've done it.  It's the latest version.  And thanks!


💬 GruntyThrst, Apr 22nd 2022 at 5:54 AM

Wonderful and simple QoL mod! Would it be possible to support Dauron's "Extra Chests" mod as well? I want that extra storage space but I hate giving up the sorting and automatic stack compression I get with the sorting chests.

(edit comment delete)