Searica-More_Vanilla_Build_Prefabs icon

More Vanilla Build Prefabs

Adds configurable vanilla build prefabs to hammer in survival mode with a default configuration for ease of use. Now with ServerSync!

Last updated 3 days ago
Total downloads 340
Total rating 1 
Categories Mods Building Hildir's Request Update Client-side Server-side
Dependency string Searica-More_Vanilla_Build_Prefabs-0.1.2
Dependants 2 other mods depend on this mod

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2105 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2105
ValheimModding-Jotunn-2.12.7 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.12.7

README

MoreVanillaBuildPrefabs

MoreVanillaBuildPrefabs is a Valheim mod to make all vanilla prefabs buildable with the hammer (survival way) while allowing you to configure the requirements to build them. It also now has ServerSync! The mod can still be used as a Client-Side mod though.

Acknowledgements

This mod was inspired by MoreVanillaBuilds by Galathil and PotteryBarn by ComfyMods and the core functionality of the code is based on those two mods. Thanks to blaxxun-boop for creating ServerSync.

Key Feature

Because all the added build pieces are pre-existing vanilla prefabs, any pieces you build with this mod will persist in your world even if you uninstall the mod. This means that pieces you build on a server will also be visible for players without the mod and any builds using the pieces from this mod will load for players without the mod.

Instructions

If you are using a mod manager for Thunderstore simply install the mod from there and skip to step 3 below. If you are not using a mod manager then, you need a modded instance of Valheim (BepInEx) and the Jötunn plugin installed.

  1. Download the MoreVanillaBuildPrefabs.dll from the Publish/Thunderstore directory.
  2. Place the MoreVanillaBuildPrefabs.dll into your BepInEx\plugins folder
  3. Launch the game and enter a world to generate the configuration files. The plugin searches for prefabs in the game loading screen.
  4. (Optional) Quit the game. Find the file Searica.Valheim.MoreVanillaBuildPrefabs.cfg in your BepInEx\config folder, open it to customize mod configuration (see Configuration section for details).
  5. Play the game using the default configuration generated by the mod or your customized one.

Recommended: Install SearsCatalog (https://valheim.thunderstore.io/package/ComfyMods/SearsCatalog/) to extend the hammer build table and allow you to access all the pieces this mod adds even if there are too many added pieces for the vanilla build table.

Update Notice!

The configuration options have changed significantly with version 0.1.0. It is recommended to delete your configuration file and regenerate it.

If you have made significant customizations to the configuration file and wish to keep those changes use the following steps:

  • Make a copy of your current configuration file.
  • Delete the original customized configuration file.
  • Generate a new configuration file.
  • Copy/paste the customized entries from your back up to the new configuration file.
  • Edit the required crafting station entry based on the new acceptable values (can use find and replace feature):
    • piece_workbench -> Workbench
    • piece_stonecutter -> Stonecutter
    • forge" -> Forge
    • blackforge -> BlackForge

Configuration

You need to edit the configuration file with client/server off! If you use an in-game configuration manager, you need to restart the game/server to apply configuration.

For each detected prefab in the game you can:

  • Enable/Disable it from the hammer.
  • Define custom recipe to build the prefab in-game.
  • Set the required crafting station to build and deconstruct the prefab.
  • Set whether the prefab is allowed to be built inside of dungeons.
  • Enable a generic placement patch if the piece is behaving strangely when placing it.

Global Section Configuration:

EnableMod [Synced with Server, Requires Restart]

  • Globally enable or disable this mod (restart required).
    • Acceptable values: False, True
    • Default = true

LockConfiguration = [Synced with Server]

  • If true, the configuration is locked and can be changed by server admins only.
    • Acceptable values: False, True
    • Default value: true

AdminDeconstructCreatorShop [Synced with Server]

  • Set to true to allow admin players to deconstruct any CreatorShop pieces built by players. Intended to prevent griefing via placement of indestructible objects.
    • Acceptable values: False, True
    • Default value: true

ForceAllPrefabs [Synced with Server, Requires Restart]

  • Setting to true overrides individual configuration for all prefabs and enables them all for building with the hammer.
    • Acceptable values: False, True
    • Default = false

VerboseMode [Synced with Server]

  • You should keep it to false. This configuration displays debug information in the console (and slows down game performance).
    • Acceptable values: False, True
    • Default = false.

Prefab Configuration Sections:

The rest of the configuration files contains [xxxxxx] sections to configure each prefab. Each section contains:

Enabled [Synced with Server, Requires Restart]

  • If true then add the prefab as a buildable piece. Note: this setting is ignored if ForceAllPrefabs is true.
    • Acceptable values: False, True
    • Default value: false

AllowedInDungeons [Synced with Server, Requires Restart]

  • If true then this prefab can be built inside dungeon zones.
    • Acceptable values: False, True
    • Default value: false

Category [Synced with Server, Requires Restart]

  • A string defining the tab the prefab shows up on in the hammer build table.
    • Acceptable values: CreatorShop, Misc, Crafting, Building, Furniture# Setting type: String
  • Default value: CreatorShop

CraftingStation [Synced with Server, Requires Restart]

  • A string defining the crafting station required to built the prefab.
    • Acceptable values: None, Workbench, Forge, Stonecutter, Cauldron, ArtisanTable, BlackForge, GaldrTable
    • Default value: None

Requirements [Synced with Server, Requires Restart]

  • Resources required to build the prefab. Formatted as: itemID,amount;itemID,amount where itemID is the in-game identifier for the resource and amount is an integer. You can find itemID on Valheim Wiki or on this link. Example: Requirements = Wood,5;Stone,2 would mean the prefab requires 5 wood and 2 stone to build.
    • Default value:

PlacementPatch [Synced with Server, Requires Restart]

  • Set to true to enable collision patching during placement of the piece. Recommended to try this if the piece is not appearing when attempting to place it. (If enabling the placement patch via this setting fixes the issue please open an issue on Github letting me know so I can make sure the collision patch is always applied to this piece.)
    • Acceptable values: False, True
    • Default value: false
    • Note: this setting is not available on prefabs that I have already made custom placement patches for.

Default Prefab Configuration

The mod comes with a default configuration that sets the crafting requirements for many of the prefabs when generating the configuration file. The defaults also enable a number of pre-configured prefabs for building. These configurations are based on my preferences and intended to ensure that someone playing with the mod will only unlock various build pieces after encountering them in the world. The default configuration also means that the mod can simply be installed and used immediately to get a sense of how it works. You are of course able to change these default configurations however you please.

Default Enabled Pieces

Click to see a general list of enabled pieces (contains spoilers.)
  • Most black marble pieces used in Dvergr builds.
  • All Dvergr furniture.
  • Most Dvergr wooden structures.
  • Dvergr demisters.
  • Fuling village pieces.
  • Various rocks.
  • Extra furniture and decorations.
  • Turf roofs.
  • Statues.
  • Wood ledge.

See the PrefabConfig.cs file in the source code for the full default configuration or install the mode and check the generated configuration file.

Implementation Notes

The prefabs enabled by this mod were not necessarily intended to be built by players, so they may lack some of the things required to place them or build them such as proper collision or snap points.

All of the pieces that are enabled by default have been patched to have snap points and fix collision issues to ensure they can be used similarly to existing vanilla pieces. For the prefabs that are not enabled by default, while many of them have been patched not all of them have as the process of patching them is currently entirely manual. This means that if you enable prefabs other than the ones enabled by default there is no guarantee they will behave nicely.

If you are having issues with a prefab you would like to build with but it won't appear when you try to place it the issue is likely due to missing colliders that have not been patched yet. A work around for some prefabs is to install either Snap Points Made Easy by MathiasDecrock or the mod Extra Snap Points Made Easy by Searica (that's me). Both of these mods allow you to manually select the snap points on the piece you are placing and the piece you are snapping to. Manually selecting the snap points can allow you to place a prefab that otherwise does not show up due to missing colliders. Some prefabs used for making dungeons can also behave unexpectedly such as being able to open a door but not close it. If there is piece you would really like to build with that is buggy feel free to open an issue on Github requesting it to be patched (see contributions section).

TLDR: Some prefabs other than the ones enabled by default may be buggy, please adjust your expectations accordingly.

Differences from MoreVanillaBuilds by Galathil

First, MoreVanillaBuilds by Galathil has been archived on Github and has not been updated for Hildir's Request, while this mod was built for Hildir's Request. Second, the code used to allow placing added pieces for MoreVanillaBuilds had the additional effect of bypassing all placement restrictions for all pieces, which meant that it was possible to build pieces in locations that it was not possible to deconstruct them. In contrast, this mod always respect placement restrictions (such as the no build zone at spawn) to prevent issues with being unable to deconstruct pieces by using code based on PotteryBarn.

Deconstructing Pieces

Since this mod adds more prefabs to the hammer, that means you can deconstruct more pieces. As of version 0.0.3 and all later versions, world-generated pieces will only drop their default drops, while player-built pieces will only drop the resources used to build them.

CreatorShop Pieces

Prefabs set to the custom CreatorShop category on the hammer will behave differently than pieces from other categories with respect to deconstructing them.

Specifically, when a piece is set to the CreatorShop category player's can only deconstruct instances of that piece that they have placed themselves. This prevents player's from deconstructing world-generated prefabs like trees while still allowing you to build and deconstruct player-placed trees. If multiple player's have this mod enabled they can still only deconstruct CreatorShop pieces that they have placed themselves. If the AdminDeconstructCreatorShop option is set to True, then admins can deconstruct CreatorShop pieces placed by other players.

Known Issues

  • Placing armor on the Male Armor Stand and Female Armor Stand prefabs have clipping issues where not all of the armor is displayed. I have not been able to fix this as of yet.
  • Collision during placement for some items is not ideal and won't allow automatic snapping to select the bottom of the prefab.
    • Click to see a list of specific pieces (contains spoilers.) Blackmarble_post01, Dvergr Demister, Dvergr Demsister Large

Planned Improvements

  • Resolve known issues.
  • Patch and enable more prefabs.
  • Add a setting to restrict building CreatorShop pieces to Server Admins only.

Compatibility

This is a non-exhaustive list.

Incompatible Mods

Likely incompatible with other mods that add Vanilla prefabs to the build hammer unless you disable the prefabs from this mod that overlap with the other one since conflicting build requirements can cause unexpected behavior.

  • MoreVanillaBuilds (by Galathil)
  • PotteryBarn (by ComfyMods)

Compatible Mods

  • AdventureBackpacks (by Vapok)
  • Aegir (by blbrdv)
  • AAACrafting (by Azumatt)
  • AzuCraftyBoxes (by Azumatt)
  • AzuMapDetails (by Azumatt)
  • AzuAreaRepair (by Azumatt)
  • AzuClock (by Azumatt)
  • AzuExtendedPlayerInventory (by Azumatt)
  • AzuSkillTweaks (by Azumatt)
  • Backpacks (by Smoothbrain)
  • Better Beehives (by MaxFoxGaming)
  • BetterArchery (by ishid4)
  • BetterCarts (by TastyChickenLegs)
  • BetterPickupNotifications (by Pfhoenix)
  • BetterUI Reforged (by the defside)
  • BowsBeforeHoes (by Azumatt)
  • BuildRestrictionTweaks (any version that is a reupload of Aedenthorn)
  • ComforTweaks (by Smoothbrain)
  • ComfySigns (by ComfyMods)
  • CraftingFilter (by Aedenthorn)
  • DeathPinRemoval (by Azumatt)
  • DeezMistyBalls (by Azumatt)
  • DodgeShortcut Reupload (by NetherCrowCSOLYOO)
  • EmoteWheel (by virtuaCode)
  • EulersRuler (by ComfyMods)
  • Evasion (by Smoothbrain)
  • Extra Snap Points Made Easy (by Searica)
  • FascinatingCarryWeight (by kangretto)
  • FastTeleport (by GemHunter1)
  • FastTools (by Crystal)
  • Gizmo (by ComfyMods)
  • HeyListen (by ComfyMods)
  • ImFRIENDLY DAMMIT (by Azumatt)
  • Instantly Destroy Boats and Carts (by GoldenRevolver)
  • InstantRuneText (by Azumatt)
  • MapTeleport (by Numenos)
  • Mead Base Icon Fix (by Sulyvana)
  • MultiUserChest (by MSchmoecker)
  • Minimal UI (by Azumatt)
  • NoSmokeStayList (by TastyChickenLegs)
  • OdinsFoodBarrels (by OdinPlus)
  • PassivePowers (by Smoothbrain)
  • Pathfinder (by Crystal)
  • Perfect Placement (by Azumatt)
  • PlanBuild (by MathiasDecrock)
  • PlantEasily (by Advize)
  • PlantEverything (by Advize)
  • ProfitablePieces (by Azumatt)
  • QoLPins (by Tekla)
  • Queue Me Maybe (by Azumatt)
  • Quick Stack Store Soft Trash Restock (by Goldenrevolver)
  • QuickConnect (by bdew)
  • QuietyPortals (by Neobotics)
  • Ranching (by Smoothbrain)
  • RepairAll (by LoadedGun)
  • Sailing (by Smoothbrain)
  • SearsCatalog (by ComfyMods)
  • Server devcommands (by JereKuusela)
  • ShieldMeBruh (by Vapok)
  • SilenceTameWolfCub (by GetOffMyLawn)
  • Snap Points Made Easy (by MathiasDecrock)
  • SNEAKer (by black7ar)
  • Sorted Menus Cooking Crafting and Skills Menu (by Goldenrevolver)
  • SpeedyPaths (by Nextek)
  • StackedBars (by Azumatt)
  • StaminRegenerationFromFood (by Smoothbrain)
  • SuperConfigurablePickupRadius (by TastyChickenLegs)
  • TargetPortal (by Smoothbrain)
  • ToggleMovementMod (by GetOffMyLawn)
  • Veinmine (by WiseHorrer)
  • Venture Location Reset (by VentureValheim)
  • VikingsDoSwim (by blacks7ar)
  • WieldEquipmentWhileSwimming (by blacks7ar)
  • Probably even more, it's pretty compatible.

Source Code

Github: https://github.com/searica/MoreVanillaBuildPrefabs

Donations/Tips

My mods will always be free to use but if you feel like saying thanks you can tip/donate here: https://ko-fi.com/searica

Contributions

You are welcome to open issues on the Github repository to provide suggestions, feature requests, compatibility issues, and bug reports. Over time I will slowly patch more prefabs and hopefully come up with a more generalizable method of patching them, but if you'd really like a specific prefab to work better just open an issue letting me know. I'm a grad student and have a lot of personal responsibilities on top of that so I can't promise I will respond quickly, but I do intend to maintain and improve the mod in my free time.

CHANGELOG

Version 0.1.2

  • Fixed ILRepacker not merging ServerSync assembly when creating Release version of Thunderstore mod package.

Version 0.1.1

  • Fixed bug caused by incorrect file version in AssemblyInfo.cs

Version 0.1.0

Big updates

  • ServerSync has now been implemented.
  • Added a setting to allow admins to deconstruct CreatorShop pieces built by other players.
  • Add a configuration option for each prefab that enables a generic collision patch to allow users to possibly fix placing prefabs that have not been custom patched yet.
  • Improved configuration file to provide configuration descriptions and a list of acceptable values for each configuration option.
    • Crafting station names are now descriptive instead of based on the item_id in-game.

Minor Changes

  • Tweaked resource requirements for better balance.
  • Enabled more build pieces by default after tweaking the resource requirements to prevent them unlocking several biomes before they would normally be encountered by players.
  • Fixed Github link in Thunderstore manifest (had to remake it and had copied the wrong template manifest).
  • Improved README formatting and fixed spelling/grammar in various places.

You need to regenerate your configuration file again. While I didn't touch the name scheme of the config file the additional configuration options and changes to naming for crafting station configuration mean you need to regenerate the config file.

Version 0.0.3

  • World-generated pieces now drop only their default resource drops while player-built pieces drop only the resources used to build them.
  • Readme updated and cleaned up (that's what I get for writing it at 1am last time).
  • Configuration file naming scheme changed due to automating the process. You need to regenerate your configuration file and copy over any customizations you made. Sorry for the inconvenience, future updates will not touch the configuration file naming scheme again.

Version 0.0.2

  • Updated readme and added links to source code.

Version 0.0.1

  • Initial release.

Available versions

Please note that the install buttons only work if you have compatible client software installed, such as the Thunderstore Mod Manager. Otherwise use the zip download links instead.

Upload date Version number Downloads Download link  
2023-9-24 0.1.2 131 Version 0.1.2 Install
2023-9-23 0.1.1 14 Version 0.1.1 Install
2023-9-23 0.1.0 12 Version 0.1.0 Install
2023-9-20 0.0.3 102 Version 0.0.3 Install
2023-9-18 0.0.2 66 Version 0.0.2 Install
2023-9-18 0.0.1 15 Version 0.0.1 Install