Mods / Compass — adds craftable compasses
Author: goxmeor
Side: Both
Created: Mar 31st 2021 at 11:14 AM
Last modified: Apr 22nd 2021 at 10:25 AM
Downloads: 2620
Follow Unfollow 8
Latest file for v1.14.8:
Compass-1.2.0.zip
1-click install
This mod adds three craftable compasses to the game:
Magnetic Compass
Crafted using 1 (fired) clay bowl, 1 magnetite nugget, and 1 stick. It always points north.
Alternate recipe: use 1 metal scrap instead of magnetite.
Origin Compass
Crafted using 1 Magnetic Compass and 2 Temporal Gears. It always points to the world's default spawn. If the default spawn has a radius, it points to the center of it. This will be the same spot for all players on the server.
Relative Compass
Crafted using 1 Origin Compass and 2 Temporal Gears. That means it'll cost 4 gears total. It remembers where it was crafted and always points to that spot.
Known Issues
Compasses don't point in the correct direction when dropped on the ground, or probably also viewed in another player's hand.
Collaboration?
I am no artist. If you would like to help improve the look of anything, please contact me on the Vintage Story Discord (my name is Gox.) Let's talk before you create a Pull Request?
Changelog
1.1.0 — flipped crafting requirements for Origin and Relative compasses. Origin now requires 2 and Relative now requires 4.
1.1.1 — fixed exploit involving handbook
1.2.0 — compasses can now be placed and the number of gears required to craft them is configurable (thanks JapanHasRice!)
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v1.2.0 | 799 | Apr 22nd 2021 at 10:25 AM | Show | Compass-1.2.0.zip | Install now | |
v1.1.1 | 609 | Apr 4th 2021 at 10:03 AM | Show | Compass-1.1.1.zip | Install now | |
v1.1.0 | 390 | Apr 4th 2021 at 3:13 AM | Show | Compass-1.1.0.zip | Install now | |
v1.0.2 | 426 | Mar 31st 2021 at 1:15 PM | Show | Compass-1.0.2.zip | Install now | |
v1.0.1 | 396 | Mar 31st 2021 at 11:17 AM | Show | Compass-1.0.1.zip | Install now |
1.2.0 does not appear to work. API error when attempting to place:
Running on 64 bit Windows with 16 GB RAM
Version: v1.15.7 (Stable)16/12/2021 01:23:08: Critical error occurred
System.MissingMethodException: Method not found: 'Void Vintagestory.API.Common.BlockEntity.MarkDirty(Boolean)'.
at Compass.BlockEntityCompass.OnBlockPlaced(ItemStack byItemStack)
at Vintagestory.Client.NoObf.ClientWorldMap.SpawnBlockEntity(String classname, BlockPos position, ItemStack byItemStack)
at Vintagestory.API.Common.Block.OnBlockPlaced(IWorldAccessor world, BlockPos blockPos, ItemStack byItemStack)
at Vintagestory.Common.BlockAccessorRelaxed.SetBlock(Int32 blockId, BlockPos pos, ItemStack byItemstack)
at Vintagestory.API.Common.Block.DoPlaceBlock(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel, ItemStack byItemStack)
at Vintagestory.API.Common.Block.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, String& failureCode)
at Vintagestory.Client.NoObf.ClientMain.OnPlayerTryPlace(BlockSelection blockSelection, String& failureCode)
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnBlockBuild(BlockSelection blockSelection, Block onBlock, String& failureCode)
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt)
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt)
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt)
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt)
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt)
at _gt983m53spH3zIRFvTrVgBj5MUb._T9YfRFmW6X4ZcWzG7vSwet0Rgrs(Single )
at _2hFm1B1DwOk1Z7yF6DtBdLeBFKaA._5soGXezAcR5oyhhq2pmELCuEn2M(Single )
at _2hFm1B1DwOk1Z7yF6DtBdLeBFKaA._ZzmaNk5IGbtvQ61ssCzCszyBw2n(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 _LiN8p156auXcqjjOW5aVAZ0QkUc._fwMbTl3XHB2eqbxoLfc3FpMIE00(_CFodeVozKjT5VhVV66Wv4Bd7r3c , String[] )
at _qBF2AKwdIhCkNZsjxBA24g20vlH._fwMbTl3XHB2eqbxoLfc3FpMIE00(ThreadStart )
-------------------------------
Event Log entries containing Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 16/12/2021 01:23:09, 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: exception code c0020001, exception address 00007FFF14904F69
Stack:
}
--------------
{ TimeGenerated = 16/12/2021 01:21:34, 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: exception code c0020001, exception address 00007FFF14904F69
Stack:
}
--------------
{ TimeGenerated = 15/12/2021 03:27:24, 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: exception code c0020001, exception address 00007FFF14904F69
Stack:
}