You are viewing a potentially older version of this package. View all versions.
Searica-More_Vanilla_Build_Prefabs-1.0.2 icon

More Vanilla Build Prefabs

Adds almost everything in the vanilla game to the hammer for building in survival mode. Every piece can be customized and enabled/disabled. Comes with a default configuration for ease of use. Uses Jotunn to sync configs if installed on server.

Date uploaded 11 months ago
Version 1.0.2
Download link Searica-More_Vanilla_Build_Prefabs-1.0.2.zip
Downloads 829
Dependency string Searica-More_Vanilla_Build_Prefabs-1.0.2

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2202 icon
denikson-BepInExPack_Valheim

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

Preferred version: 5.4.2202
ComfyMods-SearsCatalog-1.6.0 icon
ComfyMods-SearsCatalog

Resize and reposition the build panel in-game.

Preferred version: 1.6.0
ValheimModding-Jotunn-2.21.3 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.21.3

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. You can configure which prefabs are available for building and what the building requirements are, though the mod comes with a default configuration that enables ~100 new pieces so you can start playing right away.

Server-Side Info: This mod does work as a client-side only mod. It is strongly recommended that you install it on the server you play on if possible though as multiple players with conflicting configurations can result in losing build resources when pieces are deconstructed. Not installing the mod on the server also means that some pieces (like the new ship) may not function well for players without the mod.

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.

Example Builds

If you want to see what kind of pieces get added by default and are unlocked as you progress through each biome you can take a look at these builds shared by MoreVanillaBuildPrefabs users (thanks to DreamWraith and Goldenrevolver!). Builds are grouped by based on the biome that the pieces used in the build are unlocked (when using the default mod configuration) and the sections containing the images are collapsed by default so people can avoid spoilers if they wish to. Also, if you make a build using MoreVanillaBuildPrefabs and want it to be featured here let me know!

Meadows Builds
Black Forest Builds
Mistlands Builds

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 Jotunn 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) Edit the default configuration using an in-game configuration manager or find the file Searica.Valheim.MoreVanillaBuildPrefabs.cfg in your BepInEx\config folder and edit 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 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. If you install the mod from Thunderstore via r2modman or Thunderstore mod manager then SearsCatalog will automatically be installed as well.

Configuration

Most changes made to the configuration settings will be reflected in-game immediately (options requiring a restart will explicitly say so) and they will also sync to clients if the mod is on the server. The mod also has a built in file watcher so you can edit settings via an in-game configuration manager (changes applied upon closing the in-game configuration manager) or by changing values in the file via a text editor or mod manager.

Default Configuration

The mod has a default configuration that enables ~100 new pieces by default. The configuration settings for these pieces are intended to provide a reasonable balance and ensure that someone playing with the mod will only unlock various build pieces after encountering them in the world. As you progress through the game you will also unlock torches that don't require fuel, fires that don't require fuel, and a new portal that can be configured to ignore portal restrictions. As the default settings are based on my preferences and not yours, 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.)
  • All black marble pieces used in Dvergr structures.
  • 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 mod and check the generated configuration file.

Global Section

These settings control the main features of the mod and how verbose it's output to the log is.
Setting Server&nbspSync Description
CreativeMode Yes Setting to enable pieces set to the custom CreatorShop or Nature piece categories. By default, the pieces set to those categories are not standard build pieces. These prefabs are also more likely to have bugs like being unable to remove them after placing them and are a lower priority for me to patch.
  • Acceptable values: False, True
  • Default value: false
Note: If you're doing a survival playthrough and just want more build pieces then leave CreativeMode off. If you want to build new environmental locations or new dungeons then you probably want to enable CreativeMode.
ForceAllPrefabs Yes If enabled, adds all prefabs to the hammer for building. Unless CreativeMode is also enabled it will not add pieces set to the CreatorShop or Nature category though.
  • Acceptable values: False, True
  • Default value: false
Verbosity No Low will log basic information about the mod. Medium will log information that is useful for troubleshooting. High will log a lot of information, do not set it to this without good reason as it will slow down your game.
  • Acceptable values: Low, Medium, High
  • Default value: Low

Admin Section

These settings let server admins customize how the mod works to help prevent griefing and/or make the mod more of an admin-only tool.
Setting Server&nbspSync Description
CreatorShopAdminOnly Yes Set to true to restrict placement and deconstruction of CreatorShop pieces to players with Admin status.
  • Acceptable values: False, True
  • Default value: false
AdminDeconstructOtherPlayers Yes Set to true to allow admin players to deconstruct any pieces built by other players, even if doing so would normally be prevented (such as for CreatorShop or Nature pieces). Intended to prevent griefing via placement of indestructible objects.
  • Acceptable values: False, True
  • Default value: true

Customization Section

These settings let you customize and improve the behaviour of pieces adds by MoreVanillaBuildPrefabs. Most of them are enabled by default.
Setting Server&nbspSync Description
ComfortPatches (Requires Restart) Yes Set to true/enabled to patch new pieces to have comfort values like their vanilla counterparts.
  • Acceptable values: False, True
  • Default value: true
DoorPatches (Requires Restart) Yes Set to true/enabled to patch player-built instances of new doors (that do not require keys) to allow closing them even if that is normally prevented.
  • Acceptable values: False, True
  • Default value: true
PlayerBasePatches (Requires Restart) Yes Set to true/enabled to patch player-built instances of new torches, fires, and beds so they suppress monster spawning just like their vanilla counterparts.
  • Acceptable values: False, True
  • Default value: true
HammerCrops Yes Set to true/enabled to enable placing vanilla crops with the hammer. Unless this setting is true Vanilla crops will not be available for placing with the hammer. Can be useful if you want to make pretty gardens without having to wait for crops to grow (plus you control the crop rotation this way).
  • Acceptable values: False, True
  • Default value: false
SeasonalPieces Yes Set to true/enabled to add all currently disabled seasonal pieces to the hammer build table.
  • Acceptable values: False, True
  • Default value: true
PortalPatch Yes Set to true/enabled to have the new portal allow unrestricted teleporting. Set to false/disabled to have the new portal work the same as the vanilla portal.
  • Acceptable values: False, True
  • Default value: true

Texture Section

These settings let you customize the appearance of some of the pieces added by MoreVanillaBuildPrefabs. Thanks to DreamWraith for creating the alternative portal texture and Goldenrevolver for the idea and general method of changing the wood texture.
Setting Server&nbspSync Description
PortalTexturePatch (Requires Restart) Yes Set to true/enabled to change the texture of the new portal to appear as if it was created by those who dwell in the Mistlands. Note: change in appearance will not work for users without this mod.
  • Acceptable values: False, True
  • Default value: false
DvergrWoodPatch (Requires Restart) Yes Set to true/enabled to change the texture of the player built instances of of Dvergr wood floors and stairs to appear as if they were brand new. Note: change in appearance will not work for users without this mod.
  • Acceptable values: False, True
  • Default value: false

Unsafe Patches Section

These settings enable optional patches that can have unintended side effects if you log into your world without MoreVanillaBuildPrefabs installed. They are all off by default.
Setting Server&nbspSync Description
BedPatches (Requires Restart, Unsafe) Yes Set to true/enabled to patch player-built instances of new beds so you can sleep in them. WARNING: enabling this setting can result in you losing your spawn point if had set your spawn using a patched bed and log in without this mod.
  • Acceptable values: False, True
  • Default value: false
FermenterPatches (Requires Restart, Unsafe) Yes Set to true/enabled to patch player-built instances of fermenting barrels to function as a fermenter that is 30% faster than the vanilla fermenter. NOTE: players without this mod cannot use the patched fermenter and you cannot retrieve your mead without the mod.
  • Acceptable values: False, True
  • Default value: false

Prefab Configuration Sections

The rest of the configuration files contains ["Prefab-Name"] sections to configure each prefab.
Setting Server&nbspSync Description
Enabled Yes If true then allow this prefab to be built and deconstructed. Note: this setting is ignored if ForceAllPrefabs is true.
  • Acceptable values: False, True
  • Default value: Depends on the prefab
AllowedInDungeons Yes If true/enabled then this prefab can be built inside dungeon zones.
  • Acceptable values: False, True
  • Default value: false
Category Yes A string defining the tab the prefab shows up on in the hammer build table.
  • Acceptable values: Acceptable values: CreatorShop, Nature, Misc, Crafting, Building, Furniture
  • Default value: CreatorShop
CraftingStation Yes 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 Yes 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.
ClipEverything Yes Set to true to allow piece to clip through everything during placement. Recommended to try this if the piece is not appearing when you go to place it. (If this setting fixes the issue please let me know via Github or Discord so I can change the default settings.)
  • Acceptable values: False, True
  • Default value: false
  • Note: Some prefabs are missing this setting because changing it breaks them.
ClipGround Yes Set to true to allow piece to clip through everything during placement. Recommended to try this if the piece is not appearing when you go to place it.(If this setting fixes the issue please let me know via Github or Discord so I can change the default settings.)
  • Acceptable values: False, True
  • Default value: false
  • Note: Some prefabs are missing this setting because changing it breaks them.
PlacementPatch Yes 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 this setting fixes the issue please let me know via Github or Discord so I can change the default settings.)
  • Acceptable values: False, True
  • Default value: false
  • Note: Some prefabs are missing this setting because changing it breaks them.

Detailed Mechanics

This mod enables prefabs that were not intended to used for building by players, so they may lack things like proper collision or snap points. All of the prefabs enabled by the default configuration have been patched so they behave more lke vanilla pieces.These patches are applied whether the prefab is enabled for building or not to make sure that prefabs that have been placed previously still behave as intended (ie they don't lose their collision and fall though the world).

As of version 1.0.0 and Valheim version 0.217.30, all prefabs detected by MoreVanillaBuildPrefabs are placeable without any changes to the configuration. If a prefab is not enabled by default then it may still behave unexpectedly after being placed though. MoreVanillaBuildPrefabs automatically detects all prefabs in Valheim, so future game updates may add more pieces that will require additional patches to work though.

If a piece is having issues during placement the PlacementPatch, ClipEverything, and ClipGround configuration options can be used to try resolving the issue. Please try toggling those settings if you encounter issues during piece placement.

Another solution for placement issues is using either Snap Points Made Easy by MathiasDecrock or 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 cannot be removed after being placed, such as when you place mist. If I'm aware of the issue then I add a warning to the piece description.

If there is piece you would really like to build with that is buggy feel free to open an issue on Github making a feature request or reach out to me on my discord (see contributions section).

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

Custom Piece Categories

This mod adds two custom piece categories: CreatorShop and Nature. Pieces set to either of the custom categories will only be enabled for building if CreativeMode is set to True. Additionally, these pieces can only be deconstructed by the player who placed them and world-generated instances of these pieces cannot be deconstructed. This prevents player's from deconstructing things like world-generated trees, while still allowing them to build and deconstruct their own trees.

If multiple player's have this mod, the same restrictions still apply and they will not be able to deconstruct instances of pieces set to either of the custom piece categories that were built by other players.

The AdminDeconstructOtherPlayers setting can allow players with admin status to deconstruct CreatorShop or Nature pieces built by other players, so that admins have a way to remove indestructible pieces. Even if you enable the AdminDeconstructOtherPlayers setting, admins are still not able to deconstruct world-generated instances of pieces set to the CreatorShop or Nature categories.

Resource Costs and Drops

Since this mod adds more prefabs to the hammer, that means you can deconstruct more pieces. World-generated pieces will only drop their default drops, while player-built pieces will only drop the resources used to build them.

Pickable Pieces

Building and deconstructing prefabs that have pickable components could potentially allow for exploits that create infinite resources. To prevent that, the following adjustments are made.

Pickable Resource Costs

If a prefab has a pickable component, such as a berry bush, then whatever resource it drops will always be added to the required resources for building it. The amount of the resource required to build the prefab will also always be equal to or greater than the amount of the resource that is dropped when you pick it (after accounting for world modifiers). These conditions will override the required resources set in the configuration file.

Example: If building a berry bush drops 1 berry when you pick it then no matter what the settings are in the configuration file it will always cost at least 1 berry to build the berry bush. If world modifiers are set to 2 so the bush would drop 2 berries then it will always cost at least 2 berries to build.

Pickable Resource Drops

When you deconstruct a prefab with a pickable component if the pickable item has not been picked then it will drop the pickable item. The resources dropped by deconstructing it will also be adjusted to reduce the amount of the pickable item drops by the amount that was gained by picking the item (after accounting for world modifiers).

Example: If you built a berry bush that cost 5 berries to build, then picked the berries and got 2 berries, and then deconstructed the bush only 3 berries would drop.

If a pickable piece has additional random drops, like some pickables found in dungeons, the random drops will be disabled for player-built instances of the piece. World-generated instances are unaffected and will picking them will drop the random drops as normal.

Mineable Pieces

Any piece that you can hit with a pickaxe and destroy parts of is a mineable piece (for anyone who has gone through the game code this is prefabs with a MineRock5 or MineRock component).

Resource Costs

All mineable pieces have the cost for building them adjusted so that building them always require resources equal to or greater than the average resources dropped when the mineable piece is completely mined.

Resource Drops

Deconstructing mineable pieces effectively "mines" the entire piece and per vanilla behavior the dropped resources are slightly randomized (as if you had mined it). When deconstructing mineable pieces the resources required to build it are returned after subtracting the average resources dropped by fully mining the piece.

Example: If you built a rock that on average drops 41 stone, it would cost 41 stone to build. If you configured that rock to cost 56 stone, built it, and deconstructed it then it would drop 15 stone plus whatever is randomly dropped due to mining the entire piece which will on average result in dropping 56 stone, but could be slightly more or less. If you configured the rock to cost 41 stone and 2 iron, then it would always drop 2 iron when removed and whatever is dropped due to mining the entire piece.

ItemStand Pieces

Any piece that you can attach an item to has an ItemStand component and has a unique behavior when deconstructed.

ItemStand Drops

When you deconstruct a piece that has an ItemStand component it will always drop the attached item, even if you could not normally remove it.

Known Issue/Feature

MoreVanillaBuildPrefabs is able to detect prefabs added by other mods. It is possible to enable and configure those prefabs much like the Vanilla prefabs added by MVBP. In some cases, prefabs from other mods can cause issues, though it is uncommon. As a general rule, I will not patch prefabs from other mods as I do not have access to the assets from other mods. Please still let me know if a prefab from another mod causes issues so I can prevent MoreVanillaBuildPrefabs from enabling it though. Additionally, if the other mod author is willing to collaborate regarding the issue I am open to that.

Known Issues

Config Changes on Dedicated Server: Configuration changes made on a dedicated server using an in-game configuration manager do persist after logging out and re-connecting but they are not saved to disk on the server until the server is shut down. A pull request to fix this has been merged into Jotunn already, so once Jotunn updates this issue will be resolved.

Placement Glitch: There is one pickable that falls through the terrain when placed, making it appear to not have been placed. After a short period of time it will be pushed to the surface and appear so give it a moment.

Impossible Recipes: Forcing pickable pieces to always require resources equal to or greater than what they drop when picked means that if a pickable is unattainable in the Vanilla game, then the recipe for it can never be unlocked. I am currently considering how I want to address this and whether this should be considered a bug or not as it is a consequence of the intended behavior to prevent infinite resource exploits. It is still possible to unlock these recipes via console commands or using other mods like ExpandWorld or Immersively Obtainable Blue Mushrooms to populate those pickables in the world.

Planned Improvements

  • Find a way to make placing and removing liquids work.
  • Make a pull request to PlanBuild that fixes the partial incompatibility.
  • Learn how localization works and add localization options to the mod.

Potential Improvements

  • Add an Unsafe patch option that changes the inventory size of containers made of end-game materials.
  • Add a Customization patch that improves the new ship added by this mod.

Compatibility

These are non-exhaustive lists.

Incompatible Mods

PotteryBarn (by ComfyMods) Currently both mods apply a transpiler patch to Player.SetUpPlacementGhost() and using MoreVanillaBuildPrefabs while PotteryBarn is installed will cause MoreVanillaBuildPrefabs to fail to load correctly. I am looking into a possible fix for this but it is not high priory as I think it is unlikely someone would use both mods at the same time given their functions directly overlap (I could be wrong though).

Partial Incompatibly

PlanBuild (by MathiasDecrock) The two mods do work together but not all of the icons for custom pieces added by MoreVanillaBuildPieces show on correctly in the build table for PlanBuild's Plan Hammer. MoreVanillaBuildPrefabs can now cause PlanBuild to detect pieces as they are enabled but PlanBuild does not update for when MVBP removes prefabs. A fix is currently being worked on in collaboration with the authors of PlanBuild though.

Compatible Mods

All of my mods are fully compatible with eachother.

PlantEverything (by Advize): These two mods are fully compatible. If PlantEverything is installed then MoreVanillaBuildPrefabs will not touch any of the prefabs that PlantEverything adds to the cultivator so all of the plants added by PlantEverything will function as normal. I also highly recommend using PlantEverything as it is targeted at providing a balanced and configurable experience for enabling more plant pieces and compliments MoreVanillaBuildPrefabs.

Gizmo (by ComfyMods): Fully compatible and highly recommended if you like building.

WackysDatabase (by Wackymole): These two mods are fully compatible. You can use WackyDB to alter pieces added by this mod. Depending on what you alter the dynamic configuration changes of this mod may override the change changes made by WackyDB when the mod updates in response to the config changes. To resolve this you can A.) avoid changing the config for this mod while in-game, B.) log out and rejoin to allow WackyDB to reapply it's changes, C.) use the wackydb_reload console command to reapply changes without exiting the game (probably the easiest and best option).

Click to see full list of 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)
  • CreatureLevelAndLootControl (by Smoothbrain)
  • ComfortTweaks (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)
  • Multiverse (by 1010101110)
  • Minimal UI (by Azumatt)
  • NoSmokeStayList (by TastyChickenLegs)
  • OdinsFoodBarrels (by OdinPlus)
  • PassivePowers (by Smoothbrain)
  • Pathfinder (by Crystal)
  • Perfect Placement (by Azumatt)
  • PlantEasily (by Advize)
  • PlantEverything (by Advize)
  • ProfitablePieces (by Azumatt)
  • QoLPins (by Tekla)
  • Queue Me Maybe (by Azumatt)
  • Quick Stack Store Sort 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.

Donations/Tips

My mods will always be free to use but if you feel like saying thanks you can tip/donate.

My Ko-fi: ko-fi

Source Code

Source code is available on Github.

Github Repository: MoreVanillaBuildPrefabs

Contributions

If you would like to provide suggestions, make feature requests, or reports bugs and compatibility issues you can either open an issue on the Github repository or tag me (@searica) with a message on my discord Searica's Mods.

Over time I will keep patching more prefabs and improving this mod's features but you'd really like a specific prefab to work better then let me know via one of the methods above. I'm a grad student and have a lot of personal responsibilities on top of that so I can't promise I will always respond quickly, but I do intend to maintain and improve the mod in my free time.

Credits

This mod was inspired by MoreVanillaBuilds by Galathil and PotteryBarn by ComfyMods.

Development Credits

  • Huge shout-out and thanks to the developers of Jotunn for all their work making the library and to Margmas specifically for all their help and advice.
  • Thanks to Advize for the advice and examples for re-writing the mod to respond to configuration settings changes while in-game.
  • Thanks to Goldenrevolver for all theh advice and help.
  • Thanks to probablykory, OrianaVenture, and redsieko for their help and advice.

Community Credits

  • Thanks to DreamWraith, onnan, and Havengrad for all their suggestions, feedback, and testing
  • Thanks to Cass, Blubbson, Katosan, and LunaEversor for quickly finding and reporting issues or bugs.

Shameless Self Plug (Other Mods By Me)

If you like this mod you might like some of my other ones.

Building Mods

Gameplay Mods

CHANGELOG

Versions 1.X.X

Version Notes
1.3.0
  • Quick hotfix to get things working for the bog witch update (thanks for the transpiler patch Margmas).
  • Improved error handling to avoid throwing errors when resource cost requirement is missing in config (thanks flo123333).
1.2.3
  • Updated naming scheme to match new piece name capitalization.
  • Updated dependencies.
  • Fixed issue with Verbosity settings in config not saving correctly.
1.2.2
  • Added new drawer interface for customizing piece requirements in-game.
  • Updated default configuration so everything that is not a fire/explosion is now placeable by default.
  • Improved logic used in the automatic placement patch.
  • Added a feature that modifies the size of chests added by this mod, and the changes will persist even after removing the mod.
  • Added some pieces that would previously self-destruct after being placed as they are now prevented from self-destructing and this prevention persists even after removing this mod.
1.2.1
  • Updated default piece categories to use new Ashlands categories. You will probably need to regenerate your config file due to the category names changing in Vanilla.
1.2.0
  • Patched to work on Ashlands and prevent crashing the weather system.
1.1.0
  • Player-built doors that do not require keys can now always be opened/closed even if they cannot normally be opened/closed. This change also persists even after this mod is uninstalled.
  • Improved compatibility with PlantEverything so that MVBP ignores vanilla pickable objects that PlantEverything modifies even if they are not buildable in PlantEverything.
  • Added a few new pieces to this version thanks to some help from Jere to figure out how to persistently edit prefab data even after uninstalling the mod.
1.0.8
  • Fixed a placement bug for corner stairs and cleaned up the code internally.
1.0.7
  • Turns out I accidentally reintroduced an old bug when doing some optimizations. Have now re-fixed bug where some prefabs that were generated in dungeons would drop non-vanilla drops when destroyed.
1.0.6
  • Changed stoneblock_fracture prefab to keep it's MineRock component now that resource exploits have been prevented. This should help with using MVBP to set up vanilla servers.
  • Update so that piece icons from MVBP in the Plan Hammer for PlanBuild will be correct. Still need to wait for another update to PlanBuild to fix issues with pieces not being removed from the PlanHammer when disabled in MVBP though.
  • Updated Jotunn
1.0.5
  • Fixed bug that broke prevention of resource exploits when building and removing pickables.
1.0.4
  • Removed special characters from cfg file. YOU HAVE TO REGENERATE YOUR CONFIGURATION FILE!
  • Improved placement of some pieces to remove the large offsets relative to where players pointed their hammer.
  • Fixed bug where disabled pieces that were not in the CreatorShop or Nature categories could be deconstructed by players.
1.0.3
  • Bugfix for placement of corner stair pieces.
1.0.2
  • Minor performance optimizations.
  • Added compatibility for CustomShips mod.
1.0.1
  • Fixed issues with enemies targeting pieces they shouldn't.
  • Fixed rare bug that only occurred on some remote linux server hosting services.
  • Sped up initialization and re-initialization by ~30%.
  • Optimized code to use bool checks instead of null checks wherever possible.
  • Redesigned in-game updates to configuration to not require expensive operations like reflection.
  • Improved compatibility with other mods that affect the same pieces, MVBP now only overwrites the values related to the configuration settings when re-initializing.
  • Piece components are now disabled if the prefab is disabled in the configuration settings and the prefab does not have a piece component in the Vanilla game.
1.0.0
  • Feature complete release!
  • Added new portal and customization to allow unrestricted teleportation with it.
  • Added new unsafe patch to allow using a new fermenter.
  • Fixed bug where PlayerBase was not being applied correctly when the patch for it was enabled.
  • Patched a secret door to allow closing it if it was built by a player.
  • Added configuration options to let users customize some of the piece textures.
  • Fixed the clipping issues on the armor stands enabled by MoreVanillaBuildPrefabs.

Versions 0.X.X

Click to expand

Versions 0.6.X

Click to expand
Version Notes
0.6.0
  • Updated for newest patch
  • Changed configuration file format for non-prefab sections to use toggles in-game.
  • Added configuration options to enable:
    • All seasonal pieces.
    • Patching siding door pieces placed by players and enable sliding doors by default.
    • Patching comfort values for pieces added by this mod.
    • Patching new torches, fires, and beds to have a PlayerBase effect.
  • Added unsafe patch section and the option of enabling new beds for sleeping.
  • Improved resource costs and removal of pieces with a MineRock component (the smaller mineable rocks).
  • Minor performance optimizations.

Versions 0.5.X

Click to expand
Version Notes
0.5.1
  • Added more null checks to handle other mods destroying prefabs on log-out.
  • Set MVBP to ignore prefabs added by Creature Level and Loot Control.
  • Improved compatibility with PlanBuild.
0.5.0
  • Built against new BepInEx and Jotunn.
  • Improved default settings so all vanilla prefabs in game version 0.217.25 are placeable.
  • Improved removal of custom prefabs with the hammer, vanilla layers are no longer altered under any circumstances.
  • Updated for ExtraSnapPointsMadeEasy's new API.
  • Improved compatibility with ExpandWorld.
  • Fixed issue with one prefab being impossible to unlock.
  • Overhauled how mineable prefabs work (see README). You may need to tweak your configuration file to use the prefabs ending in "_frac" or "_destruction" now.
  • Fixed bug where CreativeMode pieces that were built by players could be removed by the creator even if they aren't enabled in the config. Now pieces can only by removed via the hammer if they are enabled in the config.
  • Global configuration section split into Global, Admin, and Customization in preparation for adding new customization features.

Versions 0.4.X

Click to expand
Version Notes
0.4.8
  • Configuration changes made in-game will now persist properly after logging out.
  • Sped up re-initialization slightly.
  • Update README with known issues
0.4.7
  • Hotfix to prevent infinite re-initialization loop in multi-player. Turns out that even if I test with a dedicated server, some bugs only show up with multiple clients.
0.4.6
  • Fixed issue with server config changes not persisting after log-out unless the server was restarted. Config changes for the server are now saved to the server config file when you log-out.
  • Re-enabled prefabs that spawn a MineRock5 component as they can be useful for building islands. A warning about how they work is now automatically added to the piece description.
0.4.5
  • Improved deconstruction of non-WearNTear pieces.
    • Destroying player-built pieces via damaging them will always drop the resources for building the piece now.
    • Deconstructing non-WearNTear pieces will now destroy them using the Destructible component if it is present (this means removing ice pieces makes them shatter and play the ice SFX).
  • Added config settings to control piece clipping during placement.
  • Patched MineRock script to prevent NRE on newly placed pieces.
  • Improved filtering to prevent detecting prefabs that create giant boulders when you remove them.
  • Automatically adds missing removal SFX for WearNTear pieces.
  • Hotfix for issues with invalid placement due to changing collider layers.
0.4.4
  • Removed server requirement so that console players can enjoy the mod vicariously through crossplay.
  • Improved sorting of prefabs added by this mod (that took a while).
  • Added automatic piece classification to hopefully allow correct sorting of pieces from other mods and future updates.
  • Improved automatic naming of prefabs.
  • Fixed layer issue on some pieces that prevented targeting them for removal.
  • Removing pieces now triggers the destruction effects if they exist.
  • Fixed possible exploit involving pickables with extra random item drops.
  • Patched chair prefabs so you can now sit in them.
  • Minor performance optimizations.
  • Removed piece descriptions that were duplicates of piece names.
  • Disabled a prefab that would disappear 10 seconds after placing it.
  • Improved descriptions for several prefabs.
  • Removed the snap points added to the center of all prefabs (use ExtraSnapPointsMadeEasy instead).
  • Fixed minor compatibility issue with RRR, warning should no longer trigger and MVBP will no longer detect prefabs added by RRR.
  • Added config option to enable placing vanilla crops so you can make pretty gardens if you want.
  • Added colliders to allow removing large straw rug.
  • Tweaked some default resource costs.
0.4.3
  • Added a new piece category "Nature".
    • Changed Admin only settings to account for new category.
    • Tweaked default configuration to account for new category.
  • Changed how CreativeMode works.
    • CreativeMode now sets whether pieces from the CreatorShop and Nature categories are enabled for building.
    • Changing the CreativeMode setting now updates while in-game.
  • Fixed the cloth behaviour on the new ship.
  • Tweaked snap points to mimic vanilla pieces more. Can use ExtraSnapPointsMadeEasy if you want more precise snap points.
  • Improved compatibility with ExtraSnapPointsMadeEasy to allow dynamically changing extra snap points as MoreVanillaBuildPrefabs dynamically adds/removes build pieces.
  • Pickable pieces now drop the pickable item when deconstructed if it has not already been picked.
  • ItemStand pieces now drop the attached item when deconstructed if an attached item exists.
0.4.2
  • Changed mod so that if a client has the mod, then the server they are connecting to must also have the mod (see README for details).
  • Implemented a CreativeMode configuration option (see README for details).
  • All pieces that are missing placement sound effects now have default sfx assigned based on the required crafting station. (Missing deconstruction sounds effects are not fixed though as that requires adding WearNTear or Destructable components to pieces).
  • Fixed bug where deconstructing player-built pieces with world modifiers set to turn off build costs would cause world-generated destruction drops to occur.
  • Player-buil5 barrels no longer drop random loot when destroyed. They still do not return the resources used to build them when destroyed (they do return build resources if deconstructed though).
  • Patched Dvergr furniture items so they provide support and you can now place item stands on them.
  • Patched some more prefabs and improved placement for others, as usual each update.
0.4.1
  • Minor update to fix the stuttering issue when editing the configuration via the in-game configuration manager. The mod now only updates after closing the configuration manager.
  • Tweaked update logic to avoid re-initializing if receiving config data from server or reloading the config file doesn't actually change any config setting values.
  • Added some everburning torches and braziers that do not require fuel to the default configuration. Currently they are configured to unlock sometime during the last biome in the current game version.
0.4.0
  • Massive update, I basically re-wrote the mod to allow it to dynamically respond to configuration setting changes while in-game.
  • Switched to using Jotunn's server syncing features instead of ServerSync.
  • Removed Locking Configuration setting. If you install the mod on the server it will now always sync data to clients.
  • Change `VerboseMode` to `Verbosity`. There are now three logging levels you can select from to output more or less information. This should make debugging easier when issues are reported.
  • Changed some Global configuration setting names to more descriptive.
  • Fixed issue where sometimes configuration data from the server wouldn't sync correctly. The mod now always re-initializes the configuration whenever configuration data is received from the server.
  • Changed how building and deconstructing pickable objects is handled to prevent exploits.
  • Optimized load times for dynamic syncing. The very first time the mod loads on a clean install it takes about ~300 ms as it generates new icons. After that, when the mod initializes or responds to configuration settings changes it averages ~110-160 ms.
  • Patched some more prefabs, including making a hidden sailing ship fully functional.
  • Various internal tweaks to reduce the odds of compatibility issues with other mods.
  • Possibly more stuff I forgot about, it was a pretty big re-write. The new README should still cover everything important though.

Versions 0.3.X

Click to expand
Version Notes
0.3.7
  • Fixed compatibility with WackyDB, (my bad, while rewriting the code to add pieces I switched from a prefix to a postfix).
  • Switch stone chest to prefer the one with animations.
  • Renaming of custom chests to be more descriptive.
0.3.6
  • Switched back to custom methods to add pieces as removing pieces added by Jotunn on log out led to unintended behaviour.
  • Slightly reduced load times.
  • Patched placement of treasure chests so they no longer contain random loot (world-generated treasure chests are unaffected).
  • Removed treasure chests that were Duplicates of each other.
0.3.5
  • Switched back to adding pieces via Jotunn.
  • More automatic naming improvements.
  • Quick fix for null exception error that broke the mod last release (Somehow the option that allowed me to reference the publicized assembles got unchecked).
  • Changed ModGUID to match mod name. This changes the name of your cfg file. So after it regenerates copy over any changes you've made via a text editor and delete your old one.
0.3.4
  • Improved naming for custom pieces in hammer build table.
    • Format of custom piece names is now consistent with vanilla name formatting.
    • Some spelling inconsistencies from the game's internal ID's have been corrected.
  • Automatically add hover text if missing for custom pieces (depending on the piece it still may not display).
  • Patched and enabled more prefabs by default.
  • Disabled a prefab that explodes into a giant boulder when hit with a pickaxe (Thanks Cass!)
  • Tweaked build requirements and costs for some prefabs.
  • Patched placement of several pieces.
    • Improved placement of dvergr poles and wood pieces.
    • Fixed issue with some black marble pieces moving after placement due to discrepancy between colliders and rigid bodies.
  • Changed how piece Icons are generated to hopefully fix the lighting issue with some icons.
0.3.3
  • Fix color artifacts in custom piece icons (Thanks again for your help Margmas).
  • Fix bug that I accidentally re-introduced where world-generated CreatorShop pieces could be deconstructed.
  • Added SearsCatalog as a Thunderstore dependency.
  • More internal refactoring and clean-up to get ready for possibly adding some new features.
0.3.2
  • Update to Jotunn 2.14.4
  • Changed priority of patch for adding prefabs to fix partial incomparability with WackyDB.
  • Internal refactoring to clean up code and make managing methods easier.
  • Enabled some more pieces by default.
  • Added EffectsList patch from PotteryBarn to fix null exceptions when using custom Armor Stands.
0.3.1
  • Added NullException checks to fix compatibility issues with CreatureLevelAndLootControl.
  • Changed mod to search for prefabs every time a game session is joined (has minimal impact on load time, < 50 ms on average) to prevent null prefab errors.
  • Added error handling to catch incorrect build requirement ID's and throw a warning to the log.
  • Thanks to Cass again for letting me know about the compatibility issue and testing out the fixes.
0.3.0
  • Implemented built-in cfg file watcher to ensure changes made to cfg file are not erased.
  • Fixed crashing issue with some prefabs and re-enabled them by default.
  • Changed when custom pieces are added to wait until after receiving data from ServerSync (Thanks to Cass for reporting the issue and to Wackymole for helping figure out which method to patch).
  • Changed method of adding custom pieces due to Null Exception error caused by adding pieces with Jotunn after ZNet.Start(), will probably switch back after Jotunn updates.

Versions 0.2.X

Click to expand
0.2.2
  • Added null check to EnsureNoDuplicateZNetView(), should resolve issues caused when rejoining servers (Thanks to Cass on the Odinplus for reporting the bug).
  • Mod now saves the cfg file on logout, should hopefully preserve changes made to it before reading from it when rejoining a server.
0.2.1
  • Fixed clipping and placement for several prefabs.
  • Adjusted snap points on a few prefabs.
  • Disabled CargoCrate prefab due to it deleting itself when placed because the inventory is empty.
  • Code clean up.
0.2.0
  • Reduced load time from ~30 seconds to ~0.5 seconds (Thanks to onnan for reporting the issue and to Margmas on the OdinPlus discord for the tip on reducing config file load times).
  • Switched to using ZNetScene for patch to trigger removal of custom pieces on logout.
  • Internal code refactoring and clean up.

Versions 0.1.X

Click to expand
0.1.4
  • Updated for patch 0.217.22
0.1.3
  • Updated for Jotunn 2.14.2
  • Removed three prefabs that caused a crash when re-logging (should fix compatibility issues with the Multiverse mod).
  • Improved load times when re-logging.
  • Changed method of adding custom build pieces to respect server configuration when changing between servers without restarting the game.
  • Added configuration option to restrict placement of CreatorShop pieces to Admins.
0.1.1/0.1.2
  • Fixed ILRepacker not merging ServerSync assembly when creating Release version of Thunderstore mod package (Thanks to BLUBBSON on Github for letting me know about the bug).
0.1.0 Major Updates
  • Implemented configuration syncing with server.
  • 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 in configuration settings are now descriptive instead of based on the item_id in-game.
Minor updates
  • 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 copied the wrong template manifest when I remade it).
  • Improved README formatting and fixed spelling/grammar in various places.

Versions 0.0.X

Click to expand
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.
0.0.2
  • Updated README and added links to source code.
0.0.1
  • Initial release.