New uNmINeD development snapshot is available for download!
Changes:
- Added biome based styles (can be turned off)
- Added styles for savanna, taiga and swamp biomes
- Added biome support for 1.12 and older Java worlds
- Added biome support for Bedrock (including the new 3D biomes in 1.18)
- Added/fixed coarse dirt, podzol, Bedrock planks and some other block styles
- Added different color for spruce and birch leaves
- Improved shadow rendering speed
- Improved Bedrock chunk scanning speed
- Added features to handle JE/BE block name differences
- Fixed Bedrock grass plant and grass block styles
- Fixed Bedrock chunk load errors
- (CLI) Added
--mapsettings="mapsettingsfile.json"
parameter to load map settings from file (see the includedmapsettings-example.json
for example).
When copying the coordinates (right clicking, copy coords) if Y is a negative coord it defaults to 256.
Nice find, thank you. Fixed in 0.17.3.
Hi, thanks for this great tool! This new version looks amazing!
But I have some problems using it since the 1.18 update. Now, unmined doesn’t render some regions, or only renders a few random chunks within a region, of any world that has been created before 1.18 and has been optimized and played after the update. But this only happens at the lowest zoom levels: if I increase the zoom, I can see those areas, with chunks appearing or disappearing depending on the zoom level. This happens in all the levels (overworld, nether, end), and mainly affects regions with negative X values.
In the game, everything is fine, there are no errors in the world.
I have been using unmined previously for mapping all my worlds without problems.
When this situation happens, the program also crashes frequently when I move the map to see other areas. Here is the log of the last crash, just in case it helps:
ReactiveUI.UnhandledErrorException: An object implementing IHandleObservableErrors (often a ReactiveCommand or ObservableAsPropertyHelper) has errored, thereby breaking its observable pipeline. To prevent this, ensure the pipeline does not error, or Subscribe to the ThrownExceptions property of the object in question to handle the erroneous case.
—> System.InvalidOperationException: Operation ReadSByte is not supported on tag type Int
at Unmined.Minecraft.Nbt.NbtParserBase.CheckTagType(TagType tagType, String operation)
at Unmined.Minecraft.Nbt.NbtStreamParser.ReadSByte()
at Unmined.Level.DataSources.Java.Flattened.FlattenedSectionExtractor.Load(INbtParser parser, IBlockRegistry blockRegistry, IBiomeRegistry biomeRegistry)
at Unmined.Level.DataSources.Java.Flattened.FlattenedChunkExtractor.g__ReadProps|10_0(c__DisplayClass10_0& )
at Unmined.Level.DataSources.Java.Flattened.FlattenedChunkExtractor.Load(INbtParser parser, IBlockRegistry blockRegistry, IBiomeRegistry biomeRegistry)
at Unmined.Level.DataSources.Java.JavaWorldRegion.c__DisplayClass12_0.b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
— End of stack trace from previous location —
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
— End of stack trace from previous location —
at Unmined.Level.DataSources.Java.JavaWorldRegion.LoadChunkData(ChunkPoint chunkPoint, CancellationToken ctsToken)
at Unmined.Level.DataSources.Java.JavaWorldRegion.GetChunk(ChunkPoint chunkPoint, CancellationToken ctsToken)
at Unmined.Project.WorkspaceMap.GetSliceAt(BlockPoint blockPoint)
at Unmined.AvaloniaApp.Screens.Map.MapViewModel.c__DisplayClass136_0.<b__4>d.MoveNext()
— End of inner exception stack trace —
at ReactiveUI.RxApp.c__DisplayClass9_0.b__2() in /_/src/ReactiveUI/RxApp.cs:line 109
at System.Reactive.Concurrency.Scheduler.Invoke(Action action) in /_/Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 253
at System.Reactive.Concurrency.Scheduler.c.b__74_0(IScheduler _, Action a) in /_/Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37
at Avalonia.Threading.AvaloniaScheduler.c__DisplayClass4_1`1.b__1() in /_/src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 45
at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in /_/src/Avalonia.Base/Threading/JobRunner.cs:line 37
at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in /_/src/Windows/Avalonia.Win32/Win32Platform.cs:line 278
at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) in /_/src/Windows/Avalonia.Win32/Win32Platform.cs:line 205
at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 61
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 126
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 175
at Unmined.AvaloniaApp.Program.Main(String[] args)
Fixed in 0.17.2, thank you for the detailed report
It works perfectly now, I can map all the world now! Many thanks!!!
Great work, but I’m getting an Exception with an Java Edition 1.18 world.
It worked the for the first few days of the server (with uNmINed 0.16.4) but since then I’m getting this error everytime I try to rende the map (using the linux cli version):
[13:38:46 INF] (main) uNmINeD command line interface v0.17.1-dev
[13:38:46 INF] (main) Platform: .NETCoreApp,Version=v6.0 (.NET 6.0.0-rtm.21522.10) on Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30)
[13:38:46 INF] (main) Architecture: X64, threads: 8, 64 bit: True
[13:38:46 INF] (Web) World path: /var/www/mc.poebel.net/mc/server/world/
[13:38:46 INF] (Web) Dimension: minecraft:overworld
[13:38:47 INF] (JsLoader) Loading JS file /var/www/mc.poebel.net/mc/unmined/Metapacks/Default/tags.default.js
[13:38:47 INF] (JsLoader) Loading JS file /var/www/mc.poebel.net/mc/unmined/Stylesheets/Default/stylesheet.js
[13:38:48 INF] (Web) World name: poebel’s Minecraft World
[13:38:48 INF] (Web) World seed: -4769311554846635605
[13:38:48 INF] (Web) World type: Java
[13:38:48 INF] (Web) World version name: 1.18.1
[13:38:48 INF] (Web) World version id: 2865
[13:38:48 INF] (Web) World data version: 2865
[13:38:48 INF] (Web) World size: 10240 x 10752 blocks
[13:38:48 INF] (Web) World rectangle: r(-8, -12, 20, 21)
[13:38:48 INF] (Web) World region count: 100
[13:38:48 INF] (Web)
[13:38:48 INF] (Web) Output path: /var/www/mc.poebel.net/htdocs/unmined/overworld/
[13:38:48 INF] (Web) Output image format: JPEG
[13:38:48 INF] (Web) Tile size: 256
[13:38:48 INF] (Web) Rendering changed tiles only
[13:38:48 INF] (Web)
[13:38:48 INF] (Web) Selected rectangle: r(-8, -12, 20, 21)
[13:38:48 INF] (Web) Selected region count: 100
[13:38:48 INF] (Web) Selected zoom range: -6 to 0
[13:38:48 INF] (Web)
[13:38:48 INF] (Web) Generating HTML
[13:38:48 INF] (Web)
[13:38:48 INF] (Web) Rendering zoom level 0
[13:38:48 INF] (Web) Tile count: 400
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at Unmined.Core.Tiles.TileStore`2.GetTileMetadataAsync(IntPoint tilePoint)
at Unmined.WebExport.WebMapExport.RunAsync(CancellationToken ctsToken, IProgressHandler progressHandler)
at Unmined.Cmd.Web.WebRenderer.RunAsync()
at Unmined.Cmd.Web.WebModule.c__DisplayClass8_1.<b__3>d.MoveNext()
— End of stack trace from previous location —
at Unmined.Cmd.Web.WebModule.RunAsync(String[] args)
at Unmined.Cmd.ModuleManager.RunAsync(String[] args)
at Unmined.Cmd.Program.Main(String[] args)
at Unmined.Cmd.Program.(String[] args)
Aborted
Fixed, thank you!
Thank you very much, works like a charm now!
Can water color also be configurable for biome colors with the stylesheet setting, since ocean biomes have different water colors?
0.17.3 has biome styles for normal/warm/cold oceans.
More can be added in stylesheet.js.