🛠️ Idle Reincarnator Modding Guide
Welcome to the official Modding Guide for Idle Reincarnator. This guide will walk you through the steps to create your own mod and add custom content to the game.
Getting started
To start creating a mod and have your mod folder, follow these steps:
- Launch the game and go to the Mods section.
- Click Create Mod.
- Navigate to your mod folder:
%APPDATA%/Roaming/my_mods/[Your Mod Name]
- Start editing the files in this folder to add your content.
Adding content
What game content can you add?
You can add the following action types:
- Jobs
- Trainings
- Skills
- Explorations
- Spells
- Items
- Temporal Skills
- Technologies
- Civilization Levels
Let's focus on how to to add a custom job first. To create a custom job, create a 'jobs' folder inside your mod folder, and inside the 'jobs' folder, create a 'data.json' file. The 'data.json' file should look like below if you are not adding a new category:
{
"types": {
}
}
If you are adding a category, it your data.json should look like this:
{
"types": {
"[job_category]": {
"name": "[Your job category display name]",
"tab_name": "[The name of the tab in the job buttons]",
"description": "[description]",
"lockable": false,
"requirements": {}
},
"[job_category]": {
"name": "[Your job category display name]",
"tab_name": "[The name of the tab in the job buttons]",
"description": "[description]",
"lockable": false,
"requirements": {}
},
...
}
}
The current job categories can be found here.
Afterwards, create folders based on the job_category you defined in your data.json. For example, if you defined a job_category called "test", create a folder called "test" inside the jobs folder.
Inside your job_category folder, create a file called 'content.json'. This file will contain the data for your jobs. Follow the structure below:
{
"content": {
"[job_id]": {
"name": "[Job Name]",
"description": "[Description]",
"base_income": [Income],
"is_passive_income": [Whether income is passive or not],
"base_exp_req": [Base exp requirement],
"hidden": [Whether job is hidden],
"effects": {[Effects]},
"lockable": [Whether job is lockable],
"requirements": {[Requirements]}
},
"[job_id]": {
"name": "[Job Name]",
"description": "[Description]",
"base_income": [Income],
"is_passive_income": [Whether income is passive or not],
"base_exp_req": [Base exp requirement],
"hidden": [Whether job is hidden],
"effects": {[Effects]},
"lockable": [Whether job will be locked after unlock if requirements are not met],
"requirements": {[Requirements]}
},
...
}
}
Example: Adding a "Cleaner" Job
Here's a working example of a modded job entry in the content.json:
{
"content": {
"cleaner": {
"name": "Cleaner",
"description": "Clean the streets of Eldoria.",
"base_income": 1.9,
"is_passive_income": false,
"base_exp_req": 80,
"hidden": true,
"effects": {
"jobs": {
"content": {
"common": {
"content": {
"cleaner": {
"exp_gain": {
"scaling_type": "linear",
"base": 1,
"scaling": 0
}
}
}
}
}
},
"skills": {
"content": {
"fundamentals": {
"content": {
"cleanliness": {
"exp_gain": {
"scaling_type": "linear",
"base": 1,
"scaling": 0.2
}
}
}
},
"scavenging": {
"content": {
"awareness": {
"exp-gain": {
"scaling_type": "linear",
"base": 1,
"scaling": 0.2
}
}
}
}
}
}
},
"lockable": false,
"requirements": {}
}
}
}
For how jobs are made in the base game, you can see them here.
To add an image for your job, create a folder named "images" inside your job category folder and place a .png file in the images folder with the same name as your job ID. You can get image borders that you can use in your images here
Once you are done, your folder structure should look like this:
[Your Mod Folder]/
├── jobs/
│ ├── data.json
│ └── [job_category]/
│ ├── content.json ← Add your custom job(s) here
│ └── images/
│ └── [job_id].png (image for your job)
Adding more content types
As to how to add other content like trainings, skills, etc. you can see how they are made in the base game here.
⚙️ Effects Reference
Effects modify gameplay in various ways and are grouped into categories. Each effect can have scaling properties to change how it evolves with content levels.
Overall Effects
Effect | Description |
---|---|
level_up_cap |
Maximum level up per tick |
before_max_level_exp_multiplier |
XP multiplier before reaching max level |
exp_required_percentage_reduction |
Reduction in required XP percentage |
renown_multiplier |
Multiplier for renown gain |
daily_gold_gain |
Additional gold gained per day |
lifespan_multiplier |
Multiplier for total lifespan |
lifespan_day_increase |
Additional days added to lifespan |
lifespan_year_increase |
Additional years added to lifespan |
gamespeed_multiplier |
Multiplier for game speed |
happiness_multiplier |
Multiplier for happiness gain |
boss_danger_reduction_per_defeat |
Danger reduction per boss defeat |
temporal_essence_rebirth_needed_reduction |
Reduction in temporal essence needed for rebirth |
temporal_essence_rebirth_gain_multiplier |
Multiplier for temporal essence gain on rebirth |
exploration_speed_multiplier |
General exploration speed multiplier |
[Skill Category]_exploration_speed_multiplier |
[Skill Category] skill exploration speed |
danger_multiplier |
Multiplier for danger levels |
spell_slots |
Additional spell slots available |
Example
"effects": {
"overall": {
"[effect_name]": {
"scaling_type": "linear",
"base": 1000,
"scaling": 0
}
}
}
Action Type, Category, and Specific Effects
Effect | Description | Applies To |
---|---|---|
exp_gain |
Base experience gained | All actions |
exp_multiplier |
Multiplier for experience gained | All actions |
level_increase |
Immediate level increase | All actions |
expenses_multiplier |
Multiplier for action expenses | All actions |
income_multiplier |
Multiplier for job income | Jobs only |
passive_income_multiplier |
Multiplier for passive income | Jobs only |
Example
#Action-wide Effect
"[action_type]": {
"[effect_name]": {
"scaling_type": "linear" // or "logarithmic"/"exponential",
"base": [A base value],
"scaling": [scaling factor]
}
}
#Category-wide Effect
"[action_type]": {
"content": {
"[category]": {
"[effect_name]": {
"scaling_type": "linear" // or "logarithmic"/"exponential",
"base": [A base value],
"scaling": [scaling factor]
}
}
}
}
#Individual action Effect
"[action_type]": {
"content": {
"[category]": {
"content": {
"[action_name]": {
"[effect_name]": {
"scaling_type": "linear" // or "logarithmic"/"exponential",
"base": [A base value],
"scaling": [scaling factor]
}
}
}
}
}
}
Requirements Structure
Requirements define the conditions for unlocking a content. These are grouped by numeric keys ("0", "1", etc.), where each group represents an OR condition. Within each group, conditions are evaluated by an AND condition. Below are the requirement types:
Overall Requirements
Requirement | Description |
---|---|
gold |
Player must have at least this amount of gold |
renown |
Player must have at least this amount of renown |
age |
Player's current age must be at least this value |
lifetime_age |
Player's highest lifetime age must be at least this value |
not_age |
Player's current age must be less than this value |
rebirths |
Player must have completed at least this many rebirths |
regressions |
Player must have completed at least this many regressions |
total_temporals |
Player must have at least this much total temporal essence |
schools_graduated |
Player must have graduated from at least this many schools |
civilization_capability |
Player must have at least this civilization capability level |
heroic_tests_completed |
Player must have completed at least this many heroic tests |
Category Requirements
Requirement | Description |
---|---|
any_unlocked |
At least one action in the category must be unlocked |
was_any_unlocked |
At least one action in the category was previously unlocked |
Individual Action Requirements
Requirement | Description |
---|---|
unlocked |
Action must be unlocked (true/false) |
danger |
Action's danger level must be ≤ this value |
mortality |
Action's reduced danger level must be ≤ this value |
current_level |
Action's current level must be ≥ this value |
not_current_level |
Action's current level must be < this value |
max_level |
Action's max level reached must be ≥ this value |
lifetime_max_level |
Action's lifetime max level reached must be ≥ this value |
not_max_level |
Action's max level reached must be < this value |
current_max_level |
Action's current max level reached must be ≥ this value |
Requirements Example
"requirements": {
"0": {
"jobs": {
"noble": {
"baron": {
"current_level": 50
}
}
},
"renown": 5000,
"gold": 50000
},
"1": {
"explorations": {
"ancient_crypt": {
"boss": {
"max_level": 1
}
}
}
}
}
This means:
- Group 0 requires:
- Baron job at level 50
- 5000 renown
- 50000 gold
- Group 1 requires:
- Defeated boss in ancient_crypt with max_level 1
Only 1 requirement group must be fulfilled to unlock the item.
📚 Need More Examples?
Check out the game_assets
in the modding repo for real content examples used by the base game.
example_mod
for a working example.
Before Publishing
Folder Structure
Check your mod folder follows this structure:
[Your Mod Folder]/
├── mod.json # Mod metadata
├── preview.png # Optional preview image shown in the UI
├── jobs/ # Or trainings/, spells/, etc.
│ ├── data.json
│ └── [action_type]/ # E.g., for jobs it's common, knight, etc.
│ ├── content.json # Contains the action information
│ └── images/
│ └── [action_id].png
├── trainings/
│ └── ...
You should add tags to your mod.json file. These tags will help users find your mod on the Steam Workshop.
This file describes your mod and should be placed at the root of your mod folder. The name, description, and tags will be used in the Steam Workshop. The workshop_id is used to identify your mod on the Steam Workshop.
{
"name": "My Custom Mod",
"description": "Adds a custom cleaner job.",
"version": "1.0",
"tags": ["job", "cleaner"],
"workshop_id": [THIS IS THE ID OF YOUR MOD ON THE STEAM WORKSHOP. DO NOT TOUCH THIS UNLESS YOU KNOW WHAT YOU ARE DOING.]
}
Publishing Your Mod
When you're ready, upload your mod to the Steam Workshop via the in-game mod menu. Just open your mod in the popup and press the Upload button.
Once uploaded, your mod will show in Steam workshop but the visibility is set to private. If you are ready for your mod to be shown to the public, set the visibility to public in the Steam Workshop.
Happy modding!
💡 Tips
- Use
game_assets
orexample_mod
as references. - Preview images are optional but help in the UI.
- All folder and file names should be lowercase and consistent.
- Test your mod thoroughly before publishing.
- Consider starting with small modifications before attempting complex mods.