Mods / Dampened Anvil & Pulverizer

Tags:
Utility Other QoL Tweak
Author:
BloodThunder
Side:
Both
Created:
Apr 8th 2025 at 3:45 AM
Last modified:
Feb 3rd at 8:46 PM
Downloads:
6863
Follow Unfollow 86
Latest release (for Vintage Story 1.21.6, potentially outdated):
dampenedanvil_1.1.1.zip  1-click install
For testers (for Vintage Story 1.21.6, potentially outdated):
dampenedanvil_1.1.2-rc.1.zip  1-click install

Mind your neighbors. Dampen your anvils and pulverizers to reduce noise.



How to use:
Simply place an anvil atop any type of log. That's it, enjoy your quieter smithing!
Now with Pulverizer support!

 



Multiplayer Compatible
Config Lib support

Inside of the DampenedAnvil_Config.json file, you can customize the distance and volume of each affected system. You could even make them louder if you're extra like that.

Default Settings

"HammerHitDistance": 8.0, // The distance in blocks that sound will travel. Vanilla default is 16.0
"HammerHitVolume": 0.5,  // Maximum volume when the hammer strikes an anvil. Vanilla default is 1.0
"HelveHitDistance": 16.0,  // The distance in blocks that sound will travel. Vanilla default is 32.0
"HelveHitVolume": 0.5,  // Maximum volume when the hammer strikes an anvil. Vanilla default is 1.0
"PulverizerHitDistance": 4.0, // The distance in blocks that sound will travel. Vanilla default is 8.0
"PulverizerHitVolume": 0.5, // Maximum volume when operating a pulverizer. Vanilla default is 1.0
"Version": 0.01 // Config file version. Set to 0 to reset, but keep settings. Delete config to fully reset all defaults.

 



WIP/Possible Features:
Dedicated all-in-one dampened anvils, Custom dampened audio

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.1.2-rc.1 dampenedanvil 258 Feb 3rd at 8:46 PM dampenedanvil_1.1.2-rc.1.zip 1-click install

-== Beta Release 1.1.2-rc.1 ==-

  • Tentative fix for modded Helve interactions. It should be more null-safe to escape out of missing anvils and other issues in log detection.
    Please test and let me know if it works with other modded systems like In Dappled Groves and XSkills
1.1.1 dampenedanvil 442 Feb 3rd at 8:33 PM dampenedanvil_1.1.1.zip 1-click install

-== Release 1.1.1 ==-

  • Updated to VS 1.21.6
  • Thanks for the report @TheNaikan
1.1.0 dampenedanvil 1879 Aug 26th 2025 at 3:08 AM dampenedanvil_1.1.0.zip 1-click install

Release 1.1.0


⚠️This release is made for 1.21.0 and above ONLY! ⚠️
⚠️ Backup your game before converting! You know the drill! ⚠️

 

  • ⚠️Updated and recompiled to .net 8 and VS 1.21.0
  • No further changes since Dampened Anvil 1.0.0
  • Please report any issues on the GitHub or Discord thread. There may be unforseen bugs with a new major version of VS. Upgrade at your own risk.
1.0.0 dampenedanvil 3336 Jul 3rd 2025 at 5:14 AM dampenedanvil_1.0.0.zip 1-click install
  • Added: Pulverizer support. Works just like dampening an anvil. Simply place your Pulverizer ontop of a log to activate the sound dampening.
  • Changed: Config version is now 1.0
  • Added: PulverizerHitDistance in Config. Default value 4.0. Represents the furthest distance the sound will travel for pulverizers. Vanilla default is 8.0
  • Added: PulverizerHitVolume in Config. Default value 0.5. Represents the pulverizer sound volume. Vanilla default is 1.0
0.0.8 dampenedanvil
1.20.8 - 1.20.10 1.20.11 - 1.20.12
650 Apr 10th 2025 at 6:36 PM dampenedanvil_0.0.8.zip 1-click install
  • Fixed: Config Lib creating junk config files. If you have a corrupt config file, just delete it in your VintagestoryData\ModConfig directory and restart your game. DampenedAnvil will now properly attempt to create the config before ConfigLib gets its grubby hands on the filepath. It was also a good excuse to optimize the client/server side configuration loader.
  • Fixed: Got rid of the commented out block, and using the "enabled: false" option in block properties. This should reduce errors in the logs.
0.0.7 dampenedanvil 89 Apr 9th 2025 at 5:03 PM dampenedanvil_0.0.7.zip 1-click install
  • Fixed: Fix for Multiplayer crash. Config is now loaded properly from the client and used instead of server config.
  • Known Issue: Config Lib creates corrupt config files, instead of DampenedAnvil creating the config file if one does not exist already.
0.0.4 dampenedanvil 78 Apr 8th 2025 at 4:16 PM dampenedanvil_0.0.4.zip 1-click install
  • Added: ConfigLib support. If for some reason your Volume slider only allows 0 or 1, hit the default button and try again. This is a bug with ConfigLib.
0.0.3 dampenedanvil 74 Apr 8th 2025 at 4:55 AM dampenedanvil_0.0.3.zip 1-click install
  • Fixed: Forgot to turn off debug log events. This should reduce the log spam.
0.0.2 dampenedanvil 42 Apr 8th 2025 at 3:50 AM dampenedanvil_0.0.2.zip 1-click install

Initial Release

  • Added: Supports HelveHammer and ItemHammer, using just about any kind of log, modded or not.
  • Added: Config Version is now 0.01
  • Added: HammerHitDistance in Config. Default value 8.0. Represents the furthest distance the sound will travel for hand held hammers.
  • Added: HammerHitVolume in Config. Default value 0.5. Represents the hit volume for hand held hammers on an anvil.
  • Added: HelveHitDistance in Config. Default value 16.0. Represents the furthest distance the sound will travel for helve hammers.
  • Added: HelveHitVolume in Config. Default value 0.5. Represents the hit volume for helve hammers on an anvil.

13 Comments (oldest first | newest first) (threaded | flat)

BloodThunder , Feb 3rd at 8:47 PM

TheNaikan Fixed in 1.1.1

ArsenikMilk Possibly fixed in 1.1.2-rc.1  Please try it and let me know if it works

TheNaikan, Feb 2nd at 1:47 PM

Doesn't work in 1.21.6

ArsenikMilk, Oct 14th 2025 at 3:34 PM

Hello! I enjoyed your mod greatly, and wanted to make you aware of a conflict that required I disable the mod.

I was using the Helve Axe addon for In Dappled Groves (https://mods.vintagestory.at/mechanicalwoodsplitter), which requires a "Chopping Block" item instead of an anvil as the workstation. As soon as I placed the helve axe in the helve base, the game immediately crashed, giving a log listing this mod as the critical error location (log below). From then on, trying to load the world would immediately crash the game as soon as you finished loading in, even in repair mode. Fortunately, disabling this mod fixed the issue, but now I am trapped, forever cursed, with an undampened anvil. 

It seems the game is not sure what to do when the helve hammer asks for a workstation other than the anvil.

Log:

Crash Log (most recent one)
14/10/2025 11:04:00 am: Critical error occurred in the following mod: dampenedanvil@1.1.0
Loaded Mods: barkbeetle@1.0.4, betterarrows@1.0.0, boatiespeedie12@1.0.4, bola@1.3.1, catchledge@0.5.8, chargedjump@1.1.2, chiseltools@1.15.3, claycasting@1.3.4, blocklayeroverhaul@1.0.2, landformoverhaul@1.0.2, crawlanddive@0.2.1, darcesdriftersredone@1.2.4, diversediets@1.0.3, dodgemaster@1.2.3, expandedmolds@1.2.0, fallingtree@0.4.6, firestarters@1.4.5, flora@1.0.7, forestsymphony@1.0.6, freelook@1.0.3, immersivelanterns@0.2.6, immersiveorecrush@2.2.4, indappledgroves@2.2.1-rc.1, jackscomposting@1.2.1, jacksgrass@1.0.0, longtermfood@0.4.9, lumberslingcontinued@1.0.5, manualdough@1.1.6, manualquenching@1.0.8, manualscraping@1.3.0, millwright@1.2.9, noisybears@1.1.0, overhaullib@1.12.8, primitivesurvival@3.9.8, prospecttogether@2.1.1, quicklimepk@1.1.1, shelfobsessed@1.8.3, soaplyeandbloom@1.3.6, temporalsreformed@0.0.8, temporalsymphony@2.2.2, vaultandroll@0.1.1, game@1.21.4, vsimgui@1.1.14, zoombuttonreborn@2.0.0, animalcages@4.0.1, attributerenderinglibrary@2.3.0, egocaribautomapmarkers@4.0.3, betterloot@2.0.1, brickedbloomery@1.0.3, butchering@1.10.6, carryon@1.12.1, commonlib@2.8.0, configlib@1.10.6, dampenedanvil@1.1.0, danatweaks@3.6.0, daymarescupmod@1.0.7, enhancedhandbook@1.7.0, extrainfo@1.10.1, farseer@1.3.2, fieldsofsalt@1.2.4, foodshelves@2.3.1, fromgoldencombs@1.9.4, genelib@2.1.0, glidierglider@0.0.8, gourmand@1.7.9, hudclockpatch@1.1.2, hydrateordiedrate@2.2.24, immersiverope@1.0.6, improvedhandbookrecipes@1.1.3, improvedsheepupdate@1.0.2, insanitylib@1.0.5, maltiezcrossbows@1.6.6, morefluxes@0.3.2, morepiles@2.2.0, pelaguswinds@1.2.2, claywheel@1.1.4, purposefulstorage@1.4.1, realsmoke@1.1.7, rivers@4.7.3, slowtox@3.0.1, smithingplus@1.8.3, stepfixelk@0.0.3, stepupcontinued@0.0.1, stonebakeoven@1.2.0, tasshroombodyfat@0.0.16, toolsanimations@1.2.3, toolsmith@1.2.12, trailmodzupdate@1.3.0, vanvar@7.1.0, creative@1.21.4, survival@1.21.4, autoconfiglib@2.0.9, bettersmelting@0.2.1, brainfreeze@1.3.1, detailedanimals@0.6.2, em@3.3.3, mechanicalwoodsplitter@1.1.2, quiversandsheaths@0.5.2, reforgedtools@1.2.51, shearlib@1.2.0, stonequarry@3.5.1, wearandtear@1.5.15, xinvtweaks@1.8.1, bricklayers@3.1.1, tailorsdelight@2.1.1, wool@1.7.2, dressmakers@1.7.2
Involved Harmony IDs: DampenedAnvilPatch, mechanicalwoodsplitter
System.NullReferenceException: Object reference not set to an instance of an object.
at DampenedAnvil.BEHelveHammer_Patch.Prefix(BEHelveHammer __instance, Single& __result, BEBehaviorMPToggle& ___mptoggle, BlockEntityAnvil& ___targetAnvil, Boolean& ___obstructed, Boolean& ___didHit, Double& ___angleBefore, Double& ___ellapsedInameSecGrow, Single& ___rnd, Single& ___vibrate) in D:\VSProjects\Net7\DampenedAnvil\DampenedAnvil\src\Util\BEHelveHammer_Patch.cs:line 27
at Vintagestory.GameContent.Mechanics.BEHelveHammer.get_Angle_Patch1(BEHelveHammer this)
at Vintagestory.GameContent.HelveHammerRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in VSSurvivalMod\BlockEntityRenderer\HelveHammerRenderer.cs:line 80
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 922
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 172
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 719
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 663
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 338
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
BloodThunder , Oct 4th 2025 at 5:20 PM

F0rkmaster More than likely, yes. I'll look into it.

F0rkmaster, Sep 26th 2025 at 2:10 PM

Thats great! Could you add the quern to the mod?

BloodThunder , Sep 12th 2025 at 2:22 PM

Mynxae I just did some testing, and it doesn't work on chiseled blocks. This is because the mod identifies logs by their in-game code as "log", which changes to "chiseledblock". I'll look into maybe another way to verify against chiseled blocks

Mynxae, Sep 12th 2025 at 5:35 AM

Does this work if you were to, say, chisel part of the log block? I don't want to ruin the aesthetic of the floor underneath where I have my helve hammer, so was hoping to just chisel off the very bottom-facing single-voxel layer and replace it with the other flooring material. 

BloodThunder , Jul 1st 2025 at 2:42 PM

MRGOOSE Thanks for the input. I'll look into doing the pulverizer as well.
From my research, it's pretty much either a shielded tuyere or a dampening pad (similar to putting a log under an anvil) that is commonly used on pulverizer machines. So, it doesn't seem out of place to similarly use logs for this purpose, given the design of the pulverizer in VS.

Edit: Pulverizers are now supported in 1.0.0 !

MRGOOSE, Jun 30th 2025 at 11:11 AM

i would like another mod like this, maybe a dampened pulverizer? they are very noisy

BloodThunder , Jun 24th 2025 at 7:44 PM

KickPaw 🙏 Thank you!

KickPaw, Jun 23rd 2025 at 2:23 PM

Buddha bless this mod, works fine on 1.20.11

BloodThunder , Apr 9th 2025 at 9:31 PM

terci That error shouldn't affect anything. It's just a commented out JSON for a WIP custom dampened anvil item.

terci, Apr 9th 2025 at 9:26 PM

Haven't tested any anvils yet, but I'm seeing this error during the startup poem:

9.4.2025 17:22:52 [Error] Block type dampenedanvil:blocktypes/dampenedanvil.json could not be loaded. Will ignore. Exception thrown:
9.4.2025 17:22:52 [Error] Exception: Object reference not set to an instance of an object.
at Vintagestory.ServerMods.NoObf.RegistryObjectType.loadInherits(ICoreAPI api, JObject& entityTypeObject, String entryDomain, String parentFileNameForLogging) in VSEssentials\Loading\RegistryObjectType.cs:line 265
at Vintagestory.ServerMods.NoObf.RegistryObjectType.CreateBasetype(ICoreAPI api, String filepathForLogging, String entryDomain, JObject entityTypeObject) in VSEssentials\Loading\RegistryObjectType.cs:line 199
at Vintagestory.ServerMods.NoObf.ModRegistryObjectTypeLoader.AssetsLoaded(ICoreAPI coreApi) in VSEssentials\Loading\RegistryObjectTypeLoader.cs:line 132