JContainers by silvericed
Skyrim » Modders resources and tutorials
Added: 10/01/2014 - 10:23PM
Updated: 20/01/2015 - 03:08PM

6,790 Endorsements

3.2 Latest version

106,269 Unique D/Ls

129,790 Total D/Ls

261,944 Total Views

Uploaded by silvericed


Last updated at 3:08, 20 Jan 2015 Uploaded at 10:23, 10 Jan 2014

19th Jan - version 3.2 released. See change log for more info


Data structures framework for Skyrim


JContainers is a modding framework that extends Papyrus by implemented basic data structures. It features:

- Data structures (arrays, dictionaries)
- Import and export data to and from JSON files (for ex. read configs, backup data and etc)
- Path resolving - simplifies access to nested data structures
- Lua (in progress) - The main purpose is to minimize the amount of cumbersome Papyrus code needed to handle data by moving it into Lua scripts
- C++ API - interaction with JC via C++ interface. This mean you can invoke C++ analogue of any Papyrus function JC provides. See developer resources archive for usage example.


Latest documentation
Watch project news and updates on GitHub


Use NMM/MO/anything.
For manual installation open you Skyrim Data folder, place the scripts, SKSE etc in that folder. When ask to merge folders hit yes.

Mods using this plugin

Swift Potion Reborn - configurable auto-potion system
AH Hotkeys - Skyrim Hotkey Manager
HooKmmerse - auto resolves cross-mod jump-height, skeleton scale value conflicts. Explanation
KeyInput - text input framework
Proper Potion Names - a potion name reveals effects of the potion
Familiar Faces - meet your characters from past play-throughs in-game
Druids Den - Collectors Edition - nature-themed player home for magpies & treasure hunters

Versioning note

JContainers uses semantic versioning scheme - API.FEATURE.PATCH. Essence:

- API version increases when API changes in backward-incompatible way. Note that it's possible to run different plugins with different API versions in parallel. E.g. JC 3.x can be installed alongside with 4.x
- FEATURE version increases when functionality added in a backwards-compatible manner. Mod requiring JC 3.1 will perform well with JC 3.2 and above
- PATCH version increases when tiny bug fixes added.

Special thanks

thanks to Saerileth and Gooser, without your interest that project would be abandoned
thanks to skwerlman, alexdunnfor documentation improvements
verteiron - his Familiar Faces mod makes my framework much more noticeable on the Nexus
thanks to RealAntithesis for sharing interesting ideas

Third party libraries used

skse library - it would be impossible to imagine Skyrim modding without it
boost framework - real treasure for any C++ programmer
jansson - nice JSON parsing library


- You (as mod author) may bundle this plugin. Although it's desirable for shared resources stay really shared.
- It's up to you to report to a user of incompatibility of installed JC API version and the version mod has been compiled for the best user's experience. Valid condition is `JC.APIVersion == hardcodedAPIVersion && JC.featureVersion >= hardcodedFeatureVersion`.
- The files in this plugin are not to be modified under any circumstance as that could cause problems when a load order includes multiple mods that use the plugin and one or more mods have modified the files in this plugin.