JContainers

⭐ ⭐ (61,932) 📥 1.8M downloads 📌 v3.3.0.RC.3

By silvericed · Modders Resources and Tutorials

⬇ Download on Nexus Mods

About This Mod

[size=6][color=#ebe1e7]JContainers[/color][/size] <br /> <br />The main goal of the project is to extend Papyrus with JSON-based data structures (arrays and maps). <br /> <br />[b][size=2][color=#ebe1e7]Dynamism <br />[/color][/size][/b] <br /> If you have some programming background, you'll notice that you can not simply instantiate a class (or a script) in Papyrus. Almost everything exists in a single exemplar, except aliases and magic scripts. Papyrus arrays aren't expandable, single array can hold a values of a single type only. <br /> JContainers brings JMaps so that you can use them the same way FO4 structures are used. Considering the ability of JArray, JFormMap, JIntMap structures to reference/contain each other - and you can build large graphs of structures. <br /> <br />[b][color=#ebe1e7]Embeded Lua[/color][/b] <br /> <br />Ability to filter/search/modify data structures with Lua. Ability to write your own Lua scripts. Example: <br />[color=#b6b6b6] <br />[/color][i]    int obj = JValue.objectFromPrototype("[ <br />        {&#92;"magnitude&#92;": -9}, <br />        {&#92;"magnitude&#92;": 11}, <br />        {&#92;"magnitude&#92;": 3} <br />    ]") <br /> <br />    int eleven = JValua.evalLuaFlt(obj, "return jc.accumulateValues(obj, math.max, '.magnitude')") <br />    int minusNine = JValua.evalLuaFlt(obj, "return jc.accumulateValues(obj, math.min, '.magnitude')")[/i] <br /> <br /> <br />[color=#ebe1e7][i][color=#ebe1e7][New][/color][/i][/color][b][color=#ebe1e7] Domains[/color][/b] <br /> <br />The Domain is isolated, standalone sandbox, non-global (per-save file), personal storage of JC's data, created by a modder for personal (or non-) use. The feature enables automatic removal of the data stored in a domain once a mod linked to the domain gets uninstalled. <br />Example of the mod that use domain - [url=http://bit.ly/1TBrPfb]https://github.com/SilverIce/PosePicker/commit/38d09404bb8db6c8e07548650bb327a445c452fd[/url] <br /> <br />[color=#ebe1e7][i][New][/i] [/color][b][color=#ebe1e7]Form Observing[/color][/b] <br /> <br />Internal improvement. Mimics the way a script references a form - a form referenced by any of JContainers' containers won't be unloaded by the game (unless force unloaded). Once a form deleted, the FormObserver will receive a notification and form references to that form will be set to zero. <br /> <br />[size=4][color=#ebe1e7]Links[/color][/size] <br /> <br />[url=https://gist.github.com/SilverIce/ed94c6763ed3e65e4f53]Quick feature overview[/url] <br />[url=https://github.com/SilverIce/JContainers/wiki]Latest documentation[/url] <br />[url=https://github.com/SilverIce/JContainers/releases]Watch project news and updates on GitHub[/url] <br /> <br />[size=4][color=#ebe1e7]Special thanks[/color][/size] <br /> <br />- to Saerileth and Gooser, without your interest that project would be abandoned on very early stages <br />- to Skwerlman and Alexdunn for documentation improvements <br />- to Verteiron for feedback, bugreports <br />- to RealAntithesis for feedback, object' identifier generation idea <br />- to Djarb, specifically for default-return-values idea <br /> <br />[size=4][color=#ebe1e7]Credits[/color][/size] <br /> <br />[url=http://skse.silverlock.org/]SKSE team[/url] - it would be impossible to imagine Skyrim modding without it <br />[url=http://www.boost.org/]boost [/url] framework authors - real treasure for any C++ programmer <br />Akheron, who made [url=http://www.digip.org/jansson/]jansson[/url] - nice JSON parsing library <br />[url=http://www.lua.org/]Lua[/url] and [url=http://luajit.org/]LuaJIT[/url] creators <br /> <br />[size=4][color=#ebe1e7]Permissions[/color][/size] <br /> <br />- You are free to[s] shoot into your own foot[/s] bundle JContainers. But it's not advisable to do it, as this will inflict your users, as the plugin gets updated quite often and JContainers version downgrade, version conflicts due to mods bundling different versions WILL cause issues¹. This is time-proven fact. <br />- 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 &amp;&amp; JC.featureVersion &gt;= hardcodedFeatureVersion`. <br />- 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. <br />[size=3][size=1] <br />[/size][/size]

Mod Details

Game
Skyrim (Legendary Edition)
Author
silvericed
Version
3.3.0.RC.3
Downloads
1,812,050
Endorsements
61,932
Category
Modders Resources and Tutorials
Last Updated
11/25/2016

How to Install Skyrim LE Mods

Use Vortex or MO2. SKSE required for scripted mods.

Visit the Nexus Mods page for specific installation instructions for this mod.

⭐ Rate & Review

Your rating:

FAQ

Is JContainers safe to download?

Linked from Nexus Mods which scans all files for viruses. Always download from the official source.

Does this mod work with the latest game update?

Last updated 11/25/2016. Check the official download page for version compatibility.

Where can I learn more about Skyrim LE modding?

Check our complete Skyrim LE modding tools guide for step-by-step setup instructions.