ViP3R_76 added a new file:
QuoteDisplay MoreFEATURE-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.- 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.
INSTALLATION
- as it is a server-mod, it only needs to be installed in the "user/mods" Folder
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.- 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 examplesCHANGES 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.