WackysDatabase
WackysDatabase allows you to control all items/recipes/pieces via JSON files with ServerSync and so much more.
Date uploaded | 2 years ago |
Version | 1.1.8 |
Download link | WackyMole-WackysDatabase-1.1.8.zip |
Downloads | 2814 |
Dependency string | WackyMole-WackysDatabase-1.1.8 |
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.2200README
WackysDatabase
WackysDatabase by Wackymole Version 1.1.8
The short summary is OpenDatabase + ServerSync + Recipecustomization + Armor Customization + PieceLvlRequirements + some other small fields + item/piece/recipe cloning + material changing for cloned items/pieces + name changing for items/pieces(translating)
WackysDatabase
- WackysDatabase is a mod for Valheim it requires BepInEx for Valheim.
- With this mod you are able to control all items/recipes/pieces via JSON files.
- WackysDatabase also allows you to make clone/mock of these objects as well.
- This mod is one of the last to load in the game.
- As such it can touch almost all normal and modded objects which is the primary goal for this mod, but cloned objects may not behave well with some mods.
- You can not load into singleplayer and then load into Multiplayer. - No easy cheating
Installation
Download and extract the latest version of WackysDatabase 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 wackysDatabase, inside of that folder are currently three folders /Items/ /Recipes/ and /Pieces/.
Put the mod on the Server to force Server Sync. The Jsons files only have to be on the Server. No need to share the Jsons.
For Multiplayer, the mod has been locked down to prevent easy cheating, but I recommend https://valheim.thunderstore.io/package/Azumatt/AzuAntiCheat/ and https://valheim.thunderstore.io/package/Smoothbrain/ServerCharacters/ as well.
Configuration file BepInEx/config/WackyMole.WackysDatabase.cfg
The configs and their defaults are:
Force Server Config = true // forces server sync
Enable this mod = true
IsDebug = true // tells you what is being loaded/ other basic actions
StringisDebug = false // debugs your strings.. extra logs
IsAutoReload = false // auto reloads instead of wackydb_reload
Console Commands
- You will need to reference https://valheim-modding.github.io/Jotunn/data/objects/item-list.html for Prefab names. Thank you JVL team
- While in game press F5 to open the game console then type help for more informations. To enable console for valheim - launch options add "-console"
wackydb_reload - Primary way to reload all the Json files in wackysDatabase folder
wackydb_dump (2) <item/recipe/piece> <ItemName> - dump individual preloaded object to log
wackydb_dump_all - writes a dump log file for all previously loaded info. May or may not work with clones. (doesn't work on multiplayer)
wackydb_save_recipe (1) <ItemName> - saves a Recipe Json in wackysDatabase Recipe Folder
wackydb_save_piece (1) <ItemName> - saves a Piece for easy editing in Json (piecehammer only works for clones)
wackydb_save_item (1) <ItemName> - saves a Item Json in wackysDatabase Item Folder
wackydb_help -- commands
wackydb_clone (3) <recipe/item/piece> <Prefab to clone> <Unique name for the clone> - clone an object and change it differently than a base game object.
There is a optional 4th argument<original item prefab to use for recipe>(Optional 4th argument for a cloned item's recipes only) For example you can already have item WackySword loaded in game, but now want a recipe. WackySword Uses SwordIron - wackydb_clone recipe WackySword RWackySword SwordIron - otherwise manually edit
wackydb_clone_recipeitem (2) <Prefab to clone> <clone name>(clones item and recipe at same time)( Recipe name will be Rname) - instead of cloning an item and then recipe, do both at once. Saves you the trouble of manually editing recipe name and prefab.
wackydb_vfx - future use
wackydb_material - saves a Materials.txt file in wackysDatabase for the different types of materials you can use for cloned items/pieces.
General Options:
-Don't use the '@' symbol. I use it to break strings apart. It will break everything.
name: is GameObject name must be unique
m_name: is the in game name - can be used for translating
clone: whether an object is a clone or not - true/false
clonePrefabName: if it is a clone, the object needs to reference the original prefab.
Item Options:
cloneMaterial: You can change the material(colorish) of a cloned object. Images on nexus https://www.nexusmods.com/valheim/mods/1825 of the various changes you can make. Use wackydb_material to view a list of materials. Probably up to a 1/3 don't work or make the object invisible.
m_damages: how much and what type of damage is inflicted.
m_damagesPerLevel: how much and what type of damage per upgraded lvl
m_armor: If object is equitable, like armor. Gives armor value to player
m_value: if value is >0. Then the object becomes salable at Trader. The Object Description gets a yellow Valuable notice. Just like base game you don't know what object you are selling to Trader.
damageModifiers: - From https://www.nexusmods.com/valheim/mods/1162 - Thx aedenthorn - I did added water damage in 1.1.8
Damage modifiers are a list of colon-separated pairs, e.g. for the Wolf Chest armor: - "damageModifiers":["Frost:Resistant"]
The first value is the damage type, the second value is the resistance level.
Valid damage types include:
Blunt Slash Pierce Chop Pickaxe Physical Fire Frost Lightning Elemental Poison Spirit Water
##Water
Normal - no change
Resistant - increases Wet status countdown speed by 100%
Weak - decreases Wet status countdown speed by 1/3
Immune - prevents Wet status effect
Ignore - prevents Wet status effect
VeryResistant - prevent wet status effect application except when swimming, increases Wet status countdown speed by 100%
VeryWeak - decreases Wet status countdown speed by 2/3
Valid resistence levels include:
Normal Resistant Weak Immune Ignore VeryResistant VeryWeak
m_blockPower: Very useful for shields m_blockPowerPerLevel:
m_timedBlockBonus is the Parry bonus
m_attackStamina set both Primary and Secondary attacks. Will expand upon in future.
The rest you can probably figure out.
Piece Options:
piecehammer: default is the Hammer or Hoe: it can't really check for modded Hammers. Change this to the modded hammer prefab manually.
adminonly: Makes certain pieces only for admins.
craftingStation: What craftingstation needs to be near you to build the piece. Default: $piece_workbench
minStationLevel: Checks what level craftingstation is needed before building piece.
reqs: requirements to build: Item:amount:amountPerLevel:refundable,
cloneMaterial: You can change the material(colorish) of a cloned object. Images on nexus https://www.nexusmods.com/valheim/mods/1825 of the various changes you can make. Use wackydb_material to view a list of materials. Probably up to a 1/3 don't work or make the object invisible.
Recipe Options:
Cloned recipes need a unique name.
If cloning a recipe of a cloned item, clonePrefabName needs to be cloned item prefab.
Recipe searches for prefab to put recipe next to it.
Arrows x50 will be put above Arrow x20
reqs: requirements to build: Item:amount:amountPerLevel:refundable,
Changelog
Version 1.1.8
Fixed two main bugs,
Properly unloading cloned assets on logout.
Made it so some errors are caught better.
Incorporated Water Resistance as done by aedenthorn.
Version 1.1.5
Cleaned up the code a lot. Fixed Pieces from getting null values from Server.
Fixed the piece disable/admin for custom pieces.
Made it so you can clone stone_floor (4x4 stone prefab) - editing it probably won't make it add to Hammer
Added special case list for objects that have multiple Gameobjects. (Bow, SpearBronze)
Version 1.10
All About Pieces with this Update!
Adds ability to clone an existing CraftingStation piece and make it a new CraftingStation
- The CraftingStation name is "name", add recipes to it with this name.
Fixed other mods custom pieces. You should be able access and even clone other mods pieces now.
Added piecehammerCategory so you can change the category where piece appears on the hammer.
- Mods might use numbers instead of words though.
Added m_knockback Added m_backstabbonus Made m_attackStamina set both Primary and Secondary attacks.
Version 1.05
Mod Release
Last notes:
This mod should load last. It needs to so it can touch all other mods.
You can make changes to that OP bow and make it more realistic on damage or build requirements. Or even set a build piece to adminonly.
clone the Item and change the material to make it a more appealing color.
Submit pull requests to https://github.com/Wacky-Mole/WackysDatabase . The primary purpose of this mod is to edit objects, not to create clones/mocks.
Bugs/Incompatible Mods:
- Friendlies Reloaded - https://valheim.thunderstore.io/package/Horem/Friendlies_Reloaded/ - Will break WackyDB ( investigating)
(Note!: If you want json files to have default values, close the game and delete the wackysDatabase folder).
Planned features
- [x] Able to modify item data.
- [x] Able to modify recipes.
- [x] Able to modify pieces.
- [x] Able to modify materials on clones
- [x] Custom items/pieces
- [x] Custom recipes
- [ ] Able to modify effects - Probably won't happen without someone elses help. wackydb_vfx - generates vfx text file, but there are other effect objects. Wackymole
Credits: A Lot of the credit goes to aedenthorn and all of his Many Mods! https://github.com/aedenthorn/ValheimMods Thank you AzumattDev for the template. It is very good https://github.com/AzumattDev/ItemManagerModTemplate Thanks to the Odin Discord server, for being active and good for the valheim community. Do whatever you want with this mod. // except sale it as per Aedenthorn Permissions https://www.nexusmods.com/valheim/mods/1245 Taking from Azu OpenDatabase code and the orginal now. https://www.nexusmods.com/valheim/mods/319?tab=description CustomArmor code from https://github.com/aedenthorn/ValheimMods/blob/master/CustomArmorStats/BepInExPlugin.cs Thank you to Azumatt and Aedenthorn and the JVL team.
CHANGELOG
Version | Changes |
---|---|
2.4.44 | Bug fix for cSExtensionDataList |
2.4.43 | Update for PieceManager |
2.4.42 | Bug fix. |
2.4.41 | Bog The Witch Update Add support for multiple Piece CSExtensionData. You can now also make (almost) any piece into an extension for a craftingstation. Added support for Pieces to become craftingstations. Added Pickable m_extraDrops stuff Removed unnecessary warning for disabled pieces. Added Hit_Friendly to attack |
2.4.31 | Expanded upgrade_reqs for recipes levels! You can now specify completely different recipes for all upgrades. Rejoice, no more hacks. |
2.4.28 | Renamed a field to Damage_Multiplier_By_Health_Deficit_Percent Updated Readme with some (light) video tutorial links. |
2.4.27 | Fix for Primary/Secondary Status Effect. Added Attack_Start_Noise (float), Attack_Hit_Noise (float), Dmg_Multiplier_Per_Missing_Health (float), Dmg_Multiplier_Per_Total_Health (float), Stamina_Return_Per_Missing_HP (float), SelfDamage (int), Attack_Kills_Self (bool) |
2.4.26 | Fix for rare unarmed attack causing error and no dmg. |
2.4.25 | Coop sync fix Rewrote how 'ExtraSecurity on Servers' works. Should sync from Servers to clients better now. Send logs for any issues |
2.4.24 | PerBurst_Resource_usage bug fix. |
2.4.23 | Updated PerBurst_Resource_usage and Destroy_Previous_Projectile for misspellings. If you use these, please regenerate your yaml files or rename fields, otherwise can be ignored. Bug fixes for pickables with other plant mods. |
2.4.22 | Bug fixes for materials. AlanDrake added filterMode to textures for advanced texturing. |
2.4.21 | Incoming Big Update sponsored by Lughbaloo: Pickables and Plants! PlantData is saved in pieces, which point to either Pickable or Treebase when matured. When you pick a pickable it becomes an item. You can of course clone and change size/material. Enjoy this wacky expansion. |
2.4.13 | Bug fix for attack_status_effect |
2.4.12 | Rexabyte fix for darker textures than intended. Also you can now save materials with spaces in the name, using underscores '_' in place of a space. Bug fix for unarmed hits |
2.4.11 | Added 'delete' to spawn_on_hit and spawn_on_terrain_hit for items. Added command to save all mobs wackydb_all_creatures in Bulk Folder Separated out attack_status_effect into primary and secondary, custom wackydb patch for it. The normal attack_status_effect will be overwritten if a primary or secondary is set. Added m_jumpModifier as a Vector3. Unnecessary lines can be deleted. Added some more logs for debugmode IG forgot to add a check for zero stamina for staminaReload, added |
2.3.9 | Added Attack_status_effect_chance Fixed COOP servers again. I even verfied with Gamepass PC. |
2.3.8 | Added SE/se to wackydb_clone, rejoice, you can now change which SE you clone. Allows you to clone SEShield now. Added the ability to delete Attack_status_effect with "delete" |
2.3.7 | Changed disabled recipes code again Added back ReloadTime, might work for some things. Added Reload_Eitr_Drain Fix for DedServer load Memory = false. Added Reset_Chain_If_hit, SpawnOnHit, SpawnOnHit_Chance, Raise_Skill_Amount, Skill_Hit_Type, Special_Hit_Skill, Special_Hit_Type to Attack. Added Attach_Override for items |
2.3.6 | Possible bug fix for disabled recipes. |
2.3.5 | Bug fixes for recipes, disabled and disabledUpgrade Bug fix for double serversync issue, was probably causing server admins a lot of problems on pushing updates without restarts. Changed singleplayer loading yml files to be more consistent with how multiplayer client receives them. Required fields are required. Removed unnecessarily log on respawn |
2.3.4 | Bug Fix for recipe. |
2.3.3 | Added values for Staff of protection SE or SE Staff_ Updated PieceManager Officially added upgrade_reqs and disabledUpgrade for Recipe goodness. Say thank you to Blaxx and Item Manager Added warning if Recipes don't find req item Fixed using actual recipes like Recipe_Bronze5 Added notOnWood for pieces |
2.3.1 | Adjust font sizeMin for Categories. Added AllowAllItems for portal Pieces Added Fireplace for pieces - Infinite Fuel now Fixed Mock System again. |
2.3.0 | Update for Ashlands. Removed m_baseItemsStaminaModifier, added a lot of other StaminaModfiers. Updated PieceManager |
2.2.6 | Removed Reloadtime(broken) and replaced it with ReloadTimeMultiplier for crossbow. |
2.2.5 | Added snapshotRotation and snapshotOnMaterialChange for items. Fix for some cloned pieces Fix for reloading RecipeMaxStationLvl Added incineratorData conversion for obliterator, you can now make obliterator into a recycler if you want. |
2.2.2 | Bug Fix for SE_Effects with generated PLUS effects |
2.2.1 | Added BaseItemStamina for statmods Add StaffSkelton attack Fix Bug on PLUS effects |
2.2.0 | Decent sized Update: Fix for cloned creatures replacing main creatures name Enabled piece snapshot again, hopefully it works well this time. Added a command wackydb_snapshot for pieces Vastly expanded effect capabilities. Old Effects will work, but generate new yamls for more features. Added Remove to piece conversion list allows you to disable an input and not forcing me to clear the whole list. Now the list shouldn't conflict with additional mods. |
2.1.7 | Update Readme a bit. Made it so some pieces didn't reload twice. |
2.1.6 | Bug fix for cloned pieces on relog. Thx to OrianaVenture for updated icon |
2.1.5 | Added API for Clone mapping to orginal prefab. Adjustment for Epicloot+wackydb on quitting |
2.1.4 | Happy Halloween, this update is for the spooky people that use "," as decimal delimiters, resulting in crazy big sizes of items/pieces. SizeMultiplier is now seperated with | Updated a Priority for loading |
2.1.3 | Added custom SS messsage back added a 4th layer to piece search Separated out sizeMultiplier for x,y,z or just one value Added a check for transplier at closeout for a few people that hang. Updated Refs for new Bepinex Changed loading order again |
2.1.2 | Updated recipeGet, Removed recipe quality (it's a good idea, but I didn't like how it was implemented**).** Took out my custom ServerSync temporarily to test a bug, it won't display message 0.0.1 |
2.1.1 | Change a priorty. Minimized the chance of a recipe consuming double resources with cfc. It will still happen with cfc, if a recipe has quality of > 1 |
2.1.0 | Bug fix, changed color on messages from lime to red |
2.0.9 | Bug Fix |
2.0.8 | Updated ServerSync, Piecemanger, Patch update for 217.24 Fix bug for recipes consuming resources twice. |
2.0.7 | Fixed effects not following you. Add beehive data to pieces. Fix for dedicated servers not loading data. Moved up reload for dedicated servers. Changed log messages, added more warnings. Added more checks for cloned cache. Fix for mock items. |
2.0.6 | Big bug fix for servers. Moved main loading to an even later point. Added SizeMultiplier to cache, for extra sized cached weapons. |
2.0.5 | Bug fix for a cache item error on updateitemhash. |
2.0.4 | Added ConsumableStatusEffect to items. Hovernames for cloned doors. Added Sap and Fermentor Section to pieces. BIG - Moved main loading to a later point for more pieces to be found. Reduced bug counts with disabling pieces. Known bug: moving from one hammer to another hammer, might require disabling orginal and cloning. Fixed Mock items for the adventurous few, added example for mock bike. |
2.0.3 | Bug fix for cloned items being deleted for some people. Fix for piece disabling, disabling already placed pieces - whoops |
2.0.2 | Bug fix for cloned pieces being deleted at logout and login -sorry |
2.0.1 | First Release of 2.0 |
2.0.0 | 2.0.0 - Lots of betas |