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 4
Link to comment
Share on other sites

  • 4 weeks later...

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...


Link to comment
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.



Link to comment
Share on other sites

  • 10 months later...
  • 3 weeks later...

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 )


Link to comment
Share on other sites

  • 2 weeks later...
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)


Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
Share on other sites

  • 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.