Mods / Temporal Amulets

Tags:
Clothing
Authors:
Necromunger, Critcher
Side:
Both
Created:
Sep 13th 2025 at 1:41 PM
Last modified:
May 2nd at 11:34 PM
Downloads:
1426
Follow Unfollow 73
Latest release (for Vintage Story 1.22.1, potentially outdated):
temporalamulets_1.0.3.zip  1-click install

Adds craftable Temporal Amulets that restore your stability and provide light while it has durability.

  • Tier 1: Silver
    Restores 2% stability per durability
    Light range: 3

  • Tier 2: Tin bronze
    Restores 4% stability per durability
    Light range: 4

  • Tier 3: Electrum
    Restores 6% stability per durability
    Light range: 5


You will need to make a mold and cast the frame of the amulet to create it.

Use a temporal gear to repair the temporal amulet after it loses all of it's durability.



This mod also adds an admin command to set sanity.

/player necromunger sanity 0

Thankyou to Critcher for the amazing necklaces =)

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.0.3 temporalamulets 319 May 2nd at 11:34 PM temporalamulets_1.0.3.zip 1-click install
  • Restored lighting values per amulet
1.0.2 temporalamulets 16 May 2nd at 10:55 PM temporalamulets_1.0.2.zip 1-click install
  • Fixed pouring into mold crash
  • Fixed position in tongs
1.0.1 temporalamulets 87 May 1st at 4:25 AM temporalamulets_1.0.1.zip 1-click install

- Lights currently not working as expected, made lighting values be the same as Temporal gear amulet

1.0.0 temporalamulets 10 May 1st at 4:11 AM temporalamulets_1.0.0.zip 1-click install
  • Updated to 1.22.1
  • Added craftable mold for temporal amulet frames
  • Added temporal amulet frame
  • Updated craft recipe and added silver tier
0.1.0 temporalamulets 153 Apr 11th at 5:30 PM temporalamulets_0.1.0.zip 1-click install
  • Updated version
  • Code cleanup
  • Added serverside only command to set sanity
  • Simplified crafting recipe to use leather instead of glue
  • Reduced light to be in line with normal temporal amulet
0.0.3 temporalamulets 715 Sep 14th 2025 at 11:19 AM temporalamulets_0.0.3.zip 1-click install

Moved temporal stability restoration to only run server-side

0.0.2 temporalamulets 47 Sep 14th 2025 at 7:12 AM temporalamulets_0.0.2.zip 1-click install

Attempt to fix null reference exception

Cleaned up code

0.0.1 temporalamulets 79 Sep 13th 2025 at 1:51 PM Empty temporalamulets_0.0.1.zip 1-click install

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

TempestMelody, 21 hours ago

does this still work for the most recent version of the game? its olmost perfect for a server idea i have.

Necromunger , May 2nd at 10:55 PM

Faulkface released fix, i apologize for that. I had tested it in past but when i tried to simplify introduced an error.

Necromunger , May 2nd at 9:53 PM

Faulkface looking into it now

Faulkface, May 2nd at 1:51 PM (modified May 2nd at 1:53 PM)

i get a crash when trying to pour the metal into the mold. heres the report 

Crash Report

Running on 64 bit Windows 10.0.19045.0 with 16348 MB RAM
Game Version: v1.22.1 (Stable)
5/2/2026 6:46:50 AM: Critical error occurred
Loaded Mods: biggerpockets@1.0.6, bushmeatstew@1.0.0, chiseltools@1.17.1, crockmod@2.1.1, jsonpatcheslib@1.5.2, lootgoblinbackpacks@0.0.3, overhaulliblegacycompat@1.0.10, propersticks@0.2.0, temporal_gears_stack@1.0.0, game@1.22.1, vsimgui@1.2.2, animationslib@0.0.2, awearablelight@1.1.5, betterruins@0.6.0, carryon@1.14.0-rc.1, configlib@1.11.1, extrainfo@2.0.0, hudclockpatch@4.2.1, lunchbox@1.3.2, ndlchiselpick@4.1.0, temporalamulets@1.0.1, creative@1.22.1, survival@1.22.1, xlibfork@1.0.1, castaway@1.0.2, combatoverhaulfork@0.17.8, xinvtweaksfork@1.9.0, xskillsfork@1.0.5, armoryfork@1.10.6, xskillsgilded@1.3.18
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.GameContent.BlockEntityToolMold.GetMoldedStacks(ItemStack fromMetal) in VSSurvivalMod\BlockEntity\BEToolMold.cs:line 449
at Vintagestory.GameContent.BlockEntityToolMold.CanReceive(ItemStack metal) in VSSurvivalMod\BlockEntity\BEToolMold.cs:line 171
at Vintagestory.GameContent.BlockSmeltedContainer.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handHandling) in VSSurvivalMod\Block\BlockSmeltedContainer.cs:line 135
at Vintagestory.API.Common.CollectibleObject.OnHeldUseStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, Boolean firstEvent, EnumHandHandling& handling) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1466
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 856
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 832
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 550
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.UpdatePicking(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 224
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 87
at Vintagestory.API.Client.DummyRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in VintagestoryApi\Client\API\IClientEventAPI.cs:line 88
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 858
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1062
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 251
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 783
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 686
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 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95

Event Log entries for Vintagestory.exe, the latest 1
==================================
{ TimeGenerated = 5/2/2026 6:45:03 AM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.1.0, time stamp: 0x691d0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x1e4c
Faulting application start time: 0x01dcda3837bc9ddb
Faulting application path: D:\Vintagestory\Vintagestory.exe
Faulting module path: D:\Vintagestory\Lib\openal32.dll
Report Id: b89fd046-8cdf-447f-8c7c-c170898b5276
Faulting package full name:
Faulting package-relative application ID: }

Necromunger , May 1st at 4:16 AM

BrodoFaggins You simply wear it and it will restore durability. It will not waste and wont restore if it would until you have little enough stability.

BrodoFaggins, Apr 27th at 6:35 PM

how do you gain stability back from the amulet? Does it restore it automatically or do you have to do something? Also, if it's automatic, does it waste any durability by trying to restore 99% to a 100%?

Necromunger , Apr 14th at 6:53 PM

porkjorker321 cool idea

porkjorker321, Apr 14th at 8:53 AM

I think a meteoric iron amulet would be really cool

Necromunger , Apr 11th at 5:32 PM

Hello all, i have updated this mod according to the feedback below.

_Spy_ I have changed the values to be the same as you mention to be in line with the normal gear amulet.

Gazz Glue has been replaced with leather in the recipe.

 

I apologize it took me so long to come back to this.

Let me know of any issues, and i will address as soon as possible.

Gazz, Oct 30th 2025 at 4:15 PM

I'm still on 1.21.1, where making glue is broken.

We can't be arsed to update and check on all the mods we have running. ;)

 

If it works now, cool.

_Spy_, Oct 25th 2025 at 10:26 PM (modified Oct 25th 2025 at 10:27 PM)

Hi, I'd love an option to tune down the light of the amulets, they are way too cheap for how much light they give you

For anyone wanting to tune out the light, go to \assets\temporalamulets\itemtypes\werables\temporal-sealed-necklaces.json
And edit the atribute lightHsvByType to these values:

"*-tinbronze": [32, 4, 1],
"*-electrum": [32, 4, 1]

That'll give them the same brigthness as the normal gear amulet

Necromunger , Oct 9th 2025 at 5:46 AM

Gazz I have made the necklace on my own with only this mod in survival.

What version are you on?

Gazz, Oct 7th 2025 at 10:29 AM (modified Oct 7th 2025 at 5:31 PM)

Just a minor gripe:  "Glue" is part of the recipe but is currently unobtainable in the game. No ETA on a fix.

Now for my personal use I replaced "game:glueportion-pitch-hot"
with "game:waterportion"
but that's not a realistic option for everyone.

Necromunger , Sep 14th 2025 at 7:14 AM

Glaron Thankyou, i released an update to try and fix.

Glaron, Sep 14th 2025 at 12:32 AM (modified Sep 14th 2025 at 12:33 AM)

Hey I downloaded this and ran into an issue here is the crashlog

Crash Report 9/13/2025 8:29:27 PM: Critical error occurred in the following mod: temporalamulets@0.0.1Loaded Mods: aculinaryartillerypatch@1.2.6-pre.4, Amongium@1.0.0, ancientarmory@1.1.0, cavesymphony@1.2.0, chiseltools@1.15.1, coldstorage@1.0.2, craftablecompanion@1.3.0, driedpeat@1.1.1, expandedmoldsbalanced@1.1.0, facop@1.2.1, foodcrate@1.2.0, forestsymphony@1.0.6, fagothic@1.1.5, fagreenwich@1.2.4, falandsknecht@1.1.3, fatemplar@1.2.5, swfreqsharks@1.2.1, igniscustomstuffz@1.2.2, millwright@1.2.8, molds@0.2.0, overhaullib@1.6.2, planktondrifters@1.0.0, primitivesurvival@3.9.5, repairablelocust@1.5.0, riftweapons@1.1.6, rustandrailroads@2.1.1, soapandlye@1.1.0, temporalsymphony@2.2.1, unhallowedpatches@1.6.0, game@1.21.1, vsimgui@1.1.12, wildfarmingrevival@1.4.0, zoombuttonreborn@2.0.0, abcsredux@2.0.5, alchemy@1.7.14, animalcages@4.0.1, wrenchroof@1.3.0, attributerenderinglibrary@2.1.1, bedspawnv2@1.6.1, betterdeathmessages@1.0.1, betterruins@0.5.0, bettertraders@0.1.0, bullseyecontinued@3.4.1, carryon@1.10.9, cartwrightscaravan@1.7.1, combatoverhaul@0.9.3, commonlib@2.8.0, configlib@1.10.1, decayingcreatures@0.1.6, durablebetterprospecting@1.4.0, eldritchmonsters@2.7.2, expandedfoodspatch@1.7.6-pre.1, fieldsofsalt@1.2.4, foodshelves@2.3.0, fromgoldencombs@1.9.1, hazchakram@1.0.2, hazjackalope@1.0.2, healthbarunofficialknewone@1.0.7, jaunt@2.1.0-rc.1, justthepepper@2.0.0, krpgenchantment@1.1.5, landclaming@1.0.3-rc.1, maketeaforked@0.7.0, maltiezcrossbows@1.5.2, maltiezfirearms@1.2.1, medievalexpansionpatch@1.3.1, moreanimals@1.6.2, nbcartographer@2.2.1, petai@4.0.0, playermodellib@1.0.5, claywheel@1.1.3, purposefulstorage@1.4.1, riftworks@1.1.14, rustboundmagic@3.0.11, rustyshellfork@0.1.0, smithingplus@1.7.4, stirlingmotor@2.0.0, stonebakeoven@1.2.0, tanningredux@1.0.2, tasshroombodyfat@0.0.16, temporalamulets@0.0.1, terraprety@7.0.8, th3dungeon@0.4.4, th3expansion@2.0.0, todolist@2.2.2, coffee@1.0.2, viescraftmachines@2.4.1, creative@1.21.1, survival@1.21.1, xlibrabite@0.8.20, allclasses@2.0.5, armory@1.2.0, autoconfiglib@2.0.8, betterloot@2.0.0, draconis@1.1.0-rc.2, floatinglandmasses@1.0.7, foxtaming@1.7.1, fueledwearablelights@1.0.1, harepet@1.3.0, helvehammerext@1.8.0, koboldrdx@1.0.10, quiversandsheaths@0.3.3, stonequarry@3.5.1, tabletopgames@3.0.0, temporaltechnology@1.2.0, th3dungeontopentrance@0.4.1, wolftaming@4.0.1, xskillgildedpatch@1.1.1, xskillsrabite@0.8.23, zrustdrops@2.0.0, classcompatpfwhop@1.0.1, exoskeletons@0.4.2, xskillsnewclassesexptemp@0.1.1System.NullReferenceException: Object reference not set to an instance of an object. at TemporalAmulets.Behaviors.EntityBehaviorTemporalNecklace.OnGameTick(Single dt) in F:\Projects\vs-temporal-amulets\TemporalAmulets\src\Behaviors\EntityBehaviorTemporalNecklace.cs:line 18 at Vintagestory.API.Common.Entities.Entity.OnGameTick(Single dt) in VintagestoryApi\Common\Entity\Entity.cs:line 1038 at Vintagestory.API.Common.EntityAgent.OnGameTick(Single dt) in VintagestoryApi\Common\Entity\EntityAgent.cs:line 653 at Vintagestory.API.Common.EntityPlayer.OnGameTick(Single dt) in VintagestoryApi\Common\Entity\EntityPlayer.cs:line 713 at Vintagestory.Client.NoObf.ClientSystemEntities.OnGameTick(Single dt) in VintagestoryLib\Client\Systems\Entities.cs:line 87 at Vintagestory.Common.GameTickListener.OnTriggered(Int64 ellapsedMilliseconds) in VintagestoryLib\Common\Model\GameTickListener.cs:line 25 at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Common\EventManager.cs:line 102 at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 836 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 113 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