Mods / VSHUD

Category: #Utility
Author: Novocain
Side: Client
Created: Feb 14th 2021 at 8:08 PM
Last modified: Sep 3rd at 9:58 PM
Downloads: 8969
Follow Unfollow 67

DISCLAIMER: (DOES NOT MAKE WAYPOINTS FROM PAST DEATHS)

Support VSHUD

A mod that adds a few more things to the client side of the game, a few main features right now are: Floaty damage UIs, .obj Caching/Creation, Auto Death Waypoints, Floaty Waypoints, a measuring tool under .measure, .lightutil, a construction planner under .shape, and block placement previews so you know what those slabs are going to look like before you place them.

There are a few default keybindings which can be changed in settings:
U to show floating waypoints.

O to cull automatic death waypoints.

P to open Waypoint Utils GUI

L to open Claims GUI

Pressing R over a floaty waypoint will bring up the edit dialog.

This mod can be used by the player on any server since it's a client exclusive mod.

.wpcfg [dotrange|titlerange|perblockwaypoints|purge|waypointprefix|waypointid|enableall|import|export|pillars] General Config and import/export commands (from/to a waypoints.json file in the game data directory)

.measure Lets you use a measuring tool.

.lightutil Has some stuff relating to showing light level of blocks.

.pconfig [enabled|tinted] For block placement preview config.

.clockconfig [Calendar|Season|Temperature|Rainfall|WindVelocity|LocalTemporalStability|PlayerTemporalStability|TemporalStormInfo] true/false [Offset] x/y Clock UI Configuration

.shape [sphere|cube|circle|dome|path|clear|extrude|save|load] [radius (shape id for saving/loading) (from waypoint id for path)] [thickness (to waypoint id for path)] [attach (true/false)] For making outlines to aid in construction.

.obj Exports an obj mesh file of the block or entity the player is currently looking at.

.objworld Enables/Disables the caching of chunks as .obj parts during chunk tesselation.

.fdcfg state [true/false] Toggles floaty damage UI creation.

.fdcfg range [number] Changes the range at which floaty damages can be produced. Recommended keep this number low (around 100 meters).

.exportmap Exports the world map (ui) tiles into %gamedatapath%/SavedMaps

If the DLL doesn't work on windows, right click it->go to properties->click allow.

If after doing the above and it still refuses to work, or you have a similar issue on Linux, use the .zipped version named VSHUDCompat.zip instead.

Version For Game version Downloads Release date Changelog Download
v2.1.0 655 Sep 3rd at 9:58 PM Show VSHUD.dll
v2.0.31 1176 Feb 14th at 1:50 AM Show VSHUD.dll
v2.0.30 197 Feb 9th at 3:02 AM Show VSHUD.dll
v2.0.29 380 Jan 22nd at 11:37 AM Show VSHUD.dll
v2.0.27 398 Jan 6th at 2:04 AM Show VSHUD.dll
v2.0.25 177 Dec 31st 2021 at 9:09 PM Show VSHUD.dll
v2.0.23 204 Dec 24th 2021 at 1:03 AM Show VSHUD.dll
v2.0.21 158 Dec 23rd 2021 at 4:35 AM Show VSHUD.dll
v2.0.19 175 Dec 18th 2021 at 1:14 AM Show VSHUD.dll
v2.0.17 143 Dec 17th 2021 at 1:05 AM Show VSHUD.dll
v2.0.28 148 Jan 6th at 2:06 AM Show VSHUD.dll
v2.0.26 136 Dec 31st 2021 at 9:07 PM Show VSHUD.dll
v2.0.24 187 Dec 24th 2021 at 1:04 AM Show VSHUD.dll
v2.0.22 133 Dec 23rd 2021 at 4:37 AM Show VSHUD.dll
v2.0.20 156 Dec 19th 2021 at 1:23 AM Show VSHUD.dll
v2.0.18 139 Dec 18th 2021 at 1:11 AM Show VSHUD.dll
v2.0.16 138 Dec 17th 2021 at 1:02 AM Show VSHUD.dll
v2.0.15 459 Jul 24th 2021 at 12:59 AM Show VSHUDCompat.zip
v2.0.15 801 Jul 24th 2021 at 1:00 AM Show VSHUD.dll
v2.0.14 235 Jul 20th 2021 at 7:37 PM Show VSHUDCompat.zip
v2.0.14 279 Jul 20th 2021 at 7:37 PM Show VSHUD.dll
v2.0.12 234 Jul 14th 2021 at 11:13 PM Show VSHUDCompat.zip
v2.0.12 315 Jul 14th 2021 at 11:14 PM Show VSHUD.dll
v2.0.10 230 Jul 13th 2021 at 4:16 AM Show VSHUDCompat.zip
v2.0.10 231 Jul 13th 2021 at 4:16 AM Show VSHUD.dll

17 Comments (oldest first | newest first)

💬 DukeArioch, Nov 13th at 1:56 PM

On my system it is very hard to read the clock hud font. Is this changeable?

💬 DukeArioch, Nov 8th at 3:03 PM

TheNiteFox - I can help with this some - I started trying different things and a previous poster helped with the suggestion to use the right ctrl button. Please add this to the instructions @Novocain.

Once that was set, .clockconfig Season false turned off the seasons. I assume this works for the rest. the [|||] is a shorthand for "select any one of these" - you don't add the [] to the command.

I was also able to use .clockconfig Offset 50 to push it over 50 pixels but could not figure a way to make the "y" portion work. 

Also despite the specified format, you cannot combine Offset with any of the other commands as far as I see.

💬 TheNiteFox, Nov 6th at 11:53 PM

How exactly am I suppose to type this command in the chatbar? 

.clockconfig [Calendar|Season|Temperature|Rainfall|WindVelocity|LocalTemporalStability|PlayerTemporalStability|TemporalStormInfo] true/false [Offset] x/y

because either my dumb brain cant figure it out :c or its not working 

I was doing .clockconfig [Calendar] true  and I bet thats not right 😅

💬 metachaos, Oct 20th at 5:00 PM

Could you add Current Rift Activity to the clock area?

💬 Novocain, Sep 4th at 1:37 AM

@Craluminum

This isn't true, several things needed to be changed to make it compatible with 1.17

💬 Craluminum, Sep 1st at 7:58 PM

This is very easy to fix, the mod author just need to recompile the mod for any of 1.17 version, without chaning a line of code

💬 melodelic, Sep 1st at 5:59 PM

After the 1.17.0 patch, I am now getting the following error while loading the game with VSHUD enabled:

 

Running on 64 bit Windows with 16 GB RAM
Game Version: v1.17.1 (Stable)
9/1/2022 12:58:06 PM: Critical error occurred in the following mod: vshud@2.0.31
Loaded Mods: bettercrates@1.4.2, extrachests@1.5.2, moreminerals@1.0.3, game@1.17.1, vshud@2.0.31, zoombuttonreborn@1.3.0, carrycapacity@0.6.5, farmlanddropssoil@1.4.0, fromgoldencombs@1.3.14-pre.1, medievalexpansion@3.7.1, prospectorinfo@3.1.2, creative@1.17.1, survival@1.17.1, accessibilitytweaks@3.0.0, campaigncartographer@2.2.2
System.MissingMethodException: Method not found: 'Vintagestory.API.Client.GuiComposer Vintagestory.API.Client.GuiComposerHelpers.AddDialogBG(Vintagestory.API.Client.GuiComposer, Vintagestory.API.Client.ElementBounds, Boolean)'.
at VSHUD.GuiDialogWaypointFrontEnd.OnOwnPlayerDataReceived()
at VSHUD.WaypointUtils.<>c__DisplayClass16_0.<StartClientSide>b__1()
at System.Action.Invoke()
at Vintagestory.Client.NoObf.ClientMain.OnLevelFinalize() in VintagestoryLib\Client\ClientMain.cs:line 1044
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandleLevelFinalize(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 219
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 1139
at Vintagestory.Client.GuiScreenConnectingToServer.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenConnectingToServer.cs:line 383
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 711
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 615
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 132
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 479
at OpenTK.GameWindow.DispatchRenderFrame() in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 454
at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 375
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 gndrneutralnoun, Apr 10th at 8:51 PM

Opening the waypoint GUI doesn't work with immersive mouse mode; it gets stuck in the default crosshair mouse mode when I hold alt, even if I have a vanilla GUI open like my inventory. And not holding alt doesn't work either.

💬 Shoddyfrog, Feb 24th at 2:19 PM

-EDIT- Google revealed that you have to press right CTRL button, to toggle the 'clock' details. This is not listed anywhere in game, or on this site. Might be an idea to put it somewhere? Thanks. Still loving this mod.

With the clockconfig command, am I right in thinking you can have stuff like the date and temperature on the HUD permanently, and not have to press 'C' to see it?

I would like to see the temperature, so I entered:

.clockconfig temperature true

Did not get a message about unknown command, but nothing happened either. I don't understand what to type. Or does the clockconfig command not do what I think it does?

 

💬 Lash, Feb 9th at 5:10 PM

Love this thing but the reacting to keypresses when typing is driving me batty.Is there any way to make it stop doing that?

💬 Novocain, Jan 23rd at 2:07 AM

Hi, the waypoint front end (P) was made before waypoints even had icons and I haven't really updated it since.

💬 Shoddyfrog, Jan 22nd at 4:42 PM

Thanks for this, just what I was looking for, because it appears you can no longer create a waypoint while the respawn screen is open, after dying. In version 1.16. Suppose the devs considered that "cheating".

Not sure how to change the keybindings, but don't mind the default so it doesn't really matter. Says in the description you can change them in 'settings' Does that mean the in-game settings menu? Because I don't see them listed there.

oh and the 'make a waypoint menu' (Press P) You can choose the colour of the waypoint from a dropdown list. I love this feature, good job on that. Always found it bizarre that vanilla game does not have this feature. Slight issue is that it does not select the colour you click on, it selects the next colour up in the list. But of course that is not really a problem once you know this. Is there any way to choose the icon as well? Can not see a way. Wish there was one.

💬 SkettiSean, Jan 19th at 5:14 PM

Do you have on your roadmap a compat for 1.16 or can I just use a previous version 

💬 Novocain, Dec 19th 2021 at 1:25 AM

melodelic
Ok, should now be fixed, I tried to patch the new name for AddDecor in 1.15.

💬 melodelic, Dec 18th 2021 at 8:00 PM

I'm having the weirdest bug with both the 2.0.18 and the 2.0.16 version. It basically puts things down without them actually being there or actually being put down and relogging gets rid of them. I've got a short video of what is happening.

 

💬 Novocain, Dec 18th 2021 at 1:16 AM

Aledark

I think I just fixed that now, sorry for the 4 month delay.

💬 Aledark, Aug 19th 2021 at 3:56 PM

Does not currently work with 1.15.5 for either the compat or dll(did click allow) when i join a MP server for me i get following crashes:

Running on 64 bit Windows with 16 GB RAM
Version: v1.15.5 (Stable)2021-08-19 11:54:34: Critical error occurred
System.InvalidOperationException: Failed to compare two elements in the array. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at VSHUD.FloatyWaypointManagement.<>c.<GetWaypointsHash>b__10_0(HudElementWaypoint a, HudElementWaypoint b)
at System.Collections.Generic.ArraySortHelper`1.SwapIfGreater(T[] keys, IComparer`1 comparer, Int32 a, Int32 b)
at System.Collections.Generic.ArraySortHelper`1.PickPivotAndPartition(T[] keys, Int32 lo, Int32 hi, IComparer`1 comparer)
at System.Collections.Generic.ArraySortHelper`1.IntroSort(T[] keys, Int32 lo, Int32 hi, Int32 depthLimit, IComparer`1 comparer)
at System.Collections.Generic.ArraySortHelper`1.IntrospectiveSort(T[] keys, Int32 left, Int32 length, IComparer`1 comparer)
at System.Collections.Generic.ArraySortHelper`1.Sort(T[] keys, Int32 index, Int32 length, IComparer`1 comparer)
--- End of inner exception stack trace ---
at System.Collections.Generic.ArraySortHelper`1.Sort(T[] keys, Int32 index, Int32 length, IComparer`1 comparer)
at System.Array.Sort[T](T[] array, Int32 index, Int32 length, IComparer`1 comparer)
at System.Array.Sort[T](T[] array, IComparer`1 comparer)
at VSHUD.FloatyWaypointManagement.GetWaypointsHash()
at VSHUD.TriggerRepopulation.Postfix(WaypointMapLayer __instance, Byte[] data)
at Vintagestory.GameContent.WorldMapManager.OnMapLayerDataReceivedClient(MapLayerUpdate msg)
at Vintagestory.Client.NoObf.NetworkChannel.<>c__DisplayClass12_0`1.<SetMessageHandler>b__0(_52t6agJnlbHQ1LXc6jY6GJzlkcZ p)
at Vintagestory.Client.NoObf.NetworkAPI.HandleCustomPacket(_K0gsRhlFmzAJ65AP27fyOAZKCbA packet)
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime)
at _EMxDKvc7iN7J6hlNFQiKeoxg0Mm._CEmopzLEk14BSqH9plcDEDfmuwE(Single )
at _Wwq7msw90Af4XU7mxkxAUKyrS5B._iIGaTXNE8VYTpgEu9zjpAQyJSxd(Single )
at _Wwq7msw90Af4XU7mxkxAUKyrS5B._vCB99EztL7cSfmplK8tyTwrQQxC(Single )
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e)
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp)
at OpenTK.GameWindow.DispatchRenderFrame()
at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
at _q065sSmA3CNgGuKTGnlAjR4ljPw._WkSl7yfiyr5DwPiSMvTudNAhp6(_t3ILnyYBq5OoYhhBY3JeTWgFmJDA , String[] )
at _DBu5wiQWRAHGS5G2jiCKymvQ9yE._WkSl7yfiyr5DwPiSMvTudNAhp6(ThreadStart )
-------------------------------
System.NullReferenceException: Object reference not set to an instance of an object.
at VSHUD.FloatyWaypointManagement.<>c.<GetWaypointsHash>b__10_0(HudElementWaypoint a, HudElementWaypoint b)
at System.Collections.Generic.ArraySortHelper`1.SwapIfGreater(T[] keys, IComparer`1 comparer, Int32 a, Int32 b)
at System.Collections.Generic.ArraySortHelper`1.PickPivotAndPartition(T[] keys, Int32 lo, Int32 hi, IComparer`1 comparer)
at System.Collections.Generic.ArraySortHelper`1.IntroSort(T[] keys, Int32 lo, Int32 hi, Int32 depthLimit, IComparer`1 comparer)
at System.Collections.Generic.ArraySortHelper`1.IntrospectiveSort(T[] keys, Int32 left, Int32 length, IComparer`1 comparer)
at System.Collections.Generic.ArraySortHelper`1.Sort(T[] keys, Int32 index, Int32 length, IComparer`1 comparer)
-------------------------------

Event Log entries containing Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 2021-08-19 11:54:38, Site = , Source = Windows Error Reporting, Message = Fault bucket 1595511639881848120, type 4
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: Vintagestory.exe
P2: 1.15.5.0
P3: 61123ac1
P4: KERNELBASE.dll
P5: 10.0.19041.1151
P6: 891df6d3
P7: c000041d
P8: 0000000000034ed9
P9:
P10:

Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER9F1A.tmp.dmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA1EA.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA1FB.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA20A.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA21B.tmp.txt

These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Vintagestory.exe_9f598ac8a93a6ee7a9b47e719e99c912ff82abf_23fa4891_bc08e980-6620-4492-a865-10b0b67e45cf

Analysis symbol:
Rechecking for solution: 0
Report Id: 162d4c93-5e99-40bd-84e8-6fcc6024492a
Report Status: 268566528
Hashed bucket: 5b6fbac911fb84519624656212289538
Cab Guid: 0 }
--------------
{ TimeGenerated = 2021-08-19 11:54:37, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.15.5.0, time stamp: 0x61123ac1
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1151, time stamp: 0x891df6d3
Exception code: 0xc000041d
Fault offset: 0x0000000000034ed9
Faulting process ID: 0x272c
Faulting application start time: 0x01d795126c1c3f0e
Faulting application path: C:\VSTEST\Vintagestory.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report ID: 162d4c93-5e99-40bd-84e8-6fcc6024492a
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 2021-08-19 11:54:36, Site = , Source = Windows Error Reporting, Message = Fault bucket 1308234530184273593, type 4
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: Vintagestory.exe
P2: 1.15.5.0
P3: 61123ac1
P4: KERNELBASE.dll
P5: 10.0.19041.1151
P6: 891df6d3
P7: c0020001
P8: 0000000000034ed9
P9:
P10:

Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER972B.tmp.dmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER9A0A.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER9A2B.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER9A38.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER9A49.tmp.txt

These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Vintagestory.exe_7b25d616dcc58f727aef5bd7f69ccb3052cda0a5_23fa4891_3965fc6f-daff-4c74-a6ee-348de7db7ca1

Analysis symbol:
Rechecking for solution: 0
Report Id: ed756830-50e2-4e20-a365-da3787dbcbdb
Report Status: 268566528
Hashed bucket: a9517b37b4ed682e3227c85fb6889eb9
Cab Guid: 0 }

(edit comment delete)