Searica-More_Vanilla_Build_Prefabs 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.

CHANGELOG

Versions 1.X.X

Version Notes
1.3.5
  • Modified public API for `IsPieceAddedByMVBP` to include an optional Piece parameter that can be passed to avoid duplicating `GetComponent` calls.
1.3.4
  • Added null prefab check in `IsPieceAddedByMVBP` directly rather than relying on the null check in `GetPrefabName` just in case a prefab is ever added that has the name set to an empty string.
1.3.3
  • Compatibility fix for `MonstrumDeepNorth`.
  • Added public method to check if `MVBP` has added a `Piece`` component to a prefab. Intended to support compatibility with `LocatationResest`.
  • Fixed possible NRE when verbosity set to `High` and using other mods that add pieces.
  • Updated README.
1.3.2
  • Compatibility fix for Niflheim + Beastiary by Rusty.
1.3.1
  • Updated to Jotunn 2.22.0 and restored pre Bog Witch config syncing behaviour so configs are only synced if the mod is installed on the server.
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.