JSONCardLoader
A mod made for Incryption to create custom cards, sigils, starter decks, tribes, encounters, items, regions, masks, talking cards, languages, gramophone tracks, and more using JSON files.
About this mod Author’s original text
JSON Loader V2
This is a mod made for Incryption to create custom cards, sigils, starter decks, tribes, encounters and more using JSON files.
Version 2.0 of this mod is designed to create full compatibility with Version 2.0+ of the API. JSON files compatible with this API will have an extension of.JLDR2
Reloading
As a mod creator using JSONLoader you can press "shift + r" to apply the changes you've made to any jldr2 files without having to restart the game.
Validation and GUI editing
You can use this online JSON Schema validator to avoid syntax errors, and make sure the fields are correct in your jldr2 files. Just put the contents of the corresponding schema from the Schema folder located in the JSONLoader files or on the github page in the left hand panel, and the contents of the jldr2 file that you want to validate in the right hand panel. If the json appears to be invalid the website will tell you where the error is and what exactly is wrong.
There is also a GUI based version that is an option, just input a schema in the panel at the bottom of the page and copy the json from the right hand panel when done!
Where do my files go?
Files go anywhere in the plugins folder, along with the artwork required for said file.
Converting Existing Cards to JLDR2
In order to have compatability with mod manager, version 2.0.0 breaks backwards compatability by default. Don't worry though! This mod comes with a backwards compatibility mode that can optionally be turned on. When turned on, all existing.JLDR files will be read in, converted to.JLDR2 files, and dumped back into the folder where the original JLDR was found. However, I cannot guarantee that the version will be 100% correct, especially when it comes to assigning the appropriate prefix to the card (see the first heading below under 'Custom Cards').
If you are a card creator, the best course of action is to set the config option to convert all JLDR files, manually inspect the JLDR2 files generated to ensure they are correct, then publish your mod with a brand new set of JLDR2 files.
For the most part, JLDR2 and JLDR are the same. The key differences are outlined here:
Abilities and Special Abilities
Previously, base game abilities and mod-added abilities were handled differently; they were completely separate parts of the file. Now, base game abilities and mod-added abilities are kept in the same list. Base game abilities are referred to by their enumerated name, such as "Flying" or "Reach." Mod-added abilities are referred to by a combination of the Mod GUID and their name. For example, the "Deathburst" ability from Void's sigil pack (part of the popular "All the Sigils" mod) is referred by the string "ATS.Deathburst"; in this example, "Deathburst" is the name of the ability, and "ATS" is the GUID of the mod.
So to create a card with both Flying and Deathburst, you would do something like the following:
"abilities": [ "Flying", "ATS.Deathburst" ]
This holds true for all custom enumerations on a card. In the case of Abilities and Special Abilities, this is very different behaviour from previous versions of JSONLoader. However, all enumerations are treated this way. For example, mod added Traits, Metacategories, special stat icons, etc can all be handled exactly the same way.
Evolve, Ice Cube, and Tail
Previously, these parameters were set as individual objects on the card. In a JLDR2, they have been "flattened" into the main card definition. The best way to understand this is to see an example:
JLDR
{
"evolution": {
"name": "Bear",
"turnsToEvolve": 1
},
"tail": {
"name": "BearTail",
"tailLostPortrait": "taillessbear.png"
},
"iceCube": {
"creatureWithin": "FrozenBear"
}
}
JLDR2
{
"evolveIntoName": "Bear",
"evolveTurns": 1,
"tailName": "BearTail",
"tailLostPortrait": "taillessbear.png",
"iceCubeName": "FrozenBear"
}
As you can see, the JLDR2 file has fewer child objects that have to be defined; the evolve, tail, and ice cube parameters are now on
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: