
Item Stacking Plus 1.0.0
-
- SPT 3.11
- ViP3R_76
- 950 Downloads
- 9 Comments
Bothering mod authors will lead to warnings and repeat offenses will lead to bans.
FEATURE-LIST
- Category-Based Configuration: Modify items based on logical groups: Medical, Repairs, Stims, Barter, Clothing, Parts/Mods, Provisions, Cash, Others.
- Flexible Stacking & Resource Values:
- Set custom stack sizes for most items (generally clamped [1-99] during application).
- Set custom
MaxHpResource
for Medical items (minimum 1, stack size forced to 1). - Set custom
MaxRepairResource
for Repair items (minimum 1, stack size forced to 1). - Advanced Stimulator Handling (
stims.jsonc
&config.jsonc
)- Choose a
stims_mode
("Stacks", "Usage", or "Mixed") inconfig.jsonc
. - "Stacks" Mode: Control stack size directly [1-50] using
[ "ItemID", "X" ]
format. - "Usage" Mode: Control usage count (via
MaxHpResource
) [1-50] using[ "ItemID", "X" ]
format; stack forced to 1. - "Mixed" Mode: Configure stack size OR usage count per stim:
[ "ItemID", "X" ]
sets stack size [1-50];[ "ItemID", "X/Y" ]
sets uses to Y [1-50] and forces stack to 1.
- Choose a
- Applies specific high stack limits for Currency items automatically.
- Smart Config Management:
- Auto-Relocation: Moves items listed in the wrong category file to the correct one on server start (if both categories are enabled).
- Deduplication: If an item ID exists in multiple enabled category files, only the entry from the highest priority category is used (Priority: Cash > Med > Repair > Stims > Parts > Barter > Clothing > Provisions > Others).
- Auto-Creation & Population: Generates default config files (
config.jsonc
,blacklist.jsonc
, all category files inconfig/items/
) if they are missing on first startup. Populates Medical, Repairs, Stims, and Cash files with relevant default item entries.
- Blacklisting: Exclude specific items from all modifications using
blacklist.jsonc
. Keys and Keycards are automatically blacklisted by default. - Watchdog (Optional): Automatically reload changed category config files (
config/items/*.jsonc
) while the server is running (disabled by default inconfig.jsonc
). Requires server restart to toggle reliably. - Debug Logging (Optional): Enable verbose logging for troubleshooting (disabled by default in
config.jsonc
). Warning: Can create very large log files quickly. Requires server restart. - JSONC Support: All
.jsonc
config files allow comments (//
or/* ... */
) for notes and clarity. - Graceful Error Handling: Handles most JSON syntax errors in category files by logging a clear error message pointing to the file and skipping that specific file, allowing the mod to load and process other valid configurations.
Configuration files are located in user/mods/vip3r76-ItemStackingPlus/config/
.
1. Global Settings (config.jsonc)
This file enables/disables processing for entire item categories and controls mod behavior.
- Category Enables (
medical
,repairs
,stims
, etc.): Set totrue
to enable processing for that category's corresponding file in theconfig/items/
folder. Defaults tofalse
for all categories. You must enable the categories you want to modify. stims_mode
: (Only active if"stims": true
) Defines how stimulator values are interpreted. Accepts"Stacks"
,"Usage"
, or"Mixed"
(case-insensitive). Defaults to"Stacks"
. See header comments in the generated file for details on each mode.enableWatchdog
:true
enables automatic reloading of changed category files while the server runs.false
disables it (default).enableDebugLogs
:true
enables verbose logging to console andlogs/debug.log
. Use only for troubleshooting.false
disables it (default).
Refer to the detailed comments automatically generated within config.jsonc
for full explanations.
2. Cateogry Settings (config/items/*.jsonc)
Files inside the config/items/
directory contain lists of items to modify for that specific category.
- Format: All files use a
List
array (exceptpartsnmods.jsonc
which also has an ignoredParentList
). Each entry within theList
must follow the format:[ "ItemID", "ValueString" ]
(Note: Both the ItemID and the Value are enclosed in double quotes) ItemID
: The item's template ID (_tpl), e.g.,"5449016a4bdc2d6f028b456f"
. You can find these using tools like SPT Profile Editor or by exploring the item database.ValueString
: The desired value as a string.- For most categories (Medical, Repairs, Barter, Clothing, PartsNMods, Provisions, Others, Cash), this string must represent a whole number equal to or greater than 1 (e.g.,
"50"
,"400"
,"1"
). The mod applies category-specific clamping later (e.g., [1-99] for barter, [1-50] for stims stack, no max for medical HP). - For
stims.jsonc
only whenstims_mode
is "Mixed":ValueString
can also be in the"X/Y"
format (e.g.,"1/3"
) to set usage count.
- For most categories (Medical, Repairs, Barter, Clothing, PartsNMods, Provisions, Others, Cash), this string must represent a whole number equal to or greater than 1 (e.g.,
- JSONC Comments: You can use
//
or/* ... */
for comments. The mod adds// Item Name
comments automatically when it creates/rewrites files. - Commas: Remember standard JSON array syntax: add a comma
,
after each[ "ItemID", "ValueString" ]
entry, except for the very last one in theList
.
Refer to the detailed header comments automatically generated within each specific category .jsonc
file for precise rules and examples
CHANGES CAN APPLIED IN REALTIME - BUT REQUIRE CLIENT RESTART !
- If
"enableWatchdog": true
is set inconfig.jsonc
, the mod will monitor theconfig/items/
directory for file changes. - When a change is detected in a file belonging to an enabled category, the mod attempts to reload that specific file.
- If the reload is successful and results in actual data changes (not just comments/formatting), the
applyStackSizes
process is run again. - Note: Requires a server restart to enable/disable reliably. May cause minor server stutters during reloads on large configs.
Delay in watching config changes - this prevents mass changes flooding the server.
Later i will add a queueing system to handle this, but for now it is what it is.
WARNING! - No non-FIR/FIR Protection
What does that mean?
It means what it says - NO protection!
If you move a stackable item you configured in one of the category lists that is non-FIR with a FIR-item (or vice versa) -> it WILL be stacked.
If you use FIKA: While in-Raid, there is a small protection from FIKA itself that disallows such a stacking and produces an error-message in server-log.
NOTES - READ CAREFULLY!
- Hideout consumes full stack!
--> if you have a stack of 32 x SOAP, and hidehout needs 4 and you turn in... 32 SOAP are gone (BSG "Bug")
- Works fine with MERGE CONSUMABLES from Lacyway
- Works "partially" with FIKA (FIR to FIR stacking is possible while in-Raid, see non-FIR/FIR Protection Tab
CREDITS
Based on Idea from: SPT-BSS Better Stack Size from Hooshu
Ghostfenixx, Acidphantasm, DrakiaXYZ, Tyfon, Lacyway and all other awesome guys out there that are doing mods!
The SPT and FIKA Community Members.
-
Version 1.0.0
- ViP3R_76
- 950 Downloads
- Initial Public Release
shocked
wait im kinda confused by what this is, does this allow you to stack non-stackable items?
ViP3R_76 Author
It allows you to stack items regardless of its status (fir/nonfir) to generate free space in your inventory. Normally, for example one soap takes 1 slot. If you have 5 soaps - 5 slots, with this, you stack them together into one slot.
Bubba358
it keeps telling me the file is invalid when i try to extract or open the downloaded file the zip folder is empty
ViP3R_76 Author
Try 7zip, Nanazip, or any other extraction tool should work.
Bubba358
thanks ill give that a try
MrUlfen
[ISP CfgMgr] "config.jsonc", File content ignored. Fix syntax error (Unexpected token 'ö', ..."dical": faöse,
""... is not valid JSON)
this is the error i get in console and stacking doesnt work
Bismarck-chan~
Just replace all "ö" letters with "l" and it will work
ViP3R_76 Author
Or simply delete the config.jsonc, it will automatically rebuild.
MrUlfen
hjaving a hard timedownloading it