
Mods / Spyglass
Author: Fuami
Side: Both
Created: Aug 2nd 2021 at 3:37 AM
Last modified: Dec 7th 2024 at 10:32 PM
Downloads: 68707
Follow Unfollow 751
Latest release (for outdated Vintage Story v1.20.0 - v1.20.4):
spyglass_0.5.2.zip
1-click install
Adds a new tool to the game, the spyglass.
Some metal smithing, and glass smelting you can have your very own spyglass, then go exploring the wilds, or spy on your neighbors from the safety of your windmill.
As of v0.3.0 - You can now use the mouse wheel to adjust your zoom some while your are using the spyglass.
As of v0.3.1 - Config Options
As of v0.4.7 - Removed Damage from hitting, this is more consistent with other similar items in the game, added Bismuth as a valid material, its not like your going to be hitting anything with it anyway. ;)
As of v0.5.0 - new config options, including mouse wheel settings and options, preserveZoomBetweenUses and vignette options as well as french and russian localization.
As of v0.5.1 - Pt-Br Localization.
Vingnette
You can now select one of several possible vignettes via the setting "vignetteStyle" in the mod config file.
- "edge" - This is the default and appears as a soft darkening around the border of the screen.
- "box" - This produces a hard edge the encroaches from the edge of the screen.
- "square" - Produces a overlay that covers all but a centered square.
- "circle" - Produces a overlay that covers all but a centered circle.
In addition to the style, you can adjust:
- "edgeSize" - This is the number of pixels from the edge of the screen that the vignette will extend, circle and square use this setting on the smaller axis of your screen.
- "edgeOpacity" - How transparent the vignette is, 0.0 being invisible, and 1.0 being virtually opaque; please note that the mod will adjust this value as you scroll and the interface animates in a way that I think improves the experience over all.
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v0.5.2 | 21808 | Dec 7th 2024 at 10:32 PM | Show | spyglass_0.5.2.zip | 1-click install | |
v0.5.1 | 18779 | Feb 26th 2024 at 6:54 AM | Show | spyglass_0.5.1.zip | 1-click install | |
v0.5.0 | 3537 | Jan 10th 2024 at 5:02 AM | Show | spyglass_0.5.0.zip | 1-click install | |
v0.4.7 | 1881 | Dec 9th 2023 at 11:46 PM | Show | spyglass_0.4.7.zip | 1-click install | |
v0.4.6 | 716 | Nov 26th 2023 at 11:15 PM | Show | spyglass_0.4.6.zip | 1-click install | |
v0.4.5 | 15330 | Feb 8th 2022 at 2:58 AM | Show | spyglass_v0.4.5.zip | 1-click install | |
v0.4.4 | 923 | Jan 27th 2022 at 2:25 AM | Show | spyglass_v0.4.4.zip | 1-click install | |
v0.4.3 | 638 | Jan 21st 2022 at 3:59 AM | Show | spyglass_v0.4.3.zip | 1-click install | |
v0.4.2 | 738 | Jan 14th 2022 at 7:17 AM | Show | spyglass_v0.4.2.zip | 1-click install | |
v0.4.1 | 440 | Jan 14th 2022 at 1:41 AM | Show | spyglass_v0.4.1.zip | 1-click install | |
v0.4.0 | 1340 | Aug 12th 2021 at 4:47 AM | Show | spyglass_v0.4.0.zip | 1-click install | |
v0.3.1 | 551 | Aug 8th 2021 at 5:14 AM | Show | spyglass_v0.3.1.zip | 1-click install | |
v0.3.0 | 525 | Aug 7th 2021 at 7:15 AM | Show | spyglass_v0.3.0.zip | 1-click install | |
v0.2.2 | 510 | Aug 5th 2021 at 12:57 AM | Show | spyglass_v0.2.2.zip | 1-click install | |
v0.2.1 | 500 | Aug 3rd 2021 at 12:21 AM | Show | spyglass_v0.2.1.zip | 1-click install | |
v0.2.0 | 491 | Aug 2nd 2021 at 3:28 PM | Show | spyglass_v0.2.0.zip | 1-click install |
Very interesting and useful mod. But at the same time it is a bit cheater - it allows you to do a lot of things at a great distance: for example, cut down leaves, collect resin, chop blocks and trees (by hand). But not hitting animals. And all this at a distance of a hundred blocks. And one time (though I never understood how) I, looking at the cave from top to bottom, somehow managed to carefully put this spyglass on a block in the cave and I had to climb down to get it. I realise that this is a side effect of the mod mechanics and perhaps there is nothing that can be done about it.
Should add a Molybdochalkos spyglass :)
Fuami Might you consider adding a feature that gives the distance from your location to the target you are viewing? In meters? Would make a spyglass useful as a survey tool, especially on mapless servers.
If that is outside the scope of this mod and you don't want to get into adding that to this, I have suggestion for a mod that adds some survey/mapping tools which, on a code level, would basically be the spyglass along with a few added features and crafting material requirements. If you are at all interested, I'd be happy to share more.
As of March 2025, If anyone is experencing issues on Arch or another version of linux you might try using the Flatpak version of VS instead ( related issue: https://github.com/anegostudios/VintageStory-Issues/issues/5252 )
Le3Kat Thanks for sending an issue on github, I've replied there.
EmileA259 To my knowledge, though there appears to be an issue on linux ATM
Pixil_killer Its really intended as a means of magnification then some overlay assisted interface, its an interesting idea, but its not really what I was going for.
26chairs To my knoweldge, however take that with a grain of salt, I took the pathway that I thought made the most since with what I knew, and things may have also changed since I wrote that code.
Desolae I opted to use glass since its a shaped lens, while your not wholy wrong that its not impossible to have a natrually formed lens, I felt that accepting any quartz was inaccurate. But feel free to tweak the recipe in the mod file if you prefer that way.
Hi, when I use the spyglass it doesn't actually zoom it, it just puts the spyglass infront of my face. I'm playing on version 1.20.4 (Stable)
does this mod work on 1.20.4
have you thought of adding the functionality of seeing an animals details at range with the spyglass?
it would add to the usefulness by letting you know exactly if what animal youre looking at is worth chasing/time killing or not
Hi Fuami!
Sorry, not exactly a question about the mod itself, but more of a question about the code. Is handling the mouse wheel like you do on there, using a GUI event, the only way that you know of of capturing mouse wheel events? There doesn't seem to be a binding in settings for next/previous item and the mouse wheel events on ICoreClientAPI.Event aren't raised by scrolling the wheel.
Considering that the spyglass's metal is available as early as copper, I wish I could use Quartz glass too (crafted from clear quartz nuggets and sticks) rather than only plain glass (smelted in a bloomery, much later in the game). That caught me off guard for sure. But great mod, fantastic way to incorperate a zoom feature in a rewarding and immersive way.
Working in 1.20.1 (vignette is set to the "circle" setting), gave myself a brass spyglass in creative mode. Untested in survival.
In 1.20.1 spyglass just doesn't go into zoom on right click for me
AzuliBluespots its an interesting thought, but it feels pretty anti-thetical to the intention of sneaking, And could easilly get someone killed if they forget they were holding it in their off hand when they were trying to be sneaky. 🤔
Fuami
Maybe the shield? It does activate something when sneaking. Maybe that could trigger the zoom function?
@Thranos New versino should fix the 1.20-rc1 issue.
@DeanBro This should be included in the version.
Chupacabra I honestly am not aware of any other items with this sort of functionality, if anyone knows of something that can be used in their off hand that might be used as a guide let me know.
@pizza2004 I believe that the spyglass fits in with a number of the other tools that never lose durability, so I doubt I'd be adding this; plus there are other clientside mods for zooming and I think such punishment would push people towards those options when they prefer the immersion of this mod.
Sadly, seems nonfunctional on 1.20.
Do you think you could add a config option to make the edge opacity stay the same when you scroll to change zoom? I set my opacity to 1 but it becomes transparent when I zoom out. Other than that, I love the mod, great work!
thanks
Great mod! Is there a way to use it in you'r offhand?
I would love it if you made it so that when you actually use the spyglass it uses up the durability. You could even add a small bit of code that make sure if someone cancels before it full zooms in that it doesn't use up the durability. The code for the hoe in vanilla is a good example to look at for this.
That way there'd be a legitimate reason to try and make the better kinds of spyglass! You could even adjust the durability to whatever felt most balanced.
MrL972 Is there an issue your seeing? I just tried spyglass v0.5.1 out on vs 1.19.5 and everything seems fine, so I assume the same for Dot 4, minor releases have rarely broken anything important.
can you update to 1.19.4 ?
Сhanged the recipe for the lens from the kingdom of memories mod.
spyglass.json
Orangutanion its made with glass? And thats usually made with clear quartz? If you don't like the recipe or something feel free to change the json.
Thx a lot for the update, we'll try in a few hours ^^
XurxoMF Please try 0.5.1 ( Intentalo con la versión 0.5.1 )
AzuliBluespots I've added the localization to the mod itself.
Running on 64 bit Windows 10.0.19044.0 with 16332 MB RAM
Game Version: v1.19.3 (Stable)
25/02/2024 12:14:56: Critical error occurred in the following mod: spyglass@0.5.0
Loaded Mods: aculinaryartillery@1.1.2, buzzwords@1.6.0, chiseltools@1.10.4, fantasycreatures@0.7.1, floralzonescaperegion@1.0.6, floralzonescaribbeanregion@1.0.3, caninae@1.0.10, machairodontinae@1.0.2, pantherinae@1.1.1, HangingOilLamps@1.0.1, millwright@1.1.4, moreicons_cs@1.1.0, leadroof@1.3.4, primitivesurvival@3.4.7, qptech@1.14.3, rope-bridges@1.1.0, ropebucket@1.0.0, rpvoicechat@2.3.8, spyglass@0.5.0, game@1.19.3, abcsreborn@0.1.9, alchemy@1.6.25, animalcages@3.0.2, betterruins@0.3.3, helblockpick@2.2.1, butchering@1.5.2, carryon@1.7.4, chickenSit@2.0.1, commonlib@2.3.2, Crateful@1.2.8, earlychiseling@1.0.1, electricity@0.0.11, expandedfoods@1.6.8, extrainfo@1.7.0, fairplayguardian@1.1.7, farmlanddropssoil@1.4.0, flowerfarming@1.0.0, herbarium@1.1.0, hudclock@3.4.0, meteoricexpansion@1.2.5, mobsradar@2.0.0, petai@2.2.3, rivers@2.5.0, rustboundmagic@1.5.10, stonebakeoven@1.1.3, storageoptions@1.0.2, th3dungeon@0.2.1-rc.1, trailmod@1.0.7, vinconomy@0.2.3, creative@1.19.3, vsinstruments@1.2.7, vsquest@1.2.0, survival@1.19.3, vsvillage@0.9.2, woodchests@1.1.0, xlib119@0.7.4-dev.1191, apanserbjornstory@0.9.2, awearablelight@1.1.1, cats@2.0.1, em@2.5.0, extraoverlays@1.4.0, foxtaming@1.4.0, helvehammerext@1.6.0, onestick@1.0.1, playercorpse@1.9.0, rifteye@0.3.4, stonequarry@3.2.1, tpnet@1.14.2, wildcraftfruit@1.1.0, wildcraftherb@0.0.0, wildcrafttree@1.1.0, wolftaming@2.1.0, xskills119@0.7.5-dev.1191, bricklayers@2.5.0
System.NullReferenceException: Object reference not set to an instance of an object.
at spyglass.src.ClientManipulation.AttemptingToZoom() in C:\Users\Fuami\source\repos\spyglass\spyglass\src\Client\ClientManipulation.cs:line 110
at spyglass.src.ClientManipulation.getPercentZoomed() in C:\Users\Fuami\source\repos\spyglass\spyglass\src\Client\ClientManipulation.cs:line 128
at spyglass.src.ClientManipulation.GetSensitivityMultiplier() in C:\Users\Fuami\source\repos\spyglass\spyglass\src\Client\ClientManipulation.cs:line 85
at Vintagestory.Client.NoObf.ClientMain.OnMouseMove_Patch0(ClientMain this, MouseEvent args)
at Vintagestory.Client.NoObf.ClientMain.set_MouseGrabbed(Boolean value) in VintagestoryLib\Client\ClientMain.cs:line 1705
at Vintagestory.Client.GuiScreenRunningGame.handOverRenderingToRunningGame() in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 57
at Vintagestory.Client.GuiScreenRunningGame.OnEvent(String eventCode, Object arg) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 85
at GuiScreen.BubbleUpEvent(String eventCode, Object arg) in VintagestoryLib\Client\MainMenu\Screens\Special\GuiScreen.cs:line 93
at GuiScreen.BubbleUpEvent(String eventCode) in VintagestoryLib\Client\MainMenu\Screens\Special\GuiScreen.cs:line 81
at Vintagestory.Client.NoObf.ClientMain.OnOwnPlayerDataReceived() in VintagestoryLib\Client\ClientMain.cs:line 688
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandlePlayerData(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 274
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 769
at Vintagestory.Client.GuiScreenConnectingToServer.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenConnectingToServer.cs:line 313
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
Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 25/02/2024 1:09:05, Site = , Source = Application Error, Message = Nombre de la aplicación con errores: Vintagestory.exe, versión: 1.19.3.0, marca de tiempo: 0x65310000
Nombre del módulo con errores: openal32.dll, versión: 1.23.0.0, marca de tiempo: 0x63dd31ad
Código de excepción: 0x40000015
Desplazamiento de errores: 0x00000000000df046
Identificador del proceso con errores: 0x37c
Hora de inicio de la aplicación con errores: 0x01da677e96a91106
Ruta de acceso de la aplicación con errores: J:\Vintagestory\Vintagestory.exe
Ruta de acceso del módulo con errores: J:\Vintagestory\Lib\openal32.dll
Identificador del informe: 1ca154d3-103d-4853-9061-3e7989d53919
Nombre completo del paquete con errores:
Identificador de aplicación relativa del paquete con errores: }
--------------
{ TimeGenerated = 25/02/2024 1:06:29, Site = , Source = Application Error, Message = Nombre de la aplicación con errores: Vintagestory.exe, versión: 1.19.3.0, marca de tiempo: 0x65310000
Nombre del módulo con errores: openal32.dll, versión: 1.23.0.0, marca de tiempo: 0x63dd31ad
Código de excepción: 0x40000015
Desplazamiento de errores: 0x00000000000df046
Identificador del proceso con errores: 0x33f4
Hora de inicio de la aplicación con errores: 0x01da677e69ec0168
Ruta de acceso de la aplicación con errores: J:\Vintagestory\Vintagestory.exe
Ruta de acceso del módulo con errores: J:\Vintagestory\Lib\openal32.dll
Identificador del informe: 60bac8fd-298a-47d4-910c-2ff7e4bbd973
Nombre completo del paquete con errores:
Identificador de aplicación relativa del paquete con errores: }
--------------
{ TimeGenerated = 25/02/2024 1:05:49, Site = , Source = Application Error, Message = Nombre de la aplicación con errores: Vintagestory.exe, versión: 1.19.3.0, marca de tiempo: 0x65310000
Nombre del módulo con errores: openal32.dll, versión: 1.23.0.0, marca de tiempo: 0x63dd31ad
Código de excepción: 0x40000015
Desplazamiento de errores: 0x00000000000df046
Identificador del proceso con errores: 0x12b4
Hora de inicio de la aplicación con errores: 0x01da677e2ab0e246
Ruta de acceso de la aplicación con errores: J:\Vintagestory\Vintagestory.exe
Ruta de acceso del módulo con errores: J:\Vintagestory\Lib\openal32.dll
Identificador del informe: a1abdeea-174e-43b7-a63b-d263a579044c
Nombre completo del paquete con errores:
Identificador de aplicación relativa del paquete con errores: }
I'm surprised to see this getting an update.
Since I used it a lot, I added the pt-br translation to crowdin ✌
Thank you Fuami, I will check it out today!
Edit: Worked like a champ, I'm loving it, thanks again!
CilyMe I've added new settings that should enable this, you might need to remove your existing config file for it to generate one with all the new options.
CilyMe I can probobly add some new settings to make this possible, I can see the utility.
Bruco lol, nice one.
Bruco, I don't think it's lame at all! I use it extensively and never leave home without it. I use it like you do for locating sap on trees, bees, and crops on the ground. I also use it for locating terra preta, scanning the surrounding terrain for signs of bears and wolves, peering down holes in the ground to look for entrances to ruins, and for finding ores in rock faces of distant mountains. This is easily my favorite QoL mod to date!
So, I was hoping to use this mod to help me find bees nests and sap/resin. Was wondering would it be lame like telescopes in others mods and games? I make it. I use it. First thing I see is a sap in a vinelog of a tall tree that was indistiguishable to my eye but was right under(above;D) my nose the whole time. Great work !!!
Would it be possible to add a config option to turn on the ability to have the last used zoom level preserved for the next time you use the spyglass? Sometimes I like it all the way zoomed out, but have to zoom out each time i use it. Not a deal breaker to be sure, I love the mod regardless, but it would be nice to have it at the last set zoom level on each use.
Hello.
Here is the russian translation of the mod.
https://pastebin.com/C7H5iZH7
Thank you, my favourite mod just got more awesome! 💚
Tels Agreed, some how I missed this comment all this time... but no longer!
Botaxalim After considering your comment, and other similar items in the game, I think that removing DamageBy makes sense. Smacking things with laterns dosn't damage them for instance, if for no other reason then being consistent with the rest of the game.
i make some edit for personal use, i remove the durability and parameter called DamagedBy, since i dont like idea spyglass destroyed after accidentally left clicking ground (happen when my golden spyglass broke)
its great addition for the game, you can spot more stuff while exploring
Yeah, that’s a good start at least. I don’t even really know how VS handles its ruin loot. I’m used to mod-making other games that use the standard loot table. So I’ll look into it. But having the item I.D. is a big help.
@RuneScholar I'm not familiar with loot tables, but the items themselves should be "spyglass:spyglass-copper" or "spyglass:spytube-copper" replacing copper with the various materials: copper, tinbronze, bismuthbronze, blackbronze, gold, silver, iron, meteoriciron, brass, steel.
Adding those somewhere inside of the tables might make sense?
Hey, if I wanted to put spyglasses in the loot tables for ruins, how would I go about doing that?
I know this reply is late, but yes it does.
Ponchoandlefty
Does this mod still work in version 1.18.15?
Hello !
I translated your mod in french :)
https://pastebin.com/5vw9FT8B
Seems to work in 1.18.
It would be really nice to be able to make a "bismuth" spyglass for the pretty green colors :)
Hey! the drifters in my server (1.17.2 and 1.17.3) seem to stop moving. The console says ''[server error] Task with code drifterwander (also drifterseekentity and drifterfleeentity) for entity game:drifter(any kind) does not exist. ignoring. Upon removing spyglass, all drifters start moving again.
Thank you! :)
Existing versions should work for 1.16 if you have issues let me know.
Could you please update the mod for 1.16? It's such a fun mod :) Thank you!
Yeah for steampunk brass spyglass \o/
You read my mind! I was looking for a spyglass mod yesterday, and boom, now it exists!
Whoops, Sort of forgot to upload the file :D
Very nice, that is something I always wished for! :)
There are no downloadable files here, tho?