Mods / Translocator Locator

Category: #Crafting #Magic #QoL #Tweak #Utility
Author: Asraiel
Side: Both
Created: Jul 25th 2021 at 8:42 PM
Last modified: Mar 17th 2022 at 3:35 PM
Downloads: 3425
Follow Unfollow 31

Latest file for v1.16.4: 1-click install

Trying to find Translocators near you? With this neat little helper your search will be a lot easier.



  • Translocator Locator
    • Tries to find broken Translocators around you
    • Needs iron age for plates
    • Mod Config to set range and durability cost of the different modes
    • Directional Mode:
      • searches in a Cone "behind" the block relative to the face clicked. If you click the wall, it will search behind the wall. If you click the floor, it will search below that block, etc.
      • example with range 5 (C = clicked block, X = unchecked block, ■ = checked block, project to 3D)

    • Three differently sized Radius Modes
      • Will search in a small, medium or large radius around the clicked block, in every direction.
      • Large radius may cause momentary lag, use config to reduce radius if needed.
    • 1500 Durability
    • Default values are currently:
      • Directional mode: 20 range, 1 durability
      • Small Radius mode: 20 range, 1 durability
      • Medium Radius mode: 50 range, 5 durability
      • Large Radius mode: 100 range, 20 durability
  • Ancient Ruin Locator
    • same functionality as Translocator Locator but:
      • own config values
      • looks for aged wood blocks
        • bed
        • chair
        • table
        • planks
        • wallpaper planks
      • does not show the number of blocks found
      • can NOT distinguish between generated and player placed blocks
    • uses aged wood planks instead of metal parts, so you still have to reach iron age and you must have found at least one underground ruin on your own


Currently has english and german localization.


Big Thanks to McBain for offering to update this to 1.16!

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v1.0.2 1560 Mar 17th 2022 at 3:35 PM Show Install now
v1.0.1 694 Jul 29th 2021 at 6:45 PM Show Install now
v1.0.0 405 Jul 28th 2021 at 9:16 PM Show Install now
v0.2.0 389 Jul 27th 2021 at 5:04 PM Show Install now
v0.1.0 377 Jul 25th 2021 at 8:52 PM Show Install now

29 Comments (oldest first | newest first)

💬 mj_outlaw, 2 days ago

Can you pls upgrade it for 1.19.3? It chrashes at the moment I try to use the locator..

System.NullReferenceException: Object reference not set to an instance of an object.
at TranslocatorLocator.ItemTranslocatorLocator.GetConeRange(ModConfig modConfig)
at Locator.ItemBaseLocator.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling)
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 854
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 444
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 89
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 185
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 802
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1006
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 675
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 650
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 318
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 Suri04, Jan 8th at 10:23 PM
💬 Baronjutter, Jun 29th 2022 at 6:41 PM

Such a great mod, I so wish it could be fixed to work in multiplayer.

💬 Shuurian, Jun 21st 2022 at 8:36 PM

Having the issue of client crashing when trying to use TransLocatorLocator in server(Linux) - client(windows) config, did work locally on creative world. Using 1.16.5 

💬 Pengwin, May 24th 2022 at 12:40 PM

I had the same issue as posted below. It seems to be MP related. I looked into the code and my best guess is that the mod has an issue when retrieving values from the config file, like the range used for a scan. The config file is not found and crashes the client. (Null Reference). Most likely this is easy to fix, but I havent worked with config-file-stuff yet and dont know how the client config structure differs from the servers.

💬 Oranje, May 16th 2022 at 7:13 PM

Asraiel Do you still support this mod, if you do, there is no recipe for the ruin locator i think.

💬 Chuckles, Apr 1st 2022 at 3:21 PM

With the recipie shape change it appears that the recipie for the ancient ruin locator is missing?

💬 bluelightning32, Mar 23rd 2022 at 6:13 AM

The locator crashed my client when I tried to use it on a multiplayer server.


Game Version: v1.16.4 (Stable)
Loaded Mods: ancienttools@1.4.0, tonwexp@1.0.9, backpackpack@1.0.3, bettercrates@1.4.1, cavecontent@1.0.1, dragonflies@1.1.9, extrachests@1.5.2, fancydoors@1.1.0, instruments@1.1.2, moremetals@1.0.9, moreroads@1.4.3, necessaries@1.1.1, primitivesurvival@2.8.0, qptech@1.7.6, rope-bridges@1.1.0, spidersilk@1.2.2, stackables@2.0.5, locustmod@2.3.5, theneighbours@0.4.12, tradeomat@1.6.0, viescraftmachines@1.17.0, game@1.16.4, vshud@2.0.31, zeekea@1.6.0, alchemy@1.6.0, carrycapacity@0.6.5, farmlife@1.2.3, fromgoldencombs@1.3.6-rc.6, lichen@1.6.1, medievalexpansion@3.7.1, outlawmod@1.0.8, petai@1.3.7, playercorpse@1.3.1, prospectorinfo@3.1.2, stonequarry@1.6.5, tpnet@1.5.1, translocatorlocator@1.0.2, usefulstuff@2.3.2, creative@1.16.4, survival@1.16.4, wildfarming@1.2.8, woodbarrels@1.0.1, workbenchexpansion@1.4.1, xlib@0.6.8, xmelee@0.0.10, xrowboat@0.0.3, bullseye@2.2.4, cats@1.3.4, feverstonehorses@1.2.6, packanimals@1.0.1, wildcraft@1.2.1, wolftaming@1.3.3, xskillspatched@0.6.9-dev.7
3/22/2022 11:10:12 PM: Critical error occurred
System.NullReferenceException: Object reference not set to an instance of an object
at TranslocatorLocator.ItemTranslocatorLocator.GetConeRange (ModConfig.ModConfig modConfig) [0x00001] in <e37e05bf798842eeb77cd01ff41980dc>:0
at Locator.ItemBaseLocator.OnHeldInteractStart (Vintagestory.API.Common.ItemSlot slot, Vintagestory.API.Common.EntityAgent byEntity, Vintagestory.API.Common.BlockSelection blockSel, Vintagestory.API.Common.EntitySelection entitySel, System.Boolean firstEvent, Vintagestory.API.Common.EnumHandHandling& handling) [0x00071] in <e37e05bf798842eeb77cd01ff41980dc>:0
at Vintagestory.API.Common.CollectibleObject.OnHeldUseStart (Vintagestory.API.Common.ItemSlot slot, Vintagestory.API.Common.EntityAgent byEntity, Vintagestory.API.Common.BlockSelection blockSel, Vintagestory.API.Common.EntitySelection entitySel, Vintagestory.API.Common.EnumHandInteract useType, System.Boolean firstEvent, Vintagestory.API.Common.EnumHandHandling& handling) [0x00018] in <c35009a825774beb829bbd8af877cce6>:0
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem (Vintagestory.API.Common.BlockSelection blockSel, Vintagestory.API.Common.EntitySelection entitySel, Vintagestory.API.Common.EnumHandInteract useType, Vintagestory.API.Common.EnumHandHandling& handling) [0x000a1] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem (Vintagestory.API.Common.BlockSelection blockSel, Vintagestory.API.Common.EntitySelection entitySel) [0x00002] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected (System.Single dt) [0x00319] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.UpdatePicking (System.Single dt) [0x0009e] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame (System.Single dt) [0x0004a] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.API.Client.DummyRenderer.OnRenderFrame (System.Single deltaTime, Vintagestory.API.Client.EnumRenderStage stage) [0x00000] in <c35009a825774beb829bbd8af877cce6>:0
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage (Vintagestory.API.Client.EnumRenderStage stage, System.Single dt) [0x00072] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage (Vintagestory.API.Client.EnumRenderStage stage, System.Single dt) [0x00028] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer (System.Single dt) [0x00093] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at _4Bi1AGVssrIO0El8b8ygdS9FIfm._LvzIyYpsQCoC78JubjSO0HCjtTg (System.Single ) [0x0003e] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at _lAuHsYOBOAjBMdATFXwLUtH7N00._JvY4M2412YZu1OS3Ull8wgZBu1j (System.Single ) [0x001c0] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at _lAuHsYOBOAjBMdATFXwLUtH7N00._KmBeEx15nyyLrVqNDW6geSArpNr (System.Single ) [0x000cc] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame (System.Object sender, OpenTK.FrameEventArgs e) [0x00141] in <6b6988c5e6264e7e8b7a32e875df9528>:0
at (wrapper delegate-invoke) System.EventHandler`1[OpenTK.FrameEventArgs].invoke_void_object_TEventArgs(object,OpenTK.FrameEventArgs)
at OpenTK.GameWindow.OnRenderFrame (OpenTK.FrameEventArgs e) [0x00000] in <a4886e33f9fc416195d24950e7205b94>:0
at OpenTK.GameWindow.OnRenderFrameInternal (OpenTK.FrameEventArgs e) [0x00010] in <a4886e33f9fc416195d24950e7205b94>:0
at OpenTK.GameWindow.RaiseRenderFrame (System.Double elapsed, System.Double& timestamp) [0x0000c] in <a4886e33f9fc416195d24950e7205b94>:0
at OpenTK.GameWindow.DispatchRenderFrame () [0x00038] in <a4886e33f9fc416195d24950e7205b94>:0
at OpenTK.GameWindow.Run (System.Double updates_per_second, System.Double frames_per_second) [0x00104] in <a4886e33f9fc416195d24950e7205b94>:0
at OpenTK.GameWindow.Run () [0x00000] in <a4886e33f9fc416195d24950e7205b94>:0
at _TRhArnJABwZoV9Vt7Ld2l65Xzgg._mhlr8s7wtMvxaJGpVy2Ag90jUBK (_3HJA5NvAIx31LXjscc3HGjXaR6q , System.String[] ) [0x003dc] in <29d88641cda44fa481e9734466805d45>:0
at _TRhArnJABwZoV9Vt7Ld2l65Xzgg+_fSeTszd4whwFiRbaTa0d2CyPdfJ._SvbPzpxmSlo5pUMfGCrGwu2xebc () [0x00000] in <29d88641cda44fa481e9734466805d45>:0
at _q0zAVOrWbMX04rMA9G3HIFVuGjA._mhlr8s7wtMvxaJGpVy2Ag90jUBK (System.Threading.ThreadStart ) [0x00007] in <6b6988c5e6264e7e8b7a32e875df9528>:0

💬 McBain, Mar 20th 2022 at 3:25 PM

@Lumber Do you know what block you were clicking on when the error occured?  I have tested this with lots of block and entity types and I can't replicate the error.

💬 Lumber, Mar 19th 2022 at 10:33 PM

Weird, it crashed to desktop on the server once but seems to work fine now. If it matters, here's the crash log...

💬 Lumber, Feb 12th 2022 at 8:13 PM

Appears to crash to desktop when you attempt to use the device in 1.16.3.


💬 Wild_BluYonder, Oct 21st 2021 at 10:32 AM

To what depth does this mod explore for each range setting? The 100 block setting checks 100 blocks at the center and how many blocks deep at, say, 50 and 75 blocks from the center.



💬 Paned, Oct 12th 2021 at 5:35 PM

I got a Problem with this mod on game version 1.15.6

I can not use it on multiplayer (game crashes every time i use it).

I only can use this tool in multiplayer when i have used it bevore in singleplayer. (maybe some kind of variable does not load on mp?)


workaround for now:

bevore using it on mp, login to your sp world, use the tool, login to the mp server and then you can use the tool.


please fix this (i like that mod)


Thank you :)

💬 Berkyjay, Sep 25th 2021 at 9:22 PM

Is this mod still being worked on?

💬 Berkyjay, Sep 13th 2021 at 6:56 AM

So if I have an aged wood bed placed in my base, will the Ancient Ruin Locator detect that?

💬 AsraielAuthor, Jul 29th 2021 at 6:47 PM

@DArkHekRoMaNT Yes I noticed that earlier today as well. Version 1.0.1 has an updated recipe for both locators.

@Chuckles The Ancient Ruin Locator is its own item with its own recipe.

💬 Chuckles, Jul 29th 2021 at 3:49 PM

What's the command to switch between modes on the Ancient Locator?


to clarify, have the chat window up, then press F


💬 DArkHekRoMaNT, Jul 29th 2021 at 12:44 PM

How to craft it? The temporal gear has a stack size of 1. Or have you changed the stack size?

Perhaps it is worth changing the recipe to PGP,GMG,P_P, where P is plate, G is t. gear, M - metal parts x4?

💬 Draaven1, Jul 27th 2021 at 5:24 PM

Thank you. I'll try your mode soon.

💬 AsraielAuthor, Jul 27th 2021 at 5:11 PM

@Draaven @explorerbee I added an Ancient Ruin Locator tool to the mod. Check the description or change log for details.

💬 AsraielAuthor, Jul 27th 2021 at 7:02 AM

I did not test with 1.14 or below, but for the reason you mentioned this mod needs 1.15+, pretty sure.

💬 Berkyjay, Jul 26th 2021 at 9:57 PM

Just to be sure, this requires 1.15 to work right?  In 1.14 the temporal gears don't stack.  So I'm assuming that's a 1.15 change?

💬 Berkyjay, Jul 26th 2021 at 8:10 PM

@Asraiel Gotcha, that's sounds like a way to balance it.  I haven't used it quite yet.  I was gonna wait until I upgraded to 1.15.  :)

💬 AsraielAuthor, Jul 26th 2021 at 8:04 PM

@Berkyjay As of now, the locator has limited durability with higher cost for higher range operations. You could configure higher durabilty costs if you think the current durability is too high.
Repairing is not really worth it imho, as you can recraft it with materials you can aquire from traders or farm from drifters.

@Draaven @explorerbee I'll check which method of finding underground ruins might be suitable. If I can distinguish whether a block has been placed by world generation or by a player, this might work. Otherwise this will probably lead to false positives near player structures.

💬 Berkyjay, Jul 26th 2021 at 6:23 PM

LOVE this idea.  One suggestion.  If you can manage it, I would make it so that this device breaks down with every use and requires temporal gears to repair.  Not sure how technically feasible that would be  But I feel it would balance it out more and give players a reason to fight drifters more.

💬 explorerbee, Jul 26th 2021 at 5:14 PM

Would be nice to search for everything from aged wood.

💬 AsraielAuthor, Jul 26th 2021 at 4:53 PM

I could easily add another tool that searches for another specific block, maybe tapestries? Would that help?

💬 Draaven1, Jul 26th 2021 at 2:15 PM

It would be brilliant, if this tool could also locate hidden chambers.

💬 Chuckles, Jul 26th 2021 at 3:39 AM

This makes me happy.

(edit comment delete)