JContainers - data storage framework by silvericed
Skyrim » Modders resources and tutorials
Added: 10/01/2014 - 10:23PM
Updated: 22/10/2014 - 01:08PM

3,835 Endorsements

3.1.0 Latest version

65,010 Unique D/Ls

77,222 Total D/Ls

158,486 Total Views

Uploaded by silvericed


Last updated at 8:08, 22 Oct 2014 Uploaded at 17:23, 10 Jan 2014


Data structures framework for Skyrim

What's new?
v3.2-alpha  carries more Lua functionality - and some may desire to move code parts with huge JC-usage into Lua scripts, due to following benefits:
  • Don't have to retain, release objects manually
  • Faster than standard Lua - Just-In-Time compiler compiles Lua code of fly into fast machine code
  • Code looks much compact - Draft

Testing and feedback, from your's, modder's side are required


JContainers is a modding framework that extends Papyrus by adding various data structures. It features:

- Data structures
- Import and export data to and from JSON files
- Path resolving - simplifies access to nested data
- 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
Post feature requests here please


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.[/url]

Mods using this plugin

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 - you don't know what FF is?
Druids Den - Collectors Edition

Versioning note

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

- API version increases when API changes in backward-incompatible way. Mod requiring JC 3.x most likely will not work with JC 4.x installed
- 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 backwards-compatible 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 nexus
thanks to RealAntithesis for 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.
- 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.