Mod Details

Jehree's Custom Item Case Framework

Jehree's Custom Item Case Framework 1.0.1

Created by  Jehree

1.1K Downloads

SPT 0.0.0 Compatible

Design your own custom cases!

Latest Version 1.0.1
SPT 0.0.0

Updated Apr 21, 2023 at 2:07 PM

Version Notes

TO UPDATE AN EXISTING CASE:

Just replace the mod.ts file in the src folder of your case with the updated one. No need to do all your setup steps again.

Changes:

  • Fixed issue where ctrl clicking loot to a case in the SecuredContainer, TacticalVest, and Backpack slot didn’t work.
  • Note: If your case can be equipped to multiple of these three slots, only the last one listed in your config will allow ctrl clicking.
This download is externally hosted.
Always scan for viruses.
Overview

Please feel free to upload any case you create using this framework! You have my permission!

I took a commonly used custom case mod (this one) and modified it to connect everything to a config file, and added a few new features for good measure!

With this mod you can do the following things with only config settings and a few other simple folder path/ file edits:

  1. Create your own custom case that can have multiple separate cells similar to a rig.
  2. Set up a unique filter for one or more of the cells to allow them to hold different items than the rest of the case.
    • An example of this would be a Documents Case that has a separate 1x1 cell that can hold a keytool.
  3. Pick your own trader, loyalty level, price, and currency (including simple 1 item barter trades) to balance how and when you can obtain your case.
  4. Choose if your case can be equipped in any equipment slots (Armband, backpack, etc).
  5. Push your case into included or excluded filters for vanilla items in the game
    • i.e. decide if your case is allowed in secure containers, backpacks, specifically a SICC case, etc.

Example Case Included:

  • The included case is a simple 3 cell 1x1x1 case that can be equipped to your armband slot.

Installation:

  • Put the ‘zCase Framework’ folder in your user/mods folder.
  • With that said, please review the ‘Setting up your own case’ and ‘Understanding the Config’ tabs for documentation on how to create multiple cases using this mod, setting up your bundle files and paths, etc.
  • Also, I recommend making sure your case mods created using this framework keep a z in front of their name. Some mods like SVM work best if they are loaded before this mod.
Setting Up Your Own Case

Follow these steps to set up your own case:

  1. Copy the ‘zCase Framework’ folder and rename it to ‘zYour Case Name’. I highly recommend keeping ‘z’ as the first letter to make sure it loads near to last in your mod list to avoid conflicts with AIO mods like SVM.
  2. Open the package.json file in the ‘zYour Case Name’ folder with a text editor and edit the “name”: field to include your case name. This isn’t required, but will stop the server from throwing duplicate mod warnings.
  3. Decide on an ID. This needs to be a unique name for the server to recognize your case. Open your ‘zYour Case Name’ folder and in config/config.json set the very first field, “id”: to your ID.
  4. Using the Understanding the Config tab and the configREADME.json file, set up the settings for your case in the config.json file.
  5. Next, go into the ‘zYourCaseName’/bundles folder and rename the CustomCase folder to the ID you decided on. (case sensitive!)
  6. Follow the Setting up your Bundle file tab instructions to get a Vanilla EFT item model set up for your case.
    • If you are using a custom bundle file, you should be able to just place it in the bundles>‘YourCaseIDHere’ folder and rename it to case.bundle.
  7. Profit! You should now have your very own case that you designed with tons of tweakable options. Feel free to repeat this process as many times as you want for new cases, just make sure each time that you use a unique ID/ path to your bundle file. Feel free to upload your creations!
Understanding the Config

This framework is designed to make as much as possible configurable directly from the config file so you can design a case to suited your needs without needing to touch anything code related. More options could come in the future.

PLEASE NOTE: The configREADME.json file can be used as the actual config if you’d prefer to have the notes and settings next to each other. Simply delete/ rename the config.json file to something else, and rename the configREADME.json file to be “config.json” in its place.

Config options and what they do:

  1. “id”
    • It is incredibly important that you set this option FIRST and then NEVER change it again to avoid future id conflict issues. This option will set the unique item ID for the server to use to identify it when loading trader assortments, your stash, etc. For those reasons, it is crucial that you pick something unique. It doesn’t need to be crazy, just try to pick something similar to your case name. “Ammo_Pouch”, “Attachment_Case_Big” , “Keytool_Level2” are all good examples. Once you have decided on an id, set it in the config and save it because we will be using it later when we set up our bundle file for the in game model for the case.
  2. “item_name”, “item_short_name”, “item_description”
    • Self explanatory, these set the name, short name, and description of your item as it will be seen in game.
  3. “trader” and trader related options
    • These options allow you to choose which trader can sell the item, at what loyalty level they will, for what price and currency/ barter trade, limit the stock, etc.
    • For traders and currency, you can enter the trader or money type name in lower case in these config options. If you want to use a modded trader, add their trader id instead. If you want the currency to be an item and not money, add that item’s id instead.
    • Examples:
      • “trader”: “skier”
      • “currency”: “euros”
  4. “allow_in_slots”
    • This option allows you to set one or more equipment slots that your case can be equipped to. This can be used to make cases that can be equipped in armband slots, weapon slots, etc. It can also be used to create new backpacks, or rigs (limited to only 1 row of cells).
    • Review the configREADME.json for a list of equipment slots you can add here.
    • If your case can be equipped to multiple of these three slots (SecuredContainer, TacticalVest, and Backpack), only the last one listed in your config will allow ctrl clicking into it when looting.
    • Note about equipping your case regarding bundle files:
      • If the slot you are equipping to renders on the player, using a bundle file that was originally made for that slot will cause it to render in the correct location.
      • Example: If you want to make a case for your armband slot, using an armband bundle will cause it to actually render on your arm visually as that armband would. Search the EFT files for these bundles or the SPT AKI website for custom ones if (don’t redistribute files without permission though), or create your own custom ones if you are savvy enough.
  5. “external_size”
    • Self explanatory, set the external size of your case item.
  6. “internal_size”
    • These options set up your case’s internal cells/ their sizes. You can set up as many horizontal cells as you’d like here by separating them by commas. Think of these each comma separated number as size x by y of each cell.

    • Example: setting it to look like this will produce a case with 3 1x1 cells:“horizontal_cells”: [1,1,1],

      “vertical_cells”: [1,1,1]

  7. “included_filter” and “excluded_filter”
    • This is where you can set up what is allowed and disallowed from being placed in your case. Enter item ID’s or parent ID’s here to set up a case tailored to your needs.
    • Note: leaving “included_filter” blank will default it to including everything. This means that if you leave both “included_filter” and “excluded_filter” fields blank, they will allow anything to be placed inside them.
  8. “cell_to_apply_filters_to” and the unique cell filter options
    • These settings allow you to set up a unique filter for one or more of the cells of your case, allowing them to hold different items than the rest of the case
    • Setting “cell_to_apply_filters_to” to be equal to 0 will disable this section if you are not interested in using it.
    • “cell_to_apply_filters_to”
      • If this field is equal to a number, that number will coordinate to the order of the cells of your case from left to right (1 = 1st, 2 = 2nd, so on).
      • If you want multiple cells to inherit the unique filter, you can use a series of bracketed “y”s and “n”s instead. Example: [“y”, “n”, “y”] would make the 1st and 3rd cell take the unique filter, while the middle cell would take the default “included_filter” and “excluded_filter” settings.
    • the “unique_included_filter” and “unique_excluded_filter” fields take item ID’s or parent ID’s the same as the standard “included_filter” and “excluded_filter” fields.
  9. “allow_in_secure_containers” and “allow_in_backpacks”
    • Self explanatory, allows or disallows your case to be placed in secure containers and/or backpacks.
  10. “case_allowed_in” and “case_disallowed_in”
    • These fields also are pretty self explanatory, add item ID’s here to allow or disallow your case to be placed inside those items.
    • Example: use these fields to make your case allowed to be placed inside a keytool.
    • Note: only use item specific ID’s here, parent ID’s will not work.
Setting up your Bundle file

These steps go through how to take take a model from the EFT assets folders and set it up as the model for your case:

Before picking a bundle file, consider if your case is able to be equipped to an equipment slot. If it is an armband case, for example, and you give it an IFAK model, then you will have an IFAK awkwardly sticking in your PMC’s neck. If instead, you use an actual armband bundle, then it will render correctly on your player. This also works in the case of a backpack in your weapon slots, rig slot, etc.

So in short, if you want to be able to equip your case to a slot that shows on your PMC, try to pick a model that is supposed to be equipped.

  1. Find your bundle file and copy it
    • The method I generally use is to search this website for the item with the bundle I want, and copy the bundle name from the “Prefab”: “Path”: section.
    • Then, go to SPT-AKI>EscapeFromTarkov_Data>StreamingAssets>Windows>assets and use the windows search to find the file. CTRL+C or right click- copy the file.
  2. Paste your bundle file in the bundles>YourCaseIDHere folder of the mod, and rename it to case.bundle.
  3. Use this tool to generate new CAB ID’s so your bundle will load along side the Tarkov item it was actually made for. Open the tool, go to file>open, find your case.bundle file and open it. Click ‘Generate New CAB IDs’, and your done. You can close the tool.
  4. In your custom case mod folder, open the bundles.json file
    • The first thing to do here is make sure that the path in the “key”: field is “YourCaseIDHere>case.bundle”.
    • Then, go to this site and search the original item your bundle is for. Copy the “dependencyKeys” and paste them in that same section of your bundles.json file.
  5. You’re done!

Troubleshooting:

  • If your case’s icon is incorrect, but the model in the inspect view is fine, using the ‘Clean Temp Files’ in the SPT launcher settings should clear the cache and get that to update.

  • If you inspect your case and there is no model there at all, there’s a good chance your dependency keys are wrong. Double check that those are correct.

  • If when inspecting the case you see a doge cube, double check that your case ID in the config, your bundles/‘YourCaseIDHere’ folder, and the path in “key”: in the bundles.json are all matching.

Credits

Credits:

I used this mod as a base and modified it to create this framework, thank you to these peeps for contributing to that!

Jiblet

Ke Kaiju

Orbitas

Version 1.0.1
Download Mod Version
SPT 0.0.0
Latest Compatible SPT Version

657 Downloads

Created Apr 21, 2023 at 2:07 PM

Updated Apr 21, 2023 at 2:07 PM

Virus Total Results

TO UPDATE AN EXISTING CASE:

Just replace the mod.ts file in the src folder of your case with the updated one. No need to do all your setup steps again.

Changes:

  • Fixed issue where ctrl clicking loot to a case in the SecuredContainer, TacticalVest, and Backpack slot didn’t work.
  • Note: If your case can be equipped to multiple of these three slots, only the last one listed in your config will allow ctrl clicking.
Version 1.0.0
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

174 Downloads

Created Apr 16, 2023 at 7:50 AM

Updated Apr 16, 2023 at 7:50 AM

Virus Total Results

1.0.0

Version 1.0.0+hotfix
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

114 Downloads

Created Apr 16, 2023 at 8:43 PM

Updated Apr 16, 2023 at 8:43 PM

Virus Total Results
  • Fixed horizontal_cells and vertical_cells being reversed.
  • Added project URL to the LICENSE.txt file.
Version 1.0.0+hotfix-2
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

181 Downloads

Created Apr 17, 2023 at 1:34 AM

Updated Apr 17, 2023 at 1:34 AM

Virus Total Results
  • Corrected dependency keys in bundles.json so the armband model will show correctly in game.
  • Updated documentation to better explain the bundle steps, including finding and adding dependency keys to the bundles.json.
Cobetcknn

Hello Jehree,

Do you plan to continue development of this Mod Tool?

If not, may I have permission to work on updating it?

0 Likes
aditzu

Hi guys,

Any update on losing the ArmBand on death ? I’m playing on 3.7 right now. On older versions, the mod worked perfectly (wasn’t losing the ArmBand on death).

0 Likes
HoneyBadgeri

Is there a way to get my custom case go into special slot, without the help of an external mod also is there an easy way to use filters for multiple items like ammunition or grenades without having to type every id?

The mod is really nice and I’m sure I will create tons of new cases once I get around these couple of issues I’m not figuring out yet, thank you for your time and effort.

0 Likes

Yes, check the example case config where it allows it into the armband slot. That’s where you’d allow it into special slots.

And yes, you can use parent ids of items rather than listing them one by one.

0 Likes

Got the bullet filtering working with parent ids, thank you for that. I couldn’t figure out which command would allow it into special slots, so either I couldn’t crack that puzzle or then the src doesn’t have special slots identified, either way I just use it from safe container for now.

My case also misses the little identification path like in other items when inspecting, e.g MS2000 Marker reads “Special equipment”, dunno if thats intended or if I’ve messed around somewhere I wasn’t supposed to.

Either way, thanks for the speedy reply, it’s working well enough for my purposes as it is.

0 Likes
DataZero

Normally you can’t lose the ArmBand when you die. In your Arm Wrap With Storage example, unfortunately, you still lose the ArmBand. Is there a way to ensure that you do not lose the ArmBand with the contents when you die?

0 Likes
Jehree

If I die with the armband equipped, I don’t lose it or anything stored inside it. Unsure why you would be losing things. Are you on 3.5.5?

0 Likes
Zaxon

I am on 3.5.5 and I lost my armband when i die…

0 Likes
Jehree

To be absolutely clear, you are losing it when it is equipped and you die?

0 Likes
Zaxon

Yes, i die and then i lose it like all other equiepments, when i get out and see my character, it wears nothing. And I am sure that on my server config, it has lostondeath setted as “ArmBand”:false

0 Likes
Jehree

That is really weird. I’ve played with it quite a bit without losing it on death. I’ll have to look into that.

0 Likes
DataZero

Thanks Zaxon for the answer

Yes I lose it if I have it equipped and die within a round. I also play on the 3.5.5

0 Likes
Zaxon

I think it could be my problem, but i don’t know why, I was set my tactical vest lost on death as “false” too, and it going well, no loosing my thing on tactical vest after death, but I loose a case created by an other mod called SNACCPACK putting it on my tactical vest, I think it could be the same issure like that?

0 Likes
QaMazi

Is there a way to make multiple slots like underneath eachother? Such as the look of the oakley bag? Like a two by two with a two by 2 under it?

0 Likes
Jehree

Currently no, that gets a little more complicated. I’d like to experiment with it in the future but this version doesn’t support it.

0 Likes
MdioxD

How can I add multiple new cases ? Adding to the config seems to only load the last item on the list

0 Likes
Jehree

Currently you can only make 1 case per copy of the mod. Multiple cases in one mod is a planned feature that should be out soon though, other projects just keep taking priority haha.

You can always make multiple copies of the mod though, ofc.

0 Likes
MdioxD

I actually tried copying the mod, it seems to conflict for some reason with it’s previous version (basically no matter what I do one of the two items ends up in the doge cube and the .bundle file doesn’t seem to load :/)

0 Likes
Jehree

You definitely can have multiple as I currently do and it is working. You might just go back thru the Bundles tab on the modpage and see if you missed anything.

0 Likes
MdioxD

Hey I’m trying to use your mod to create useable battle belts, it works great, but I can’t put my items in “quick use”

Is that a config thing I missed or if not, is it possible to have that added in the mod ?

Thanks in advance ;P

0 Likes
Jehree

You can only hotkey items from the case if you’re putting it in your rig slot. From what I understand the slots are the ones that determine rules like that.

0 Likes
ProfessionalyWet

Hi there, I’m just wondering if it’s possible to turn my case into a backpack? I have it working with it being a backpack and going into the backpack slot. But the only issue is that it can’t be insured along with when trying to pick up loose loot it won’t be able to go straight into the backpack (and when you ctrl + left click an item to switch inventory).

0 Likes

Good catch, check the newest version

Edit: But even before the fix, I was able to insure the case just fine. What happens when you attempt to do that?

0 Likes

When I attempt to insure my backpack/case it gives you that “Item cannot be insured” error like with armbands. They were quite big backpacks that were quite expensive so when I died I lost them haha.

0 Likes

Hmm. I was able to. Can you try again with this update and see if that is still the case?

Sorry about your lost items.

0 Likes

I tried again, unless there’s a config setting for it or I did something wrong it doesn’t let me insure it. Is it possible to allow loot to go straight into it when you pick up loose loot as well?

0 Likes

My appologies for not checking if the loose loot goes into your backpack. It now does, thank you so much!

0 Likes

Np! I’m not sure about the insurance issue, I’m able to insure cases just fine, though I haven’t tested extensively.

0 Likes
backdoorbreacher

just so you know.
horizontal_cells
vertical_cells
are oppersite in the config
horizontal cell changed vertical and vertical changed horizontal

0 Likes

Oh whoops, thank you I’ll fix that in a bit and update

1 Like
DarkEsteves

i get this error

TypeError: Cannot read properties of undefined (reading ‘Filter’) TypeError: Cannot read properties of undefined (reading ‘Filter’) at Mod.allowOrDisallowIntoCaseByParent (H:\Jogos\Escape From Tarkov OFFline\user\mods\zCase Framework\src\mod.js:190:67) at Mod.allowIntoContainers (H:\Jogos\Escape From Tarkov OFFline\user\mods\zCase Framework\src\mod.js:157:22) at Mod.postDBLoad (H:\Jogos\Escape From Tarkov OFFline\user\mods\zCase Framework\src\mod.js:137:14) at PostDBModLoader.executeMods (C:\snapshot\project\obj\loaders\PostDBModLoader.js) at PostDBModLoader.onLoad (C:\snapshot\project\obj\loaders\PostDBModLoader.js) at App.load (C:\snapshot\project\obj\utils\App.js) TypeError: Cannot read properties of undefined (reading ‘Filter’) TypeError: Cannot read properties of undefined (reading ‘Filter’) at Mod.allowOrDisallowIntoCaseByParent (H:\Jogos\Escape From Tarkov OFFline\user\mods\zCase Framework\src\mod.js:190:67) at Mod.allowIntoContainers (H:\Jogos\Escape From Tarkov OFFline\user\mods\zCase Framework\src\mod.js:157:22) at Mod.postDBLoad (H:\Jogos\Escape From Tarkov OFFline\user\mods\zCase Framework\src\mod.js:137:14) at PostDBModLoader.executeMods (C:\snapshot\project\obj\loaders\PostDBModLoader.js) at PostDBModLoader.onLoad (C:\snapshot\project\obj\loaders\PostDBModLoader.js) at App.load (C:\snapshot\project\obj\utils\App.js)

0 Likes

…found it kkkkk , just reorder it, i put it in top of loaded mods

edit: dont givme any error but i think is not working bc the armband is not apearing in ragman stash…

0 Likes

What other mods do you have installed? Any that are adding things to Ragman?

0 Likes

Yes , i have CNN containers i get one bc i received a gift by leveling up …but dont shows me in ragman store to buy it …other thing , it works as intended but the icon/image dont show..

0 Likes
Jehree

I’ll have to do some testing to see if there’s an incompatibility with that mod.

The issue with the icon is fixed with the most recent hotfix version

0 Likes
Ori

I’m receiving the exact same error. I don’t have CNN containers. The mod is set to load last. I removed your “zCaseFramework” mod incase it was conflicting.

Mod list:

image.png

0 Likes
Ori

Weird…I removed SVM, and ran the server with no errors. I re-added SVM to be 100% sure it was SVM that was giving me the error, and ran the server again, no errors…All I did was remove and re-add the SVM folder, that’s it. I’m confused

0 Likes

Can you see if it works without SVM? And if it does, can you send me your SVM preset so I can look into why it might be conflicting?

0 Likes
Ori

ooooh okay. So in doing that, it moved SVM to the bottom of the load order. That’s why it worked. Going to try and see if it will work properly with SVM at the bottom.

0 Likes

Yeah I really dislike the way SVM is coded lol. It conflicts in some cases where filters are concerned. Although I thought I had safeguarded against that issue.

Are you using SVM to remove filters from any cases?

0 Likes
Ori

Yes. I use SVM to increase the slots of some cases and I remove filters in Item Case and THICC Item Case. Should I try and remove those?

0 Likes

If loading your case before SVM works, do that. If not, unchecking the SVM option to remove those filters will likely fix the error.

I fixed the incompatibility with the secure container and backpack filter settings but didn’t think about those cases. I’ll get those fixed with the next update.

0 Likes
Ori

Yeah, SVM has to load after “my” case mod for it to work.

0 Likes

Gotcha, thank you for testing

0 Likes

Works , just removed order.json and reopen the server …for now the icon is showing but i forget to see if is in ragmans stash …but for now its woking without delete any mod …

0 Likes

Details