Mods / Xandus Inventory Tweaks

Category: #QoL #Storage
Author: Xandu
Side: Both
Created: Mar 25th 2021 at 3:02 PM
Last modified: 6 days ago
Downloads: 4272
Follow Unfollow 60

The mod provides a collection of small tweaks to improve the inventory handling. You can configure in a generated file which parts of the mod you want to use. To use the bulk operations configurations the mod must be installed on the server, too.
All other features should work if the mod is installed on the client only.

Auto-Sorting: The mod adds a configurable key (default: Z/Y), that can be used to fast sort items in inventories or to automatically sort items into open chests.

Shortkeys:

Z: Sorts items from your inventory into chests that already contain these item types. Works with multiple chests at once.
Z+Shift: Sorts items in open containers by their id.
Z+Ctrl: Pulls items out of open chests into your inventory.
Z+ALT: Sort your own backpack.
Ctrl+left mouse: Allows you to transfer all items up to a specific slot of the same item type to an open container.
Shift+Wheel: Allows you to push single items into open containers and to pull single items from open containers.

Item-Switching: A lot of items can be automatically be swapped into your hotbar after you used the last item of a stack. This even works for broken tools. Additionally, used tools in your crafting grid will be switched as well.

Configureable bulk operations: Allows you to configure how many items you want to use in bulk storage operations, such as placing down or taking from item piles, at once.

Let me know if I missed anything important that you would like to be added.

Version For Game version Downloads Release date Changelog Download
v1.4.3 94 6 days ago Show xinvtweaks_v1.4.3.zip
v1.4.2 548 Aug 23rd at 11:31 AM Show xinvtweaks_v1.4.2.zip
v1.4.1 1845 Jan 22nd at 2:55 PM Show xinvtweaks_v1.4.1.zip
v1.4.0 173 Jan 21st at 11:58 PM Show xinvtweaks_v1.4.0.zip
v1.3.0 461 May 26th 2021 at 2:54 PM Show xinvtweaks_v1.3.0.zip
v1.2.3 486 Apr 24th 2021 at 12:46 PM Show xinvtweaks_v1.2.3.zip
v1.2.2 347 Apr 6th 2021 at 7:53 PM Show xinvtweaks_v1.2.2.zip
v1.2.0 318 Mar 25th 2021 at 3:04 PM Show xinvtweaks_v1.2.0.zip

25 Comments (oldest first | newest first)

💬 Xandu, 6 days ago

It took some time because of private stuff but I found the issue and it should be fixed now.

💬 Jake3D, Nov 24th at 8:03 AM

I am also having crashing with this mod. It crashes when Sorting my own inventory but not when sorting a chest/basket. It Crashes while on a server with mods and Single Player. though it is inconsistant. some times it wont have a crashing issue for an hour other it will crash no matter who many times i restart.

💬 EiraValkyrie, Nov 22nd at 5:25 PM

Ok now suddenly this crash is inconsistent. Haven't had it happen in several hours of play now. Maybe it only happens when there's some sort of container in inventory? Even then, not consistent.

💬 EiraValkyrie, Nov 17th at 8:31 PM

I've encountered this bug as well. Happens damn near everytime after playing a world for a while, it seems. It really puts a damper on playing, being able to autosort inventory with a button or key combo should honestly be a basic functionality of any inventory based game.

Really hope this mod gets fixed in the meantime. I posted my crash log on the forum post.

💬 MIghtyGooga, Nov 2nd at 11:08 PM

Hi, were you able to figure this out?

Sorry to be insistent.

💬 Jimzawy, Oct 23rd at 3:42 PM

Hi, thanks for replying, I hope this is report you mean

Running on 64 bit Windows with 16 GB RAM
Game Version: v1.17.9 (Stable)
23-Oct-22 5:37:12 PM: Critical error occurred in the following mod: xinvtweaks@1.4.2
Loaded Mods: animalcages@2.0.6, fancysky@1.0.5, sticksfromfirewood@1.16.4, game@1.17.9, vshud@2.1.0, zyrails0break0down0tools@1.17.8, carrycapacity@0.6.5, hudclock@2.8.0, prospectorinfo@4.1.2, creative@1.17.9, survival@1.17.9, vsvillage@0.3.0, xrowboat@0.0.5, metalrecovery@0.1.18-rc.2, xinvtweaks@1.4.2
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at XInvTweaks.InventoryUtil.SortInventory(ICoreClientAPI capi, IInventory inventory)
at XInvTweaks.InventoryUtil.SortIntoInventory(ICoreClientAPI capi)
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack) in VintagestoryLib\Client\HotkeyManager.cs:line 365
at Vintagestory.Client.NoObf.ClientMain.OnKeyDown(KeyEvent args) in VintagestoryLib\Client\ClientMain.cs:line 2167
at Vintagestory.Client.NoObf.ClientPlatformWindows.game_KeyDown(Object sender, KeyboardKeyEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 251
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at OpenTK.Platform.NativeWindowBase.OnKeyDown(Key key, Boolean repeat) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\Platform\NativeWindowBase.cs:line 130
at OpenTK.Platform.Windows.WinGLNative.HandleKeyboard(IntPtr handle, WindowMessage message, IntPtr wParam, IntPtr lParam) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\Platform\Windows\WinGLNative.cs:line 646
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 828
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 Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

Event Log entries containing Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 13-Oct-22 6:23:34 AM, Site = , Source = Windows Error Reporting, Message = Fault bucket 1893642899559129348, type 4
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: Vintagestory.exe
P2: 1.17.6.0
P3: 633bf838
P4: KERNELBASE.dll
P5: 10.0.19041.1949
P6: cb12e58e
P7: c000041d
P8: 0000000000034fd9
P9:
P10:

Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER2036.tmp.dmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER247C.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER249D.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER24AC.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER24DC.tmp.txt

These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Vintagestory.exe_8186de27c023c029d05a9db4523b7b4a15c684d9_9614c485_77bc9053-01cf-43d7-91fe-b1d9a20c2149

Analysis symbol:
Rechecking for solution: 0
Report Id: b563a409-9cc3-4cc5-9a51-d6f4872c5eb6
Report Status: 268435456
Hashed bucket: bd7cd59c460a2094da47922f27a9a104
Cab Guid: 0 }
--------------
{ TimeGenerated = 13-Oct-22 6:23:31 AM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.17.6.0, time stamp: 0x633bf838
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1949, time stamp: 0xcb12e58e
Exception code: 0xc000041d
Fault offset: 0x0000000000034fd9
Faulting process id: 0x3110
Faulting application start time: 0x01d8deba552dd1af
Faulting application path: D:\Cracked Games D\VintageStory v1.7.6\Vintagestory.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: b563a409-9cc3-4cc5-9a51-d6f4872c5eb6
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 13-Oct-22 6:23:30 AM, Site = , Source = Windows Error Reporting, Message = Fault bucket 2083621836285526217, type 4
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: Vintagestory.exe
P2: 1.17.6.0
P3: 633bf838
P4: KERNELBASE.dll
P5: 10.0.19041.1949
P6: cb12e58e
P7: c0020001
P8: 0000000000034fd9
P9:
P10:

Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERD69.tmp.dmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER126B.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER127C.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER128A.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER12B9.tmp.txt

These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Vintagestory.exe_dda7727133b37ef53e6f5cf4e29a26408aa73_9614c485_ecaaf5f5-eda2-46cf-87e4-48a6a5fc3a11

Analysis symbol:
Rechecking for solution: 0
Report Id: 1bc897aa-e1cf-436d-9c23-3c2856f23829
Report Status: 268435456
Hashed bucket: b162320adec717deacea8305460bc0c9
Cab Guid: 0 }

💬 MIghtyGooga, Oct 23rd at 12:58 PM

Hello,

I can confirm Jimzawy observation. My game is crashing as well with alt+z. As soon as I get around to it i can send the report.

Ty

💬 Xandu, Oct 21st at 9:28 AM

Jimzawy Thank you for your report. Can you post a crash report? 

💬 Jimzawy, Oct 21st at 12:08 AM

Hey Xandu great mod, I am very new to the game, I am experiencing a game crash whenever I press ALT+Z to sort my backpack, other shortkeys are working fine, this does not happen when I start a new singleplayer game on new world. with my other mods on,but as I progress in the game ans craft more items, it starts crashing, and keeps on crashing, I think it might be a mod conflict ? I am using the latest version 1.17.9, what do u think

💬 Xandu, Oct 15th at 11:20 AM

AtticusPierce The server decides in which inventory picked up items should go. And I want to keep this mod mostly client side only.

💬 AtticusPierce, Oct 13th at 10:23 PM

Any chance you could easily figure out a way to have picked up items prioritize inventory over the hotbar? I get annoyed having to re-empty my 0 slot so I can empty hand interact with things... If it'll be complex it's no problem skipping this request. <3

💬 Xandu, Oct 5th at 5:26 PM

gndrneutralnoun That is a huge list. I don't have the time to look through all of this. But if you figure out which mod is causing this I would be interested.

💬 gndrneutralnoun, Oct 4th at 3:31 PM

It does seem to be caused by another mod; I just tested it out on an instance with only this mod installed and the issue didn't happen. The problem has been happening for me ever since I started using this mod, so I assumed it was something in the mod... Here's my modlist. https://pastebin.com/ZY6UBcAf I'm pretty sure all of them are on the latest version except Alchemy, which is on the version before all the hanging rack variants were removed.

💬 Xandu, Oct 4th at 11:15 AM

gndrneutralnoun 

The naming is related to internal implementation of the items. The mod hooks in to the according base methods to enable the item swapping. Piles are things you can pile up like Plates, Ingots and Firewood. Groundstorage are things where multiple different items can be stored on the ground like pots, crocks and bowls.

I can't really reproduce this. I don't even know what could cause this. The mod shouldn't do anything if you just scroll through your items. And it also should not put items in your hotbar slot when you move items. Are you sure that it is caused by these actions and that is not caused by any other mod? The mod should only trigger if you use up a stack like placing a block or breaking a tool.

💬 Craluminum, Oct 2nd at 3:33 PM

gndrneutralnoun

Firewood pile is hardcoded and thus don't fall into groundStorage category

💬 gndrneutralnoun, Oct 2nd at 2:38 PM

Heya, I commented on the forum topic for this mod a while back, but for some reason I can't comment on it anymore. Anyway, I wanted to ask: you said about how the config for this mod lets you disable item switching for certain categories, but I'm a little confused by which categories mean which things. Specifically the "piles" and "groundStorage" fields. The others seem self explanatory, but I don't know whether, for example, firewood goes in the piles or groundStorage category. My guess is piles, but I'm not sure.

Also, it'd be really great if you could fix the thing that happens with this mod's item switching where just scrolling through the hotbar via the mousewheel or trying to move something out of your hotbar and into your backpack inventory "restocks" the thing. It's really annoying, which is why I'm using The3Restock for now, but that mod doesn't support tools or items like this one does.

💬 Zaldaryon, Oct 1st at 1:13 AM

Xandu it only happened once, sadly. But it was from my cuttings-only chest.

💬 Xandu, Sep 18th at 4:11 PM

@Zaldaryon, Is the repeatable or is it something that just happened once? Would be important to know if this is something that can happen regular or if this is some weird edge case.

💬 Zaldaryon, Sep 18th at 2:16 PM

Latest version, trying to shift+ z a better chest (I couldn't trace which block caused it, maybe a cutting?):

 

Running on 64 bit Windows with 24 GB RAM
Game Version: v1.17.3 (Stable)
18/09/2022 11:15:08: Critical error occurred in the following mod: xinvtweaks@1.4.2
Loaded Mods: angelbelt@1.3.0, Autorotor@1.1.2, backpackpackplus@1.0.3, betterbloomeries@1.0.1, bettercrates@1.5.1, betterruins@0.0.3, extrachests@1.6.0, FlexibleTools@2.0.0, foundrymod@1.0.0, harptech@0.2.1, necessaries@1.1.3, nooffhandhunger@1.0.0, notradermoneylimit@1.0.0, pieontheshelf@1.0.0, potontheshelf@1.0.0, primitivesurvival@3.0.5, ReducedDrifterGroupsandLightLevelSpawn@1.0.0, SustainableForestry@1.0.0, translocatorengineeringredux@1.2.0, visibleore@1.0.1, vtpp@1.0.0, game@1.17.3, WoodenPathFix@1.0.0, zoombuttonreborn@1.3.0, autosifter@1.0.1, betterdoors@1.0.0, captureanimals@2.1.1, carrycapacity@0.6.5, deathwaypoints@1.0.3, farmlanddropssoil@1.4.0, fromgoldencombs@1.3.14-pre.1, hudclock@2.8.0, medievalexpansion@3.8.1, prospectorinfo@4.1.1, resinlightsbymad@1.0.1, singlepause@1.0.3, smeltableingots@1.0.0, stepup@1.2.0, stickscrafting@1.0.16, toggly@3.0, translocatorlocator@1.0.2, useplanksinpitkiln@1.0.0, creative@1.17.3, survival@1.17.3, workbenchexpansion@1.5.1, xlib@0.6.10, campaigncartographer@3.0.2, knapster@1.0.1, em@1.0.0, ferrospear@1.0.1, moremolds@1.2.0, onestick@1.0.1, xinvtweaks@1.4.2, xskills@0.6.11, bricklayers@1.0.1
System.InvalidOperationException: Coleção foi modificada; talvez a operação de enumeração não seja executada.
em System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
em System.Collections.Generic.List`1.Enumerator.MoveNextRare()
em XInvTweaks.InventoryUtil.SortInventory(ICoreClientAPI capi, IInventory inventory)
em XInvTweaks.InventoryUtil.SortOpenInventories(ICoreClientAPI capi)
em XInvTweaks.InventoryUtil.SortIntoInventory(ICoreClientAPI capi)
em Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack) na VintagestoryLib\Client\HotkeyManager.cs:linha 365
em Vintagestory.Client.NoObf.ClientMain.OnKeyDown(KeyEvent args) na VintagestoryLib\Client\ClientMain.cs:linha 2167
em Vintagestory.Client.NoObf.ClientPlatformWindows.game_KeyDown(Object sender, KeyboardKeyEventArgs e) na VintagestoryLib\Client\ClientPlatform\Input.cs:linha 251
em System.EventHandler`1.Invoke(Object sender, TEventArgs e)
em System.EventHandler`1.Invoke(Object sender, TEventArgs e)
em OpenTK.Platform.NativeWindowBase.OnKeyDown(Key key, Boolean repeat) na C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\Platform\NativeWindowBase.cs:linha 130
em OpenTK.Platform.Windows.WinGLNative.HandleKeyboard(IntPtr handle, WindowMessage message, IntPtr wParam, IntPtr lParam) na C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\Platform\Windows\WinGLNative.cs:linha 646
em OpenTK.Platform.Windows.WinGLNative.WindowProcedure(IntPtr handle, WindowMessage message, IntPtr wParam, IntPtr lParam) na C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\Platform\Windows\WinGLNative.cs:linha 828
em OpenTK.Platform.Windows.Functions.DispatchMessage(MSG& msg)
em OpenTK.Platform.Windows.WinGLNative.ProcessEvents() na C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\Platform\Windows\WinGLNative.cs:linha 1551
em OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second) na C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:linha 369
em Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
em Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) na VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:linha 93

💬 Kirona, Jul 26th at 3:28 AM

I agree with Gepard down below about swapping almost-broken stuff out, but I actually came here to say something similar to what AVeryDandyLad did - the autofill is definitely overactive, including most recently pulling my crucible out of my firepit in the middle of a bronze-making operation because I put a second crucible from my hand onto the ground. I would love the option for it to specifically ONLY pull from my inventory, and not from open containers/whatever.

💬 Borath, Jun 26th at 11:14 PM

In single player it seems to work fine, but in multiplayer (Client Only) It doesn't seem to sort the items into the chest. Shift+Wheel appears to work though but none of the Z commands.

Game version: 1.16.5
Mod version: 1.4.1

💬 AVeryDandyLad, May 23rd at 6:02 AM

Hi there!
For starters, I love this mod. It goes on my clientside essentials list- However, there are several instances where this mod can mildly inconvenience me at best and downright annoy me at worst. 
Most problems stem from the autofill being overactive; when using the scrollwheel to select items in your hotbar, the autofill will drag items to whatever open slots there are and in creative mode, autofill makes it very tedious to rid of items in your hotbar.

💬 DarkSeedRA, May 17th at 10:07 AM

As Agroku said below, I really love this mod!

I do have one issue, I cannot sort my character inventory. The chest sorting (by ID), push/pull, item switching, etc. seem to work fine. This is single player and I changed the key to Y since I am already using Z.

💬 Gepard, May 2nd at 1:31 PM

You could add the option to swap the tool just before being destroyed for another one that is more durability. There are mods that allow you to fix the tool, sharpen it. Replacing a broken tool with a new one is here.
This could be an option to be turned on and off in the menu.

💬 Agroku, Apr 9th 2021 at 8:25 AM

You Sir are a Genius, exactly what I was looking for!!

(edit comment delete)