OpenDatabase
OpenDatabase is a mod for Valheim it requires BepInEx for Valheim. With this mod you are able to controll all recipes and items via JSON files.
Last updated | 3 years ago |
Total downloads | 20962 |
Total rating | 2 |
Categories | Mods Client-side Utility |
Dependency string | OdinPlus-OpenDatabase-1.0.1 |
Dependants | 53 other packages depend on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.1502README
This mod updated for compatibility with Hearth & Home by the OdinPlus Team
Shout out to the original mod author cf-Botan! Original mod
OpenDatabase
OpenDatabase is a mod for Valheim it requires BepInEx for Valheim. With this mod you are able to control all recipes via JSON files.
Installation
Download and extract the latest version of OpenDatabase into the BepInEx plugin folder (usually Valheim/BepInEx/plugins )
Now run Valheim and join a world. After that go to Valheim/BepInEx/plugins/. There should be a folder called OpenDatabase, inside of that folder are currently two folders /Items/ and /Recipes/. Inside those folders are JSON files that you can now modify.
Configuration file BepInEx/config/Botan.OpenDatabase.cfg
Enable or disable the mod. If ShowZerosInJSON is set true, Zeros inside of a json file are not removed on generation.
Console Commands
While in game press F5 to open the game console then type help for more information. If it's your first time running the mod you must run the opendatabase.generate command for all of the files to generate.
opendatabase.reload - will reload all json files. You can modify json files without closing the game. opendatabase.generate all/items/recipes - will clear associated folders and regenerate the json files. opendatabase.config.reload - Reloads the config file
(Note!: If you want json files to have default values, close the game and delete the Opendatabase folder).
Features
- [x] Able to modify item data.
- [x] Able to modify recipes.
Recipes
The Club recipe for example looks like this:
{
"result_item_id": "Club",
"result_amount": 1,
"RepairStation": "$piece_workbench",
"CraftingStation": "",
"minStationLevel": 1,
"ingredients": [
{
"id": "Wood",
"amount": 6
},
{
"id": "BoneFragments",
"amount": 0
}
]
}
You will however not see "CraftingStation": "" empty values are not included in the json generation. This also applies to int/float by default if the value is 0.
Items
This is the Club.json file inside of BepInEx/plugins/OpenDatabase/Items
"name": ... is the ItemId
"m_name": ... is the displayed name
{
"name": "Club",
"itemData": {
"m_name": "$item_club",
"m_description": "$item_club_description",
"m_weight": 2,
"m_maxStackSize": 1,
"m_armor": 20,
"m_armorPerLevel": 1,
"m_blockPower": 10,
"m_canBeReparied": true,
"m_damages": {
"m_blunt": 12
},
"m_damagesPerLevel": {
"m_blunt": 6
},
"m_timedBlockBonus": 2,
"m_deflectionForce": 20,
"m_deflectionForcePerLevel": 5,
"m_destroyBroken": false,
"m_dodgeable": true,
"m_maxDurability": 100,
"m_durabilityPerLevel": 50,
"m_maxQuality": 4,
"m_useDurability": true,
"m_useDurabilityDrain": 1,
"m_questItem": false,
"m_teleportable": true
}
}
Damage types
Damage Name Value Type m_blunt float m_chop float m_damage float m_fire float m_frost float m_lightning float m_pickaxe float m_pierce float m_poison float m_slash float m_spirit float
Itemdata
Data Value Value Type m_armor float m_armorPerLevel float m_blockPower float m_blockPowerPerLevel float m_canBeReparied bool m_damages DamageType m_damagesPerLevel DamageType m_destroyBroken bool m_deflectionForce float m_deflectionForcePerLevel float m_dodgeable bool m_durabilityDrain float m_durabilityPerLevel float m_description string m_equipDuration float m_food float m_foodBurnTime float m_foodColor hex m_foodRegen float m_foodStamina float m_holdDurationMin float m_holdStaminaDrain float m_maxDurability float m_maxQuality float m_maxStackSize int m_name string m_questItem bool m_teleportable bool m_timedBlockBonus float m_toolTier int m_useDurability bool m_useDurabilityDrain float m_value int m_weight float