Mods / Dampened Anvil & Pulverizer
- Tags:
- 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.
"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 Identifier | For 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 ==-
| |||||||
| 1.1.1 | dampenedanvil | 442 | Feb 3rd at 8:33 PM | dampenedanvil_1.1.1.zip | 1-click install | ||
|
-== Release 1.1.1 ==-
| |||||||
| 1.1.0 | dampenedanvil | 1879 | Aug 26th 2025 at 3:08 AM | dampenedanvil_1.1.0.zip | 1-click install | ||
|
Release 1.1.0
| |||||||
| 1.0.0 | dampenedanvil | 3336 | Jul 3rd 2025 at 5:14 AM | dampenedanvil_1.0.0.zip | 1-click install | ||
| |||||||
| 0.0.8 | dampenedanvil | 650 | Apr 10th 2025 at 6:36 PM | dampenedanvil_0.0.8.zip | 1-click install | ||
| |||||||
| 0.0.7 | dampenedanvil | 89 | Apr 9th 2025 at 5:03 PM | dampenedanvil_0.0.7.zip | 1-click install | ||
| |||||||
| 0.0.4 | dampenedanvil | 78 | Apr 8th 2025 at 4:16 PM | dampenedanvil_0.0.4.zip | 1-click install | ||
| |||||||
| 0.0.3 | dampenedanvil | 74 | Apr 8th 2025 at 4:55 AM | dampenedanvil_0.0.3.zip | 1-click install | ||
| |||||||
| 0.0.2 | dampenedanvil | 42 | Apr 8th 2025 at 3:50 AM | dampenedanvil_0.0.2.zip | 1-click install | ||
|
Initial Release
| |||||||
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
Doesn't work in 1.21.6
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:
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
F0rkmaster More than likely, yes. I'll look into it.
Thats great! Could you add the quern to the mod?
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
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.
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 !
i would like another mod like this, maybe a dampened pulverizer? they are very noisy
KickPaw 🙏 Thank you!
Buddha bless this mod, works fine on 1.20.11
terci That error shouldn't affect anything. It's just a commented out JSON for a WIP custom dampened anvil item.
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