Jump to content

V[0.3.5] The ORASCOPE (VS 1.9.3)

Recommended Posts

Introducing the Improved ORASCOPE!

It is a map overlay. Makes finding ore ~ far less of a challenge.

Install Procedure:     Simply COPY Zip file directly into /Mods


> Orascope_Release_V0.3.5.zip <


Use Prospecting pickaxe on rock face direction of the area you want checked; it will let you know if there is any ore within a short distance.

ORASCOPE USE: Control it with these commands (Press 'T' for console)

.orascope on
.orascope off
.orascope stats
.orascope surface
.orascope proximity

You may also need to set a permission, the mod will supply the command text needed.



Release notes [v 0.1.2]:

  • Fixed Axis (swap Y and Z, minecraft style)
  • Better Map Display (centred correctly)
  • Improved legends
  • Untested with Vintage story V1.8.3 ~ since release was simultaneous.... maybe it will work(?)

Release notes [v 0.2.0]:

  • Prospecting Pickaxe will actually report on ORE PRESENCE. Both quantity and tier listed.
  • Minor changes to Orascope code
  • V1.8.6 compatible

Release notes [v 0.2.1]:

  • No longer crashes crafting catalogue

Release notes [v 0.2.2]:

  • Adjusted scan size (Now 5*5  Projected +5 deep; thats 150 Blocks worth).
  • Actual DISTANCE to nearest Ore, and DIRECTION reported.
  • Corrected rotation of scan direction

Release notes [v 0.2.3]:

  • Corrected Up / Down scan projection
  • Ore composition reported
  • Client side ore-scanning (less server load)

Release notes [v 0.3.1]:

  • Mini-map Ore 'X' Marker
  • "Sorta-kinda" Realtime update of deposits (auto-marked)
  • Stats and Deposit info command

Release notes [v 0.3.2]:

  • New Icons, with outlines
  • Basic Permission integration for servers
  • Stats and Deposit info command - more Totals
  • "Deep Scan" mode

Release notes [v 0.3.3]:

  • Fixed inaccuracy issue. Should be VERY precise now.
  • Prospecting Pick now also hints ore height (higher / lower) when in N/E/S/W direction
  • minor tweaks to 'stats' display
  • NOT tested with VS versions POST 1.8

Release notes [v 0.3.5]:

  • New Surface scan; dedicated mode for  nuggets found on the ground.
  • Re-worked Cave/Underground scanning (uses raycast projection)
  • minor tweaks to many messages
  • Re-scanning to try and find a larger ore vein

The surface scan mode does exhaustively try and find nuggets - and uses a Archmedian spiral style search.
















Edited by Melchior
Updated for 1.9 !
  • Like 3

Share this post

Link to post
Share on other sites

Was thinking of updating to add a "Ore Finder"; replacing the current function of the prospecting pick with a short range; 'Arrow' that shows visually the nearest deposit of any ore.

A tool for 'Dummies' 😉

Anyone this this is a good idea?

Share this post

Link to post
Share on other sites

maybe an item that works like a metal detector. It beeps more frequently the closer you get to ore. Might make finding ore in a 3D environment easier.

Share this post

Link to post
Share on other sites

yes.. yes an "ore finder" device or  the like would be good.. just something to least go 'Hey.. theres tin here' or something.. so you dont spend hours trying to fine 1 piece of it

Share this post

Link to post
Share on other sites

Am literally working on it now 😓 (Also possible V.S. bug!)

The Prospecting Pickaxe will work; Differently...  it will be MUCH more helpful; it may even draw a obvious line to the nearest ore deposit (if any).

Share this post

Link to post
Share on other sites

Short addendum on the new release;

The actual shape/size of the search area may be kinda (unintentionally small) - it may be increased in a later version.

It is a straight projection from the face of the rock mined NOT a 'bubble' like the Orascope command was. -- Mine the face TOWARDS the area you are interested in.

(also this versions has NOT been tested in multiplayer - it should still work...)

Also it DOES replace the "useless" percentages report of the old Prospecting pick...


Share this post

Link to post
Share on other sites

Related to Previous posts ;

The new Ore location code will decide a strategy by ore count;

  • a complex cluster finding algorithm for large deposits (+5),
  • a simpler average for ~5 and for >= 1 ,- the actual location of the single block of ore.

The Y-Axis values are the raw block position; not quite the same as the relative coordinates provided my map/tooltips/HUD (no offsets applied either).

These are the ones shown in the 'stats' command, FYI.



Share this post

Link to post
Share on other sites

Using OraScope v0.3.5 on Vintage Story v1.12.14 results in a crash when trying to use the ProPick on stone.

Steps to reproduce:

1) equip ProPick

2) Break stone with ProPick

Running on 64 bit Windows with 32 GB RAM 
Version: v1.12.14 (Stable)4/21/2020 8:57:12 AM: Critical error occurred
System.MissingFieldException: Field not found: 'Vintagestory.API.Common.SimpleParticleProperties.minPos'.
   at Orascope.OreFinderItem.probeBlocks(IWorldAccessor world, BlockPos front, BlockPos back, EntityPlayer aPlayer, BlockSelection blockSel)
   at Orascope.OreFinderItem.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel)
   at _hLaepLRCOckdCEvZTPp1GxfgrdT._T09K8cs1aFNhBrYCv8YdbHZGPNA(BlockSelection )


Share this post

Link to post
Share on other sites
On 4/5/2020 at 12:10 PM, xCr0sS said:

This mod will crash the client. Pls update.

My world crashes when loading with orascope installed.

When I then uninstall orasccope my server based world says it can't start because it needs orascope.

My world starts fine in single player with orascope mod removed.

Running on 64 bit Windows with 32 GB RAM
Version: v1.12.11 (Stable)5/05/2020 10:16:04 AM: Critical error occurred
System.ArgumentOutOfRangeException: The UTC time represented when the offset is applied must be between year 0 and 10,000.
Parameter name: offset
   at System.DateTimeOffset.ValidateDate(DateTime dateTime, TimeSpan offset)
   at System.DateTimeOffset..ctor(DateTime dateTime)
   at Orascope.OreSpotMapLayer.OnViewChangedClient(List`1 nowVisible, List`1 nowHidden)
   at Vintagestory.GameContent.WorldMapManager.onViewChangedClient(List`1 nowVisible, List`1 nowHidden)
   at Vintagestory.GameContent.GuiElementMap.EnsureMapFullyLoaded()
   at Vintagestory.GameContent.GuiDialogWorldMap.ComposeDialog()
   at Vintagestory.GameContent.WorldMapManager.ToggleMap(EnumDialogType asType)
   at Vintagestory.GameContent.WorldMapManager.OnLvlFinalize()
   at Vintagestory.API.Common.Action.Invoke()
   at Vintagestory.Client.NoObf.GeneralPacketHandler.HandleLevelFinalize(_FWsbf8vJdTSNh7GxC1oaO3PfUtN packet)
   at _12aioOzLogzcJMHhplAX1ctUKPP._gZJf2GOkTz39Q4AUiGcV6ZznQpc(Single )
   at _WWvNFDddiULKjazBr1Do6HNsj2W._nCbUNFMV39KrF8Qv0ewqWh6HCUi(Single )
   at _TjqHBJw2IYSAlyXCQYRZyDjXkjs._f3BqvaJbeJjUlO1Vz6UZg7yIMVf(Single )
   at _TjqHBJw2IYSAlyXCQYRZyDjXkjs._cEEYga8RkvUZyLxVZDIQqvmAaRE(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 _KhgOJjJMqvBmMftdPC9NuNGCr2l._KJdbFdyRyPI3RBGfknJMDw7qv3g(_z0CXJGPbPfszOCyrvlmbpR4Uq8q , String[] )
   at _W7oHr1XmopiBCmRiVK2Gh8gGNEX._KJdbFdyRyPI3RBGfknJMDw7qv3g(ThreadStart )

Event Log, last 3 entries
{ TimeGenerated = 5/03/2020 9:42:55 PM, Site = , Source = .NET Runtime, Message = Application: Vintagestory.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.OutOfMemoryException
   at System.Collections.Generic.List`1[[System.__Canon, mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089]].set_Capacity(Int32)
   at System.Collections.Generic.List`1[[System.__Canon, mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089]].EnsureCapacity(Int32)
   at System.Collections.Generic.List`1[[System.__Canon, mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Add(System.__Canon)
   at Vintagestory.Common.EventManager.AddDelayedCallback(Vintagestory.API.Common.Action`1<Single>, Int64)
   at Vintagestory.GameContent.GuiDialogCarcassContents.OnFinalizeFrame(Single)
   at _nkj6TxKjUkBPSD6HiKFovOSVPde._MOR35FMyMagayKilNMdhpp6C1dx(Single)
   at _tDavWJfQrRbpEq90WDGOFbBqAi._dAesM6beClbdd4CFX1IrAkE1v7l(Vintagestory.API.Client.EnumRenderStage, Single)
   at _agCrrPwsaFEH7GCYZOv9UCeplUn._dAesM6beClbdd4CFX1IrAkE1v7l(Vintagestory.API.Client.EnumRenderStage, Single)
   at _agCrrPwsaFEH7GCYZOv9UCeplUn._GaCPSoEltAhr0MNYQAI2FFgyiZF(Single)
   at _jE77uYxeb3RgrEoZN3zeFVcFSvY._GaCPSoEltAhr0MNYQAI2FFgyiZF(Single)
   at _s1ZN3AcHsv8ftfOdes2ydgx56tc._Qeolo25LnVKB1fA69Gf1xG8qV6B(Single)
   at _s1ZN3AcHsv8ftfOdes2ydgx56tc._A7o9Stte2OoNlZnkWex51RdkvId(Single)
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(System.Object, OpenTK.FrameEventArgs)
   at System.EventHandler`1[[System.__Canon, mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Invoke(System.Object, System.__Canon)
   at OpenTK.GameWindow.RaiseRenderFrame(Double, Double ByRef)
   at OpenTK.GameWindow.DispatchRenderFrame()
   at OpenTK.GameWindow.Run(Double, Double)
   at _vS0F2AxmAfxtmtcFjliNs8L1sCA._ruB6ageyi08Ca9NBU5ayU5HDOYJ(_OEfDUVVQOSZOxAb61QXkxtnpVnM, System.String[])
   at _nbMCo3URaUOC7oNdt6Vqm1hjoLw._ruB6ageyi08Ca9NBU5ayU5HDOYJ(System.Threading.ThreadStart)


Share this post

Link to post
Share on other sites

I understand everybody's busy in real life. I will greatly appreciate when this is updated. I much prefer this to the vanilla propick.

Share this post

Link to post
Share on other sites

This mod; ORASCOPE is kaput, finito, an ex-mod, gone to the sing with the digital choir eternal, finished and resting eternally.


I did not say there couldn't be a SEQUEL in the works...but I'm working on a few other things at the moment, and won't commit to any estimate.

Share this post

Link to post
Share on other sites

Perhaps it's only resting . . . that's right, it's pining for the fjords!

Thanks for ORASCOPE, Melchior, and I look forward to your future contributions.

dead parrot.jpg

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.