In rare cases, JSON localization files can be reset during autosave if the plugin hasn't fully loaded yet. Keep backups of your localization files. Not a priority to fix - this is a personal productivity tool and spending time maintaining it defeats its purpose.
- Download the latest
.zipfrom the Releases page - Open Rider and go to File → Settings → Plugins
- Click the ⚙️ icon and select Install Plugin from Disk...
- Select the downloaded
.zipfile and restart the IDE
Add a cardloc-presets.json file to your project root.
| Field | Description |
|---|---|
projectId |
Your mod ID — the prefix that BaseLib creates (e.g. Downfall) |
localizationBase |
Path to your localization files (e.g. Downfall/localization/eng) |
markers |
Your custom classes for each preset type |
It defines which classes the plugin recognises, as well as which localisation fields map to which JSON files.
For example, if you have a custom card class, you need to add it there.
You can also add relics or potions.
cardloc-presets.json
{
"localizationBase": "Downfall/localization/eng",
"projectId": "Downfall",
"presets": [
{
"id": "card",
"markers": [
"CustomCardModel"
],
"fields": [
{
"name": "title",
"file": "cards.json",
"optional": false
},
{
"name": "description",
"file": "cards.json",
"optional": false
},
{
"name": "selectionScreenPrompt",
"file": "cards.json",
"optional": true
}
]
},
{
"id": "power",
"markers": [
"CustomPowerModel"
],
"fields": [
{
"name": "title",
"file": "powers.json",
"optional": false
},
{
"name": "description",
"file": "powers.json",
"optional": false
},
{
"name": "smartDescription",
"file": "powers.json",
"optional": true
}
]
},
{
"id": "character",
"markers": [
"CustomCharacterModel"
],
"fields": [
{
"name": "title",
"file": "characters.json",
"optional": false
},
{
"name": "titleObject",
"file": "characters.json",
"optional": false
},
{
"name": "pronounSubject",
"file": "characters.json",
"optional": false
},
{
"name": "pronounPossessive",
"file": "characters.json",
"optional": false
},
{
"name": "pronounObject",
"file": "characters.json",
"optional": false
},
{
"name": "possessiveAdjective",
"file": "characters.json",
"optional": false
},
{
"name": "goldMonologue",
"file": "characters.json",
"optional": false
},
{
"name": "eventDeathPrevention",
"file": "characters.json",
"optional": false
},
{
"name": "description",
"file": "characters.json",
"optional": false
},
{
"name": "cardsModifierTitle",
"file": "characters.json",
"optional": false
},
{
"name": "cardsModifierDescription",
"file": "characters.json",
"optional": false
},
{
"name": "banter.dead.endTurnPing",
"file": "characters.json",
"optional": false
},
{
"name": "banter.alive.endTurnPing",
"file": "characters.json",
"optional": false
},
{
"name": "aromaPrinciple",
"file": "characters.json",
"optional": false
}
]
}
]
}