Skip to content
SilverIce edited this page Dec 26, 2014 · 36 revisions

What is JContainers?

JContainers (JSON Containers or just JC) is data structures framework for Skyrim, an SKSE plugin. Implements JSON data structures (containers). It features:

  • Array container - collection of a values (value is any number, text, form or another container). Unlike stock Papyrus array, JC's array (JArray) can store any number of values of any combination of types, can be resized, searched and etc
  • Associative containers (maps) - stores elements formed by a combination of a key value and a mapped value. JMap's keys are strings, JFormMap's keys are forms.
  • Trees, graphs of data structures - any combinations of connections between containers are possible.
  • Path resolving - simplifies an access to nested container's data.
  • Export or import a whole graph or tree into or from a JSON file.
  • Lua (in progress) - embedded Lua. It's role, purpose is the same as the purpose of SQL.
  • Threadsafe - it's safe to modify or read from a container simultaneously from a multiple scripts (threads) and the container will still be in a consistent state.

Further reading

If you are new to JC then better start reading with Getting Started page. The purpose of this wiki is not to cover what each function does (see script files for this kind of info.), but give you understanding of how it works together.

Otherwise feel free to visit any page on the right sidebar.