File information

Last updated

Original upload

Created by

manson_ew2 MsZelia

Uploaded by

MsZelia

Virus scan

Safe to use

About this mod

Write inventory to file. Bulk scrap. Mass transfer. Filter area loot. Mass buy/sell to vendors. Legendary mod tracking. Item Protection... AND MUCH MORE

Requirements
Permissions and credits
Changelogs
Donations
Mod originally made by manson_ew2 (not updated since 2021)
"Inventory dumper mod. Get all of your items into a single file for trading/keeping track of them, price checking!"


MY OTHER MODS
HUD widgets
BuffsMeter - Show active effects / buffs on HUD. Show checklist of missing effects.
HUD Challenges and Events - Show challenges, active events/caravans, minerva location, nuke codes, seasons data...
HUD Condition - Show weapon and armor conditions. Power armor, Ghoul and Vault-girl versions available.
HUD Server Player List - Show all players on current server. Show camp vendors with your category filters, hide visited vendors.

Inventory Management
Invent O Matic Stash (Unofficial) - Write inventory to file. Bulk scrap. Mass transfer. Filter area loot. Mass buy/sell to vendors. Legendary mod tracking. Item Protection... AND MUCH MORE
Invent O Matic Pipboy (Unofficial) - Switch armor sets. Quick use your buffs. Mass drop with a single key press. Drop item protection...
Improved Workbench - Show inventory item count and equipped perks in crafting menu. Improved Quantity Menu. Quick Repair Button. Show Durability. Reorganize UI...
Radial Menu Loadout Manager - Slot custom loadouts to favorites wheel. Gamepad/controller compatible.

Time-savers
Skip Popups - Skip any popup. Skip scrap confirmation menus. Auto confirm Repair Kit. Extended Scrap Components view, no scrolling.
Easy Terminal Hacking and Lockpicking Bar - Auto-unlock hackable terminals. Show sweetspot bar for lockpicking.
Instant Expedition Rewards -  Display all expedition quests and rewards at once, not one by one.
Instant Daily Op Rewards - Display all daily ops rewards at once, not one by one.

Other interfaces
Improved Social Menu - Fixes friend selection switching when trying to join world. Remove popups and team creation delay. Adds friends/recent count and Character name. Redact own or other player names. And more...
Improved Pipboy Stats - Added PERKS tab and moved perks from EFFECTS tab, showing curve tables and current bonuses.
VendingHistory - Show persistent sale history by integrating Vendor Log output to Vending History interface. Search functionality. Localization support.
Custom Radios (Stations) - NOW WITH UI. Make your own song playlists without issues like hosts talking, songs cutting short, or silent parts... Includes Diamond City Radio and Appalachia no ads. Additionally New Vegas Radios.
V.A.T.S. Priority - Set desired/default target limb priorities for VATS.



CONTENTS
Requirements
Installation
Updating / Upgrading
Compatibility
Hotkey Notes
Usage:
A. Item Extraction
B. Bulk Scrap
C. Mass Item Transfer
D. Filtered Area Looting
E. Mass NPC Sale
F. Camp Assign Items
G. Currency Limit Indicator
H. Category Tabs Customization
I. Item Protection
J. Mass Purchase
K. Stash Category Weight
L. Legendary Mod Tracking
M. Additional Item Columns
Additional Features


Requirements:
SFE - item extraction (A) and saving legendary mods from workbench (L) won't work without SFE, it needs to be updated on each game update!
Special thanks to Keretus for providing additional functionality in SFE.
All other features will work without SFE


Installation:
Via mod manager, NOT RECOMMENDED - IF YOUR MOD IS NOT LOADING THIS IS MOST LIKELY THE CAUSE, DON'T ASK FOR ASSISTANCE IF YOU INSTALLED WITH MOD MANAGER
Known issues with mod managers:
Mods not working at all (even with no other mods loaded) - repacked (or bundled) with wrong settings
Mods not applying config changes - old config file cached

Manually:
  • Download and extract .ba2 and .json (config) files to Fallout 76/Data folder (e.g. "\SteamLibrary\steamapps\common\Fallout76\Data\")
  • Add following lines to your Project76Custom.ini (MS store/Xbox) or Fallout76Custom.ini (Steam) located in "C:\Users\%username%\Documents\My Games\Fallout 76\":
    [Archive]
    sResourceIndexFileList=other mods here, InventOmaticStash-UO.ba2


Updating / Upgrading:
Extract only .ba2 file to Fallout 76/Data folder.
Config file is backwards compatible and does not need new version - new features can be manually edited in.
You can search description (CTRL + F in web browser) by update number and see which new parameters were added.
To check validity of config file after change, you can use sites like https://codebeautify.org/json5-validator


Compatibility:
Not compatible with other mods that modify interface/securetrade.swf such as SaveEverything, FastUI, Safe Legendary Exchange - alternative features included, see sections G. Currency Limit Indicator, H. Category Tabs Customization and I. Item Protection below

Ultrawide patches not needed: since update 2.2.5 stash/vendor menu will now automatically be scaled no matter your screen resolution and ratio.


Hotkey Notes:
You can bind multiple configs to the same hotkey, e.g. area loot, scrap and npcSell all on single key, multiple transfer configs on a single key (Update 1.2)
Some non-alphanumerical hotkeys or other not listed below will not be properly shown on buttons
Noteworthy key codes:
0 - 9 Numbers   =>   48 - 57
A - Z Alphabetical   =>   65 - 90
0 - 9 Numpad   =>   96 - 105
*+-,/ Numpad   =>   106,107,109,110,111
F1 - F12   =>   112 - 123
Arrow keys (left, up, right, down) =>  37, 38, 39, 40
For controllers only arrow keys are detected (DPad); up and down are used for scrolling through inventory so you could bind left key (37) to scrap/loot/npcSell/campAssign configs and have right key (39) free for transfer or extract configs. (Needs testing, only tested with virtual gamepad, x360ce)
You can also turn on "debug" and "debugKeys" features in config and check if other keys are detected on your device
Whole list here:
https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes


Usage:
Config file should be backwards compatible with all versions, report any issues you find
Some features DO NOT WORK in "new" tab; for example if bulk scrapping while "new" tab is selected it will only scrap items from "new" tab, not the rest of them from inventory.
Most features in config are disabled, enable and configure them the way you want.

To check validity of config file after change, you can use sites like https://codebeautify.org/json5-validator
If website is showing no errors but config is showing JSON error, most likely issue is extra comma, for example:
"itemNames": ["item 1", "item 2",] <- extra comma before closing tag ] or }


A. Item Extraction
NOTE: each time you're extracting items - content of the output file will be overwritten.
If you want/need to get data from multiple accounts, backup or rename Fallout76/Data/itemsmod.ini file after each extraction to save it from overwriting.

1. Configure "extractConfig" field in inventOmaticStashConfig.json file if needed. (Update 2.0)
2. Open any containter.
3. Click "O) Extract items".
4. DO NOT move your mouse while mod gets all the required info - it may cause issues and some items in the dump will have no legendary mods info.
5.Once mod finishes gathering data, it will write this data into itemsmod.ini file, located in Fallout76/Data folder. At this point, game may freeze for a while (depends on the amount of items).
6. Parse file using this Python Parser or similar to get readable output (can be copied to tables/excel), price check and so on.
Parser is no longer needed, "useCustomFormat" and "customFormat" parameters allow output to be written in CSV (comma-separated values) format. (Update 2.3.3)

NOTE: You can manually rename your Legendary Mod Tracking file and use "loadFileDirectory" in legendaryModsConfig to not overwrite it on item extraction. In that case you will need to rename it after each save from Improved Workbench so it stays updated with your learned legendary mods.

Example: (Update 2.3.3)
"extractConfig": {
"name": "Extract Items",
"enabled": true,
"showButton": true,
"hotkey": 70,
"types": [],
"itemCardEntryDelayStep": 100,
"additionalItemDataForAll": false,
"useCustomFormat": true,
"customFormat":
{
"format": "csv",
"delimiter": ";",
"delimiterLine": "\n",
"valueNotFound": "_",
"displayColumnNames": true,
"columns": [
"text", "count", "itemType", "itemLevel", "numLegendaryStars", "legendary_1", "legendary_2", "legendary_3", "legendary_4", "isTradable", "weight", "weightInStash", "physical", "energy", "radiation", "poison", "fire", "cryo", "source", "char", "account"
],
},
"verboseOutput": false,
"apiMethods": []
}
enabled : true/false - enable or disable Item Extraction feature
name - [Optional] text that will be shown on button, default is "Extract Items"
showButton : true/false - [Optional] shows button for this feature, default is true
hotkey - [Optional] actual button that will trigger extraction, see full list of values on the link above, default is O (79)
itemCardEntryDelayStep - [Optional] delay in milliseconds between fetching additional data for each item (selecting items), default is 100
FPS dependent, if you encounter low fps while extracting or if legendary data is missing from file after extraction, try to increase this value
types - [Optional] list of types you want to extract, default is all types (Update 2.2.2)
Full list of types:
["WEAPON", "ARMOR", "APPAREL", "FOOD_WATER", "AID", "NOTES", "HOLO", "AMMO", "MISC", "MODS", "JUNK"]
additionalItemDataForAll : true/false - retrieve additional data for all items (true) or just for legendaries (false)
verboseOutput : true/false - extract additional data from apiMethods, if set to true every specified method will be executed and its result will be written to the file as well.
apiMethods - array of built-in game API methods, if you're interested in additional data that belongs to your character. You can remove any
unneeded methods or add new ones if you know their names. Full list is in config file.
useCustomFormat : true/false - [Optional] enable or disable use of custom format for output configured in "customFormat" below. Default is false which will write contents in json format as it has been so far. (Update 2.3.3)
customFormat - section for configuring custom format for item extraction, can have these parameters: (Update 2.3.3)
format - format in which to write output file. Options:
"json" - default format, saves all items and api methods (with verboseOutput) as json object
"csv" - comma separated values, only saves items, no api methods. See all customizable parameters below.
"json_to_csv" - convert your old json inventory dump files to csv format, uses same configuration as "csv" format (Update 2.4.7)

"JSON_TO_CSV" customFormat options:
itemsmodJSONFile - location of input file to convert to csv format, relative to Fallout 76/data/interface folder, default: "../itemsmod.ini" (Update 2.4.7)

"CSV" and "JSON_TO_CSV" customFormat options:
delimiter - symbol(s) to separate values in a single line (between values of single item), default is ";"
delimiterLine - symbol(s) to separate values of each line (between different items), default is "\n"
valueNotFound - value to write out in case of null value or error, default is "" (empty string)
displayColumnNames : true/false - write header with column names, default is true
columns - list of columns to save, possible options are:
Item properties:
"text", "serverHandleId", "count", "itemValue", "equipState", "isWeightless", "filterFlag", "isNew", "currentHealth", "maximumHealth", "durability", "itemLevel", "quickSwapAmmo", "canFavorite", "favorite", "isLegendary", "isPremium", "numLegendaryStars", "taggedForSearch", "scrapAllowed", "isAutoScrappable", "canGoIntoScrapStash", "quickSwap", "isTradable", "singleItemTransfer", "isQuestItem", "isSharedQuestItem", "weight", "weaponDisplayAccuracy", "weaponDisplayRange", "weaponDisplayRateOfFire", "damage", "isCurrency", "isOffered", "offerValue", "isRequested", "declineReason", "isSpoiled", "isLearnedRecipe", "isSetItem", "isSetBonusActive", "containerID", "itemCategory", "nwRarity", "itemRarityTierName"
Vending data (assigned items in camp):
"vendingData.machineType", "vendingData.price", "vendingData.isVendedOnOtherMachine", "vendingData.isUsedOnOtherCampMachine", "vendingData.assignEnabled", "vendingData.unassignEnabled", "vendingData.readOnly"
Item Card data:
"wt" (different than weight item property), "weightInStash", "capacity" (ammo capacity), "consumption" (ammo consumption per shot), "attackMode" (automatic/single/...), "range", "accuracy", "APCost", "speed" (melee speed), "description" (whole description with legendary mods)
Weapon Damages and Armor Resistances:
"physical", "energy", "radiation", "poison", "fire", "cryo"
Legendary mods:
"legendary_1", "legendary_2", "legendary_3", "legendary_4"
If using Legendary Mod Tracking Feature of this mod, mod name will be saved (e.g. Anti-armor), otherwise whole mod description will be saved (e.g. +50% Armor Penetration) - You can rename your Legendary Mods file and use "loadFileDirectory" parameter in legendaryModsConfig to not overwrite it on item extraction.
Additional armor data(Update 2.4.4)
"armorGrade" (Light/Sturdy/Heavy/Power), "armorType" (Trapper/Leather/Excavator...), "armorPiece" (Left Arm/Right Leg...)
Requires localizationConfig in Additional Features to be set up for your game language.
Armor type and piece are determined from item names, so it will not work for renamed items.
Might not work if Ironclad perk is equipped (increased resistances), instead it will save resistances in format "DR/ER/RR".
Other:
"account", "char", "source" (inventory/stash), "itemType" (types as displayed in this mod: "WEAPONS", "ARMOR", "FOOD_WATER", ...)



B. Bulk Scrap
Config file will be read by mod each time you open workbench scrap menu (no need to restart the game).
WARNING: Multiple scrap configs is intended to be used ONLY with either different onlyLegendaries values (one with true, another with false) or for different characters checkCharacterName/checkAccountName.
If you have multiple configs for single character, items have to be EXCLUDED FROM ALL CONFIGS not to be scrapped.
I am not responsible if you didn't take your time to read this and accidentally lost your items.

If using this feature for legendary scrapping ("onlyLegendaries": true) you can use Skip Scrap Confirm - Legendary - Premium Items mod and increase delay in scrapConfig to about 100ms to automatically confirm both pop-ups.
WARNING #2: Test it thoroughly with "testRun": true parameter before enabling it, and not just from "NEW" tab.

1. Configure "scrapConfig" field in inventOmaticStashConfig.json file.
2. Open any work bench, press button "I) AutoScrap".
3. Done!

Example: (Update 2.0)
"scrapConfig": {
"testRun": true,
"name": "AutoScrap",
"enabled": false,
"debug": false,
"showButton": true,
"hotkey": 70,
"maxItems": 100,
"delay": 25,
"configs": [
{
"enabled": false,
"scrapEquipped": false,
"scrapFavorite": false,
"onlyLegendaries": false,
"types": ["WEAPON", "ARMOR", "JUNK"],
"matchMode": "CONTAINS",
"excluded": ["syringer", "chassis", "helmet", "zapper", "enclave", "paddle", "baseball", "pearly", "binoculars", "father winter", "exc", "bloatfly gland", "bloodbug proboscis", "tick blood sac", "stingwing barb", "vocal sac", "hardened mass", "*"],
"checkCharacterName": false,
"characterName": "none",
"checkAccountName": false,
"accountName": "none"
},
{
"enabled": false,
"scrapEquipped": false,
"scrapFavorite": false,
"onlyLegendaries": true,
"scrapByLegendaryStar": [1,2,3],
"types": ["WEAPON", "ARMOR"],
"matchMode": "CONTAINS",
"excluded": ["unyielding", "overeater", "anti", "blood", "vampire", "quad", "*", "#"],
"checkCharacterName": false,
"characterName": "none",
"checkAccountName": false,
"accountName": "none"
}
]
}
name - [Optional] text that will be shown on button, default is "AutoScrap" (Update 2.0)
testRun : true/false - [Optional] list all items matching conditions to scrap without scrapping them, default is true (Update 2.2.0)
enabled : true/false - enable or disable Bulk Scrap feature
debug : true/false - show debug output for Bulk Scrap feature
showButton : true/false - [Optional] shows button for this feature, default is true (Update 1.7.3)
showMessage : true/false/"FULL" - [Optional] show hud message for this config when activated, "FULL" will list all items, default is false (Update 2.4.3)
hotkey - [Optional] actual button that will trigger scrapping, see full list of values on the link above, default is I (73) (Update 1.0.4)
maxItems - [Optional] max amount of items to scrap, default (0) is all
repeat - [Optional] number of times to repeat scrap, useful for transfer config but works here too, default is 1 (Update 2.1)
delay - [Optional] delay in milliseconds between each item scrap, default is 0 (Update 2.0)

configs - list of configs, each can hold these parameters: (Update 2.0)
enabled : true/false - enable or disable specific config
scrapEquipped : true/false - [Optional] enables scrapping of equipped items, default is false
scrapFavorite : true/false - [Optional] enables scrapping of favorite items, default is false
onlyLegendaries : true/false - [Optional] toggle between scrapping only legendaries (true) and scrapping only non-legendaries (false), default is false.
Made as preparation for legendary scrapping (pts), read warning above (Update 2.0)
scrapByLegendaryStar - [Optional] specify list of stars to scrap items by, e.g. [1,2,3,4], default is all/any star (Update 2.3.4)
matchMode - one of the values (matching with values in excluded):
  • "CONTAINS" - item name in inventory should include item name in config, case-insensitive (USE WITH CAUTION: it could match too many items, in case too generic item name)
  • "STARTS" - item name in inventory should start with item name in config, case-insensitive; e.g. prefix (USE WITH CAUTION: it could match too many items, in case too generic item name)
  • "EXACT" - item name in inventory should exactly match item name in config, case-sensitive
  • "NOT_CONTAINS" - item name in inventory should not include any names in config, case-insensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety) (Update 1.4)
  • "NOT_EXACT" - item name in inventory should not match any names in config, case-sensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety) (Update 1.4)
  • "ALL" - ignores excluded item names and scraps everything
types - list of types you want to scrap. Full list of types (others can't be scrapped):
"WEAPON", "ARMOR", "APPAREL", "MODS", "JUNK"
excluded - list of items or names that will be excluded from scrapping
checkCharacterName : true/false - [Optional] enable or disable checking if specified characterName matches character in game (Update 2.0)
characterName - [Optional] character name, will be used only if checkCharacterName is equal to true (Update 2.0)
checkAccountName : true/false - [Optional] enable or disable checking if specified accountName matches account in game (Update 2.0)
accountName - [Optional] account name, will be used only if checkAccountName is equal to true (Update 2.0)
characterName and accountName now also accept list of names, e.g. ["char 1", "char 2", "..."] (Update 2.3.3)



C. Mass Item transfer
BE CAREFULL WHILE USING THIS FEATURE IN OPEN-WORLD CONTAINERS. Double check, whether you haven't put any items there accidentally.
I'd recommend turning this feature off, if you don't need it.
Config file will be read by mod each time you open container (no need to restart the game).

1. Configure "transferConfig" field in inventOmaticStashConfig.json file.
2. Open any container, press hotkey button to transfer.
3. Done!

Example:
"transferConfig": [
{
"testRun": false,
"name": "Transfer example: All 3/4-star non-power armor pieces (LIGHT/STURDY/HEAVY) that have weight reduction perks",
"enabled": false,
"debug": true,
"showButton": true,
"hotkey": 71,
"delay": 50,
"delayItemCardStep": 100,
"transferLegendaries": [3,4],
"checkLegendaryEffects": true,
"legendaryEffectsMatchMode": "CONTAINS",
"legendaryEffects": ["Pack Rat", "Thru-hiker", "Belted", "Arms Keeper"],
"checkArmorGrade": true,
"armorGrades": ["LIGHT", "STURDY", "HEAVY"],
"types": ["ARMOR"],
"matchMode": "ALL",
"itemNames": [""],
"direction": "FROM_CONTAINER"
},
{
"testRun": true,
"name": "Transfer example: Transfer 500 of any highlighted/selected ammo or junk",
"enabled": false,
"debug": false,
"hotkey": 66,
"amount": 500,
"onlyHighlightedItem": true,
"types": ["JUNK", "AMMO"],
"matchMode": "ALL",
"itemNames": [""],
"direction": "FROM_CONTAINER"
},
{
"testRun": true,
"name": "Transfer example: Take 3 of each buffs from freezer, with alternatives",
"enabled": false,
"debug": false,
"showButton": true,
"hotkey": 50,
"amount": 3,
"transferFavorite": false,
"transferEquipped": false,
"transferAssigned": true,
"singleItemPerName": true,
"matchMode": "CONTAINS",
"itemNames": [
["Brain Bombs", "Brain Fungus Soup"],
["Cranberry Relish", "Cranberry Cobbler"],
["Blight Soup", "Megasloth Mushroom Soup", "Steeped Thistle Tea", "Sweet Mutfruit Tea"],
["Sweetwater Special Blend", "Gourd Soup"],
["Company Tea", "Hard Lemonade"],
["Glowing Fungus Puree", "Firecap Tasty Souffle", "Firecap Soup"],
"Tato Salad",
"Silt Bean Puree",
"Glowing Fungus Soup"
],
"direction": "FROM_CONTAINER"
},
{
"testRun": true,
"name": "Transfer example: Drop all (up to maxItems) notes/holo with exclusions",
"enabled": false,
"debug": false,
"showButton": true,
"hotkey": 51,
"maxItems": 100,
"amount": 0,
"delay": 50,
"transferFavorite": false,
"transferEquipped": false,
"types": ["NOTES", "HOLO"],
"matchMode": "NOT_CONTAINS",
"itemNames": ["plan", "recipe", "map", "silo state holotape"],
"direction": "TO_CONTAINER",
"checkCharacterName": false,
"characterName": "none",
"checkAccountName": false,
"accountName": "none"
},
{
"name": "Transfer example: Dynamically transfer ammo in both directions to always keep 5k in your inventory",
"enabled": false,
"debug": false,
"showButton": true,
"hotkey": 49,
"amount": 5000,
"exactAmountInDestination": true,
"types": ["AMMO"],
"matchMode": "EXACT",
"itemNames": [".45 Round"],
"direction": "FROM_CONTAINER"
},
{
"name": "Transfer example: Junk Shield, transfer 100 vault steel from scrap box",
"enabled": false,
"debug": false,
"showButton": true,
"hotkey": 84,
"amount": 100,
"types": ["JUNK"],
"matchMode": "EXACT",
"itemNames": ["Vault Steel Scrap"],
"direction": "FROM_CONTAINER"
}
]
name - [Optional] text that will be shown on button
testRun : true/false - [Optional] list all items matching conditions to transfer without transferring them, default is false (Update 2.2.0)
enabled : true/false - enable or disable specific feature
debug : true/false - show debug output for specific feature
showButton : true/false - [Optional] shows button for this config, default is true (Update 1.7.3)
showMessage : true/false/"FULL" - [Optional] show hud message for this config when activated, "FULL" will list all items, default is false (Update 2.4.3)
hotkey - [Optional] actual button that will trigger transferring, see full list of values on the link above, default is P (80) (Update 1.0.4)
maxItems - [Optional] max amount of different items to transfer, default (0) is all (Update 1.5.8)
amount - [Optional] amount of specific item to transfer, default (0) is whole stack (Update 1.0.2)
negative value is amount not to transfer, i.e. transfer whole stack - amount (Update 1.2)
exactAmountInDestination - [Optional] check if transferred item exists in destination inventory (depending on direction parameter) and adjust amount to transfer so number of items after transfer is exactly as set in amount field. Default is false (Update 2.3.4)
If destination has more items than specified in amount, items will be transferred in the other direction, from destination to source inventory.
Example: Keep 5000 ammo in your inventory, set direction to "FROM_CONTAINER", amount to 5000 and exactAmountInDestination to true.
Warning: This parameter alone will significantly increase transfer time, depending on amount of items both in player and other inventory.
Warning: Don't use in freezer or refrigerator, as transferred items will not be assigned to them, so have in mind they will spoil faster.

repeat - [Optional] number of times to repeat transfer, useful for huge amounts of items, e.g. 20x 5000 junk, default is 1 (Update 2.1)
delay - [Optional] delay in milliseconds between each item transfer, default is 0 (Update 2.0)
onlyHighlightedItem : true/false - [Optional] enables transfer of only highlighted/selected item in inventory matching conditions (Update 1.8.2)
transferEquipped : true/false - [Optional] enables transfer of equipped items, default is false (Update 1.4)
transferFavorite : true/false - [Optional] enables transfer of favorite items, default is false
transferAssigned : true/false - [Optional] enables transfer of items assigned in camp (vendor/freezer/fermenter/display...), default is false (Update 2.1.6)
transferLegendaries : false/true/[1/2/3/4/5] - [Optional] check number of legendary stars for transfer, default is false (Update 1.2.4)
Now accepts list of stars you want to transfer, for example [3,4] will only transfer items with 3 or 4 stars (Update 2.4.4)
Does not work like in lootConfig: if enabled it will filter legendary items both by name, type and number of stars specified (Update 2.4.6)
If checkLegendaryEffects is enabled, this is used for matching number of legendary effects before fetching itemCards, taking less time to process

onlyKnownPlans : true/false - [Optional] enables transfer of only known plans matching conditions (Update 2.4.7)
onlyUnknownPlans : true/false - [Optional] enables transfer of only unknown plans matching conditions (Update 2.4.7)

singleItemPerName : true/false - [Optional] transfer only first occurrence of item matching itemNames, useful for transferring from freezers/refrigerators which can hold multiple items matching same name, not in a stack, default is false (Update 1.5.2)
"amount" set will be amount of items taken in total from each itemNames list with alternatives (Update 1.5.3)
Example: ["brain bombs", "brain fungus soup"], freezer has 1 brain bombs and 5 brain fungus soups, setting amount:3 will take 1 brain bombs and 2 soups
itemNames - list of items you want to transfer
Now also accepts alternative lists for singleItemPerName, same as CONSUME configs in Invent O Matic Pipboy (Unofficial) (Update 2.4.4)
See freezer example in description above or in config file attached in latest mod update.
Obsolete: altItemNames - list of items you want to transfer in case item from itemNames is missing, see freezer transfer example above (Update 1.5.3)
direction - one of the values: Holding SHIFT button while activating transfer will inverse transfer direction (Update 1.5.5)
  • "FROM_CONTAINER" - items from container will be transferred to player inventory
  • "TO_CONTAINER" - items from player inventory will be transferred to container
matchMode - one of the values:
  • "CONTAINS" - item name in inventory should include item name in config, case-insensitive (USE WITH CAUTION: it could match too many items, in case too generic item name)
  • "STARTS" - item name in inventory should start with item name in config, case-insensitive; e.g. prefix (USE WITH CAUTION: it could match too many items, in case too generic item name)
  • "EXACT" - item name in inventory should exactly match item name in config, case-sensitive
  • "NOT_CONTAINS" - item name in inventory should not include any names in config, case-insensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety) (Update 1.4)
  • "NOT_EXACT" - item name in inventory should not match any names in config, case-sensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety) (Update 1.4)
  • "ALL" - ignores item names and drops everything
types - [Optional] list of types you want to transfer, default is all types. Full list of types: (Update 1.2.3)
"WEAPON", "ARMOR", "APPAREL", "FOOD_WATER", "AID", "NOTES", "HOLO", "AMMO", "MISC", "MODS", "JUNK"

checkCharacterName : true/false - enable or disable checking if specified characterName matches character in game
characterName - list of case-sensitive character names, will be used only if checkCharacterName is equal to true
checkAccountName : true/false - enable or disable checking if specified accountName matches account in game
accountName - list of case-sensitive account names, will be used only if checkAccountName is equal to true
characterName and accountName also accept list of names, e.g. ["char 1", "char 2", "..."] (Update 2.3.3)
checkContainerName : true/false - enable or disable checking if specified containerName matches open container in game (Update 2.4.4)
containerName - list of case-sensitive container names, will be used only if checkContainerName is equal to true (Update 2.4.4)
Container name is determined when you first open menu, shown as header of the right side inventory. It does not change when you switch filters.
If you are not on English version of game, you have to list container names in your game language.
Examples: "ALL NEARBY CORPSES" while in area looting, "AMMO" for ammo box, "JUNK" for scrap box...


delayItemCardStep - delay in milliseconds between "selecting" each item - fetching item card data for additional item details, default is 100 (Update 2.4.4)
FPS dependent, if you encounter low fps while in menu, or if some items that should be transferred aren't transferring, try to increase this value.
Used for checkArmorGrade and checkLegendaryEffects

checkArmorGrade : true/false - enable or disable checking if specified armorGrades match grade of armor in game, default is false (Update 2.4.4)
Requires localizationConfig in Additional Features to be set up for your game language.
Armor type and piece are determined from item names, so it will not work for renamed items.
Might not work if Ironclad perk is equipped - increased resistances will mismatch lookup.
armorGrades - list of armor grades to transfer, will be used only if checkArmorGrade is equal to true (Update 2.4.4)
Options: ["LIGHT", "STURDY", "HEAVY", "POWER"]

checkLegendaryEffects : true/false - enable or disable checking if specified legendaryEffects match legendary effects of item, default is false (Update 2.4.4)
legendaryEffectsMatchMode - match mode for legendary effects, options: (Update 2.4.4)
"CONTAINS" - item in inventory contains at least one of legendaryEffects from config
"EXACT" - item in inventory has all of it's effects listed in legendaryEffects in config
"NOT_CONTAINS" - item in inventory does not contain any of legendaryEffects in config
"NOT_EXACT" - item in inventory does not have all of it's effects listed in legendaryEffects in config (Update 2.4.8)
legendaryEffects - list of case-sensitive legendary effects, will be used if checkLegendaryEffects is equal to true (Update 2.4.4)
If legendaryModsConfig is enabled for currenct character, or if showUnknownModsAmongAllChars is set to true, you can list just the names.
Example: ["Quad", "Anti-armor", "Overeater"]
Otherwise you have to list part of effect descriptions, for example: ["300% Ammo Capacity", "Armor Penetration", "Increases Damage Reduction up to +6%"]

Example 1 for new parameters: Transfer any 3/4-star non-power armor pieces (LIGHT/STURDY/HEAVY) that have weight reduction perks
"types": ["ARMOR"],
"transferLegendaries": [3,4],
"checkLegendaryEffects": true,
"legendaryEffectsMatchMode": "CONTAINS",
"legendaryEffects": ["Pack Rat", "Thru-hiker", "Belted", "Arms Keeper"],
"checkArmorGrade": true,
"armorGrades": ["LIGHT", "STURDY", "HEAVY"],

Example 2 for new parameters: Transfer 3-star weapons that have all their legendary effect listed in legendaryEffects:
"types": ["WEAPON"],
"transferLegendaries": [3],
"checkLegendaryEffects": true,
"legendaryEffectsMatchMode": "EXACT",
"legendaryEffects": ["Quad", "Furious", "Vampire's", "Bloodied", "Anti-armor", "Vital", "Explosive", "Rapid", "V.A.T.S. Optimized", "Swift"],



D. Filtered Area Looting (Update 1.0.3)
If enabled, activated by pressing on "F) AutoLoot" while in area loot mode
Config file will be read by mod each time you open area loot (no need to restart the game).
KNOWN BUG: even though "types" is supported in this feature, items loaded in nearby corpses sometimes don't have any type assigned to them, so it will not loot all items of specified types

1. Configure "lootConfig" field in inventOmaticStashConfig.json file.
2. Open area looting, press button "F) AutoLoot".
3. Done!

Example:
"lootConfig": {
"testRun": true,
"name": "AutoLoot",
"enabled": true,
"debug": false,
"showButton": true,
"hotkey": 70,
"maxItems": 100,
"delay": 25,
"transferLegendaries": [1,2,3,4,5],
"transferTaggedForSearch": true,
"matchMode": "CONTAINS",
"itemNames": ["cap", "bobby pin", "fusion cell", "plasma cartridge", "fuel", ".45", "5.56", "stimpak", "mentats", "psycho", "med-x", "radaway", "rad-x", "priest pack", "pail", "bag"],
"configs": [
{
"enabled": true,
"checkAccountName": false,
"accountName": ["acc 1", "acc 2"],
"checkCharacterName": true,
"characterName": ["char 1", "char 2"],
"itemNames": ["railway spike", "item 1", "item 2", "..."]
}
]
}
name - [Optional] text that will be shown on button, default is "AutoLoot" (Update 2.0)
testRun : true/false - [Optional] list all items matching conditions to loot without looting them, default is false (Update 2.2.0)
enabled : true/false - enable or disable Filtered Area Looting feature
debug : true/false - show debug output for Filtered Area Looting feature
showButton : true/false - [Optional] shows button for this feature, default is true (Update 1.7.3)
showMessage : true/false/"FULL" - [Optional] show hud message for this config when activated, "FULL" will list all items, default is false (Update 2.4.3)
hotkey - [Optional] actual button that will trigger area looting, see full list of values on the link above, default is F (70) (Update 1.2)
maxItems - [Optional] max amount of different items to loot, default (0) is all (Update 1.5.8)
repeat - [Optional] number of times to repeat looting, useful for transfer config but works here too, default is 1 (Update 2.1)
delay - [Optional] delay in milliseconds between each item loot, default is 0 (Update 2.0)
transferLegendaries : false/true/[1/2/3/4/5] - [Optional] loot ALL legendary items if true, does not compare with itemNames, default is false (Update 1.2.4)
Now accepts list of stars you want to loot, for example [3,4] will only loot items with 3 or 4 stars (Update 2.4.4)
transferTaggedForSearch : true/false - [Optional] loot ALL tagged for search junk items if enabled, does not compare with itemNames, default is false (Update 2.1.4)
matchMode - one of the values:
  • "CONTAINS" - item name in inventory should include item name in config, case-insensitive (USE WITH CAUTION: it could match too many items, in case too generic item name)
  • "STARTS" - item name in inventory should start with item name in config, case-insensitive; e.g. prefix (USE WITH CAUTION: it could match too many items, in case too generic item name)
  • "EXACT" - item name in inventory should exactly match item name in config, case-sensitive
  • "NOT_CONTAINS" - item name in inventory should not include any names in config, case-insensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety) (Update 1.4)
  • "NOT_EXACT" - item name in inventory should not match any names in config, case-sensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety) (Update 1.4)
  • "ALL" - ignores item names and loots everything

itemNames - list of items you want to loot, looted by all characters/accounts. To set up only character-specific items see configs below:
configs - list of character/account specific configs for filtered looting, each config can contain these parameters: (Update 2.4.0) (by MissyCooper1212)
enabled : true/false - enable or disable this character/account-specific config
itemNames - list of items you want to loot by these characters/accounts, looted only by those listed below
checkCharacterName : true/false - enable or disable checking if specified characterName matches character in game
characterName - list of case-sensitive character names, will be used only if checkCharacterName is equal to true
checkAccountName : true/false - enable or disable checking if specified accountName matches account in game
accountName - list of case-sensitive account names, will be used only if checkAccountName is equal to true
characterName and accountName also accept list of names, e.g. ["char 1", "char 2", "..."] (Update 2.3.3)



E. Mass NPC Sale (Update 1.3)
If enabled, activated by pressing on "N) AutoSell" while in NPC vending mode
Config file will be read by mod each time you open NPC vending mode (no need to restart the game).

1. Configure "npcSellConfig" field in inventOmaticStashConfig.json file.
2. Open NPC vendor menu, press button "N) AutoSell".
3. Done!

Example:
"npcSellConfig": {
"testRun": true,
"name": "AutoSell",
"enabled": false,
"debug": false,
"showButton": true,
"hotkey": 70,
"delay": 25,
"configs": [
{
"enabled": true,
"sellFavorite": false,
"sellEquipped": false,
"types": ["AID", "FOOD_WATER", "WEAPON"],
"matchMode": "EXACT",
"itemNames": ["Glowing Blood", "Rad-X", "RadAway", "Insect Repellent", "Plasma Grenade",
"Plasma Mine", "Fragmentation Mine", "Baseball Grenade", "Floater Flamer Grenade",
"Floater Gnasher Grenade", "Floater Freezer Grenade", "Cryo Mine", "Cryogenic Grenade",
"Bug Grenade", "Pulse Mine", "Pulse Grenade", "Molotov Cocktail"]
},
{
"enabled": true,
"amount": -10,
"types": ["FOOD_WATER"],
"matchMode": "EXACT",
"itemNames": ["Purified Water"]
},
{
"enabled": true,
"amount": 40,
"matchMode": "EXACT",
"itemNames": ["Treasury Note"]
}
]
}
name - [Optional] text that will be shown on button, default is "AutoSell" (Update 2.0)
testRun : true/false - [Optional] list all items matching conditions to sell without selling them, default is false (Update 2.2.0)
enabled : true/false - enable or disable Mass NPC Sale feature
debug : true/false - show debug output for Mass NPC Sale feature
showButton : true/false - [Optional] shows button for this feature, default is true (Update 1.7.3)
showMessage : true/false/"FULL" - [Optional] show hud message for this config when activated, "FULL" will list all items, default is false (Update 2.4.3)
hotkey - [Optional] actual button that will trigger Mass NPC Sale, see full list of values on the link above, default is N (78)
maxItems - [Optional] max amount of different items to sell, default (0) is all (Update 1.5.8)
repeat - [Optional] number of times to repeat sale, useful for transfer config but works here too, default is 1 (Update 2.1)
delay - [Optional] delay in milliseconds between each item sell, default is 0 (Update 2.0)

configs - list of configs, each can hold these parameters: (Update 1.7.2)
enabled : true/false - enable or disable specific config
amount - [Optional] amount of specific item to sell, default (0) is whole stack (Update 1.7.2)
negative value is amount not to sell, i.e. sell whole stack - amount
sellEquipped : true/false - [Optional] enables sale of equipped items, default is false (Update 1.4)
sellFavorite : true/false - [Optional] enables sale of favorite items, default is false
itemNames - list of items you want to sell
matchMode - one of the values:
  • "CONTAINS" - item name in inventory should include item name in config, case-insensitive (USE WITH CAUTION: it could match too many items, in case too generic item name)
  • "STARTS" - item name in inventory should start with item name in config, case-insensitive; e.g. prefix (USE WITH CAUTION: it could match too many items, in case too generic item name)
  • "EXACT" - item name in inventory should exactly match item name in config, case-sensitive
  • "NOT_CONTAINS" - item name in inventory should not include any names in config, case-insensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety) (Update 1.4)
  • "NOT_EXACT" - item name in inventory should not match any names in config, case-sensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety) (Update 1.4)
  • "ALL" - ignores item names and sells everything (up to vendor limit)
types - [Optional] list of types you want to sell, default is all types. Full list of types:
"WEAPON", "ARMOR", "APPAREL", "FOOD_WATER", "AID", "NOTES", "HOLO", "AMMO", "MISC", "MODS", "JUNK"
checkCharacterName : true/false - [Optional] enable or disable checking if specified characterName matches character in game (Update 2.0)
characterName - [Optional] character name, will be used only if checkCharacterName is equal to true (Update 2.0)
checkAccountName : true/false - [Optional] enable or disable checking if specified accountName matches account in game (Update 2.0)
accountName - [Optional] account name, will be used only if checkAccountName is equal to true (Update 2.0)
characterName and accountName now also accept list of names, e.g. ["char 1", "char 2", "..."] (Update 2.3.3)



F. Camp Assign Items (Update 1.5)
If enabled, activated by pressing "U) Assign X" selected item while in FREEZER, REFRIGERATOR, FERMENTER, CORE RECHARGER or DISPENSER (punch bowl)
Also supports assignment to DISPLAYS (Update 1.5.5)
Config file will be read by mod each time you open any of specified camp objects (no need to restart the game).

1. Configure "campAssignConfig" field in inventOmaticStashConfig.json file.
2. Open menu, select item from inventory you want to assign (mouse hover over it).
3. Press button "U) Assign X" and wait.
4. Done!

Example:
"campAssignConfig": {
"name": "Assign R_AMOUNT",
"enabled": false,
"debug": false,
"showButton": true,
"hotkey": 70,
"amount": 10,
"delay": 600
},
name - [Optional] text that will be shown on button, default is "Assign R_AMOUNT" (Update 2.0)
enabled : true/false - enable or disable Camp Assign feature
debug : true/false - show debug output for Camp Assign feature
showButton : true/false - [Optional] shows button for this feature, default is true (Update 1.7.3)
hotkey - [Optional] actual button that will trigger Camp Assign, see full list of values on the link above, default is U (85)
amount - amount of items you want to assign
delay - delay in milliseconds between each assignment, I found that (for me) about 450ms is enough to successfully assign all items, you can try different values yourself. Increase delay and always double check if some items are just transferring to stash without assignment.
KNOWN BUG: if you set delay too low and container doesn't have any more assignment slots, 1 item will be transferred to stash over the limit, e.g. 51st item in freezer. With delay 600 I didn't find this issue occurring.



G. Currency Limit Indicator (Update 1.6)
If enabled, player currency will be displayed in another color while in NPC vending mode.
Works for following currencies: CAPS (40000), GOLD (10000), STAMPS (10000), SCRIP (6000) and SCOUT BADGES (100)
Inspired by Safe Legendary Exchange, which is not compatible with this mod (modifies same interface file)

You can get color values at any color picker (hex values)



Example:
"currencyLimitConfig": {
"enabled": true,
"defaultColor": "0x00ff00",
"limitLow": 80,
"limitLowColor": "0xffff00",
"limitHigh": 90,
"limitHighColor": "0xff0000"
},
enabled : true/false - enable or disable Currency Limit Indicator feature
defaultColor - [Optional] color that will be displayed when neither limit is reached, default is green (0x00ff00)
limitLow : 1-100 - [Optional] lower limit for color change in percentage, default is 80 %
limitLowColor - [Optional] color that will be displayed when lower limit is reached, default is yellow (0xffff00)
limitHigh : 1-100 - [Optional] higher limit for color change in percentage, default is 90 %
limitHighColor - [Optional] color that will be displayed when higher limit is reached, default is red (0xff0000)



H. Category Tabs Customization (Update 1.6)
If enabled, category tabs shown on top of screen will be modified in width and number
Inspired by Fast UI, which is not compatible with this mod (modifies same interface file)
KNOWN BUG: reopening vendor will load default values, possibly due to caching



Example:
"tabsConfig": {
"enabled": true,
"maxTabs": 14,
"labelWidthScale": 1.1
},
enabled : true/false - enable or disable Category Tabs Customization feature
maxTabs : 1-14 - [Optional] max number of category tabs to show, 14 is all tabs, game default is 9
labelWidthScale - [Optional] width scale for each tab, game default is 1.35



I. Item Protection (Update 1.7)
If enabled, specified items will be protected from enabled actions, SALE, SCRAPPING and/or TRANSFER (to world containers/loot piles)
Protection works ONLY ON MANUAL ACTIONS, not for other features (like Mass Transfer/NPC Sale), those have their own config sections
Inspired by Save Everything, which is not compatible with this mod (modifies same interface file)

This feature does not protect items from DROP action from pipboy, this mod does: Invent O Matic Pipboy (Unofficial) Update

Example:
"protectionConfig": {
"checkOnSelectionChange": true,
"saleProtection": {
"enabled": true,
"favorite": true,
"equipped": true,
"maxCurrency": true,
"knownLegendaryMods": true,
"named": true,
"matchMode": "CONTAINS",
"itemNames": ["item 1", "item 2"]
},
"scrapProtection": {
"enabled": true,
"favorite": true,
"equipped": true,
"knownLegendaryMods": true,
"named": true,
"matchMode": "CONTAINS",
"itemNames": ["item 1", "item 2"]
},
"transferProtection": {
"enabled": true,
"favorite": true,
"equipped": true,
"knownLegendaryMods": false,
"named": true,
"matchMode": "CONTAINS",
"itemNames": ["item 1", "item 2"],
"disableForContainers": ["POWER ARMOR"]
}
},
checkOnSelectionChange - check protection on item hover/highlight and show button as disabled if it is protected. Unnoticeable impact on performance, tested under 5ms with 1000+ itemNames in list. Default is true (Update 2.3.5)
saleProtection - section for protecting items from sale to NPC vendors
scrapProtection - section for protecting items from scrapping on workbenches and scrap box
transferProtection - section for protecting items from transferring to world containers or loot piles/corpses

Each of the 3 above sections can have these parameters, default for all of them is false:
enabled : true/false - enable or disable specific section of Item Protection feature
favorite : true/false - enable or disable protection of favorite items
equipped : true/false - enable or disable protection of equipped items
maxCurrency : true/false - enable or disable (SALE) protection of items when player currency is about to cross limit (Update 2.1.6)
this will also adjust quantity menu when selling items, to stay within player currency maximum limit
knownLegendaryMods : true/false - enable or disable (SCRAP) protection of known legedary mods, requires L. Legendary Mod Tracking to be enabled (Update 2.3.9)
named : true/false - enable or disable protection of names items, specified in itemNames
itemNames - list of items you want to protect if named is set to true
matchMode - one of the values (matching with values in itemNames):
  • "CONTAINS" - item name in inventory should include item name in config, case-insensitive
  • "STARTS" - item name in inventory should start with item name in config, case-insensitive; e.g. prefix
  • "EXACT" - item name in inventory should exactly match item name in config, case-sensitive
  • "ALL" - ignores item names and protects everything

disableForContainers - disable (TRANSFER) protection of items when player interacts with container with these names - intended for "POWER ARMOR" since game treats chassis as world containers, but it works on any container. List container names in your game language (Update 2.3.5)
example: "disableForContainers": ["POWER ARMOR", "DONATIONS BOX"]


J. Mass Purchase (Update 1.9)
If enabled, activated by pressing on "B) AutoBuy" while in vending mode
Config file will be read by mod each time you open vending mode (no need to restart the game).

1. Configure "buyConfig" field in inventOmaticStashConfig.json file.
2. Open vendor menu, either NPC or player vendor, press button "B) AutoBuy".
3. Done!

Example:
"buyConfig": {
"testRun": true,
"name": "AutoBuy",
"enabled": false,
"debug": false,
"hotkey": 66,
"showButton": true,
"maxItems": 50,
"delayNpcVendor": 50,
"delayCampVendor": 1250,
"configs": [
{
"enabled": false,
"amount": 0,
"maxPrice": 1,
"types": ["AMMO"],
"matchMode": "EXACT",
"itemNames": ["5.56 round", ".45 Round", "Fusion Cell"]
},
{
"enabled": false,
"amount": 0,
"maxPrice": 20,
"matchMode": "CONTAINS",
"itemNames": ["nuka-cola", "sugar bombs", "fragmentation grenade"]
}
]
},
name - [Optional] text that will be shown on button, default is "Extract Items" (Update 2.0)
testRun : true/false - [Optional] list all items matching conditions to buy without buying them, default is false (Update 2.2.0)
enabled : true/false - enable or disable Mass Purchase feature
debug : true/false - show debug output for this feature
hotkey - [Optional] actual button that will trigger Mass Purchase, see full list of values on the link above, default is B (66)
showButton : true/false - shows button for this feature, default is true
showMessage : true/false/"FULL" - [Optional] show hud message for this config when activated, "FULL" will list all items, default is false (Update 2.4.3)
maxItems - [Optional] max amount of different items to buy, default (0) is all
repeat - [Optional] number of times to repeat purchase, useful for transfer config but works here too, default is 1 (Update 2.1)
delayNpcVendor - [Optional] delay in milliseconds between each purchase from NPC vendors, default is 0
delayCampVendor - [Optional] delay in milliseconds between each purchase from player vendors,
   About 1250ms is required to not get error "Transaction failed due to frequency" - only for player vendors

configs - list of configs, each can hold these parameters:
enabled : true/false - enable or disable specific config
amount - [Optional] amount of specific item to buy, default (0) is whole stack
negative value is amount not to buy, i.e. buy whole stack - amount
maxPrice - max price you want to pay (per item) for items matching itemNames
types - [Optional] list of types you want to buy, default is all types. Full list of types:
"WEAPON", "ARMOR", "APPAREL", "FOOD_WATER", "AID", "NOTES", "HOLO", "AMMO", "MISC", "MODS", "JUNK"
itemNames - list of items you want to buy
matchMode - one of the values:
  • "CONTAINS" - item name in inventory should include item name in config, case-insensitive
  • "STARTS" - item name in inventory should start with item name in config, case-insensitive; e.g. prefix
  • "EXACT" - item name in inventory should exactly match item name in config, case-sensitive
  • "NOT_CONTAINS" - item name in inventory should not include any names in config, case-insensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety)
  • "NOT_EXACT" - item name in inventory should not match any names in config, case-sensitive (USE WITH EXTREME CAUTION: it could match too many items, in case not enough names specified in config, USE WITH "types" for more safety)
  • "ALL" - ignores item names and buys everything
checkCharacterName : true/false - [Optional] enable or disable checking if specified characterName matches character in game (Update 2.0)
characterName - [Optional] character name, will be used only if checkCharacterName is equal to true (Update 2.0)
checkAccountName : true/false - [Optional] enable or disable checking if specified accountName matches account in game (Update 2.0)
accountName - [Optional] account name, will be used only if checkAccountName is equal to true (Update 2.0)
characterName and accountName now also accept list of names, e.g. ["char 1", "char 2", "..."] (Update 2.3.3)



K. Stash Category Weight (Update 2.1)
If enabled, cumulative weight for each category will be shown next to stash weight
Inspired by Better Inventory which does it in pipboy menu - this one works for stash


How it works:
Recently "Weight in stash" was introduced for items that can have reduced weight by perks or any other means, this will allow to calculate weight of all items in stash at once. As data for weight in stash is only stored in item card (middle screen in stash menu), item card data for those items will need to be fetched first - that is, for categories specified in itemCardFilters
KNOWN BUG: Weights for weapons category in inventory are often incorrect, because of this item cards data will be fetched for both stash and inventory

1. Configure "categoryWeightConfig" field in inventOmaticStashConfig.json file.
2. Open any containter. At this point weight for categories not specified in itemCardFilters will be calculated (asynchronous, shouldn't cause any lag to menu).
3. Switch to any category and it should display either category weight or hotkey to fetch "Weight in stash" values
4. If current category is in itemCardFilters, press F5 to fetch and calculate category weight.
5. Don't move mouse while item cards are loading. Once finished, it will display calculated value.
6. Done!



Example:
"categoryWeightConfig": {
"enabled": true,
"debug": false,
"hotkey": 116,
"weightLabelWidth": 200,
"itemCardDelay":75,
"itemCardFilters": ["WEAPON", "ARMOR", "FOOD_WATER", "AID", "JUNK", "AMMO"]
},
enabled : true/false - enable or disable Stash Category Weight feature
debug : true/false - show debug output for this feature
hotkey - [Optional] actual button that will trigger manual fetching of item cards for current category, if it is specified in itemCardFilters, see full list of values on the link above, default is F5 (116)
weightLabelWidth : - [Optional] width of weight label, if this value is low, text will shrink down, default is 200
itemCardDelay - [Optional] delay in milliseconds between fetching each item card data, default is 75
FPS dependent, with low fps (below 60) this value needs to be higher for more precision and will take more time - set at 75 - 100
with higher fps (60+) item cards can be fetched faster so setting to 50 will most likely fetch data successfully
itemCardFilters - [Optional] categories for which you want to fetch item card data, i.e. categories for which you are using weight reduction perks
If category is not in this list, weight of items (with reduction perks) will be fetched and displayed automatically
You can remove any values from this list if you're not using weight reduction perks/armor/backpack for that category
List of categories that can have reduced weight: ["WEAPON", "ARMOR", "FOOD_WATER", "AID", "JUNK", "AMMO"]
Some apparel pieces like Presidential "Power" Suit and Cave Diving Suit have reduced weight with Sturdy Frame perk, so have in mind that "APPAREL" can also be added to filters if needed



L. Legendary Mod Tracking (Update 2.2.6)

Made by Mapekz
Localization, multi-character support and configuration by me
Made to be used with Improved Workbench which will save your known mods to file for current character - see enableLegendaryModTracking in that mod's description
If enabled, mods you can learn by scrapping will be displayed in menus you select: Scrapping, Vending, Stash, World Containers

Limitations:
You have to enter Tinker's workbench after every time you learn a new mod.
You have to enter Tinker's workbench each time you switch characters. Added support for multiple characters in IW 1.5.3
Supports only English version of game. Added support for all game languages in IW 1.5.6
Data will be saved to Fallout76/Data/itemsmod.ini file every time you enter tinkerer's workbench - same file used for Item Extraction so back up your inventory dump before saving data in workbench.

Bethesda bugs - incorrectly tagged number of stars for these languages (tested 22.10.24.):
German (de-DE):
1-star: "+50% Schlagangriffsschaden"
Japanese (ja-JP):
1-star: "+2 PERCEPTION"
Polish (pl-PL):
1-star: "+2 Szczęście"
2-star: "Automatycznie używasz stimpaka po trafieniu, gdy zdrowie wyniesie 25% lub mniej. Działa raz na 60 sekund."
Chinese Simplified (zh-Hans):
2-star: "+50% 对尸鬼的伤害" / "-15% 来自尸鬼的伤害"

1. Install Improved Workbench mod and enable "enableLegendaryModTracking" in ImprovedWorkbenchConfig.json file.
2. Save legendary mods data by opening tinkerer's workbench.
3. Enable "legendaryModsConfig" in inventOmaticStashConfig.json file, configure other options if you want different visual styles.
4. Mouse hover over any item with legendary mods to display which are [Learnable].

Example:
"legendaryModsConfig": {
"enabled": true,
"showUnknownModsAmongAllChars": false,
"showInWorkbench": true,
"showInStash": true,
"showInVendors": true,
"showInWorldContainers": true,
"learnableText": "[Learnable]",
"learnableFromArmorText": "[Learnable from Armor]",
"learnableFromWeaponText": "[Learnable from Weapon]",
"learnableTextColorStyle": "PREFIX",
"learnableTextColor": "0xff0000"
},
enabled : true/false - enable or disable Legendary Mod Tracking feature
showUnknownModsAmongAllChars : true/false - false will tag mods not known by current character, true will tag mods not known by all of the chars with saved legendary mods data - support for saving data from multiple characters added in Improved workbench 1.5.3 (default: false) (Update 2.2.7)
showInWorkbench : true/false - shows in workbench scrapping menu
showInStash : true/false - shows in player stashbox menu
showInVendors : true/false - shows in NPC and player vendor menus
showInWorldContainers : true/false - shows in world containers and loot pile menus
learnableText - text that will show next to mods that can be learned by scrapping (default: "[Learnable]") (Update 2.2.8)
Since "Defender" and "Cavalier" mods have same effect description, one for weapons other for armor ("-15% Damage Taken While Blocking") these 2 parameters will distinguish which one is not yet learned. If both are not learned it will show learnableText: (Update 2.2.8)
learnableFromArmorText - will be shown if only effect on armor pieces is learnable - Defender's
learnableFromWeaponText - will be shown if only effect on weapon pieces is learnable - Cavalier's
learnableTextColorStyle : PREFIX / LINE / NONE - color style for learnable mods, see image below for examples (default: "NONE") (Update 2.3.2)
learnableTextColor - color for learnable mods (default: "0xff0000" - red) (Update 2.3.2)
loadFileDirectory - custom file name for loading legendary mods, can be used with item extraction to not overwrite saved data. (Update 2.3.3)
Directory is set to data/interface so use ../ to go 1 folder back to data/ directory where config files are (default name is "../itemsmod.ini")
Downside if using this is you will have to manually rename legendary mods data from itemsmod.ini to your custom name to stay up to date.





M. Additional Item Columns (Update 2.4.6)

If enabled, you can show additional info for items in player and stash inventories.
Also works in vendors, area looting or any other container mode.



Example:
"additionalColumnsConfig": {
"enabled": true,
"offsetInventories": 132,
"columns": {
"LEVEL": false,
"VALUE": true,
"VALUE_PER_WEIGHT": false,
"WEIGHT": true,
"STACK_WEIGHT": true
}
}
enabled : true/false - enable or disable additional columns
offsetInventories - horizontal offset for inventory windows towards the edges of screen (Update 2.4.7)
columns - list of columns to show, options:
"LEVEL", "VALUE", "VALUE_PER_WEIGHT", "WEIGHT", "STACK_WEIGHT"
Columns appear in order how they are listed in config, left to right.
Possible values for columns are false (hidden), true (shown, with default column header), "any name" (shown with your custom header name), e.g.:
"VALUE_PER_WEIGHT": "±/w"
Default column headers are: {"LEVEL": "Lvl", "VALUE": "±", "VALUE_PER_WEIGHT": "±/lb", "WEIGHT": "Wt", "STACK_WEIGHT": "Wt*" }



Additional features, in root of json file:

debug : true/false - displays or hides debug logger.
debugKeys : true/false - displays key codes on key press when debug logger is shown. (Update 1.5)
toggleDebugHotkey - button that will toggle debug window visibility, see full list of values on the link above, default is L (76) (Update 1.7)

debugX - horizontal offset for debug logger, negative is left, positive is right. (Update 2.4.7)
debugY - vertical offset for debug logger, negative is up, positive is down. (Update 2.4.7)

(No config entry) Quantity menu has numerical input in which you can immediately start typing number when menu pops up. Real-time sync between slider value and input field. (Update 1.7)


showDurabilityValue : true/false - shows Durability value in condition field, default is true (Update 1.7.3)


maintainScrollPosition : true/false - maintain scroll position when switching between player inventory and other (right) list (Update 2.1.8)

itemNamesGroupConfig - Group item names to be used in other features (Update 2.3.0)
Group names can be used in:
"itemNames" in saleProtection, scrapProtection, transferProtection
"itemNames" in buyConfig, npcSellConfig, lootConfig, transferConfig
"excluded" in scrapConfig
Example:
"itemNamesGroupConfig": {
"EXAMPLE_GROUP": ["item 1", "item 2", "...", "xyz"],
"ExampleGroup2": ["item 3", "item 4"]
},
and then in other mod features use it as case-sensitive string:
"itemNames": ["EXAMPLE_GROUP", "ExampleGroup2", "item 5", "item 6", "..."]

showCategoryItemCount : true/false - [Optional] shows item count per category, both in inventory and stash, default is false. (Update 2.3.4)


hideLoadMessage : true/false - disable "Config file loaded" message, error messages will still be shown. You can disable this once you made sure mod is installed successfully. (Update 2.3.4)

hideTakeAllConfirm : true/false - disable take all confirmation pop-up in area looting. (Update 2.3.5)

defaultVendorItemPrice - set default price for assigning items to your camp vendor, value -1 means leave default item value. (Update 2.3.5)

hideHeader : true/false - hide or show vignette triangle in bottom-left corner titled: CONTAINER/VENDOR/... (default: false) (Update 2.3.5)

hideVignette : true/false - hide or show vignette effect; black shade on screen edges, especially noticeable on ultrawide monitors, see image galery (default: false) (Update 2.3.5)

swapToPlayerInventoryHotkey - shortcut to switch selection to player inventory, left one (default: 0 - disabled) (Update 2.3.8)
swapToContainerInventoryHotkey - shortcut to switch selection to container inventory, right one (default: 0 - disabled) (Update 2.3.8)
If swapToPlayerInventoryHotkey and swapToContainerInventoryHotkey are same hotkey selection will toggle on key press.

notifyLegendaryModLearnedOnScrap : true/false - in case hud messages bug out and don't show learned legendary mod, debug window will open and print which mod has been learned (default: false) (Update 2.3.8)


hideUnknownGamepadButtonIcons : true/false - hide question mark icons when using gamepad (default: false) (Update 2.4.0)

defaultSelectedTab - default tab to select when opening stash/vendors (default: "NEW") (Update 2.4.3)
Options: "INVENTORY", "FAVORITES", "WEAPON", "ARMOR", "APPAREL", "FOOD_WATER", "AID", "MISC", "HOLO", "NOTES", "JUNK", "MODS", "AMMO"

localizationConfig - list of localization strings used in some mod features, for game languages other than English (Update 2.4.4)
Required for:
Item extraction for armorGrade, armorType and armorPiece columns in csv customFormat
Mass Item Transfer for checkArmorGrade
Available languages, used from my obsolete parser https://www.nexusmods.com/fallout76/mods/2285?tab=files:
English, not required, but if you want to use it for translation: https://pastebin.com/P5wbzafi
Simplified Chinese (zhhans): https://pastebin.com/yj69wT3V, translated by Ultron
Spanish (es): https://pastebin.com/3bt2XfMc
Polish (pl): https://pastebin.com/qe560dr4
Other languages need manual translations, either by going into crafting menu and copying names from game, or by using xTranslator