Dvergr Pieces Patch
Makes Tequila's Dvergr Pieces work on Valheim 1.0. Contains none of his files - it installs his mod as a dependency and repairs it in memory at load.Changelog
1.2.1
- The mod's sounds follow the volume sliders now. The lantern, the fermenter, building and everything else played at full volume whatever the Master and SFX sliders said, and stayed audible with the game turned down to zero.
- Both of Tequila's asset bundles carry their own copy of the game's audio mixer, and every sound in them was routed through a copy the sliders never reach. They are now rerouted to the matching group of the real mixer when a world loads.
- Another mod that carries the same copy of the mixer gets the same treatment, since the copy cannot be traced back to the mod it came from.
Thanks to Simple205 for the report (#3).
1.2.0
- The original mod's config works again while the game is running. Changing a
crafting cost, a build table or anything else in
Tequila.DvergrPieces.cfgtook effect only on a cold start, and removing a piece from the hammer did not even survive a world reload. Both apply immediately now. - Valheim 1.0 turned
ZRoutedRpc.Everybodyfrom a static field into a const. The ServerSync copy compiled into Dvergr Pieces still reads it as a field, which throwsMissingFieldExceptionin the handler attached to every synced config entry — and because that handler runs first, the one that actually applies the change never got to run. That handler is now detached, so the rest of the chain runs normally. - A config change is no longer sent to other players. That is the only thing the detached handler did, and it never actually happened — it threw first — so nothing that used to work has stopped. It cannot be restored from here, and for the same reason an admin adding or removing a piece at runtime on a server still fails. Everyone keeping the same config file is unaffected.
tools/verify-compat.ps1gained a check for this: a field that kept its name and its type but became a const. That is what made the bug invisible until it threw.
Thanks to Simple205 for the report (#1).
1.1.0
- The pieces now also appear together under a Dvergr category in the build menu, the way the original mod had them before Valheim 1.0. It is an extra tag rather than a move, so each piece still shows under its vanilla category as well.
- Added a config option,
Dvergr category, to turn that off. - Added a config option,
Fermenter meads, to turn the fermenter brew sync off. On a server where not everyone has the patch, an unpatched client cannot tap a newer mead and tapping destroys it - a mismatch this patch is what creates, so there is now a way out of it that does not mean uninstalling.
1.0.0
First release of the patch.
- Repairs PieceManager's
PieceTable.UpdateAvailableprefix/postfix, which broke on Valheim 1.0 whenm_availablePieceschanged fromList<List<Piece>>toHashSet<Piece>and the old per-category list was renamed tom_availablePiecesByCategory - Adds Valheim 1.0
Piece.m_usagetags so the pieces appear in the new build menu's categories instead of only under "Show All" - Keeps the Dvergr Fermenter's brew list in sync with the vanilla fermenter, so it accepts every mead including the seven added since Ashlands, and will pick up future ones automatically. This fixes a known issue from Dvergr Pieces 2.9.0.
Note on Dvergr_Pieces_Reborn
This package replaces PatTheEvil-Dvergr_Pieces_Reborn, which has been deprecated.
That package redistributed Tequila's compiled assembly with the fix applied to it. Azumatt pointed out that bundling another author's copyrighted DLL is not acceptable even unmodified, and that the right shape is to depend on the original and patch it at runtime. He was right. This package does that instead, and contains no files of his.
