uNmINeD 0.19.60-dev

New uNmINeD development snapshot is available for download!

Changes:

  • (GUI) Datapack and mod load errors are now ignored when opening a world
  • (GUI) The log now include a stack trace of errors that occur when opening the world
  • Improved handling of broken mods/datapacks

This Post Has 20 Comments

  1. Negocios Cantabria

    Are you going to recover the markers of spawn and local player? Thank!

    1. megasys

      It works for me

      1. megasys

        I see the problem now, it will be fixed in the next release.

        1. Negocios Cantabria

          Cool! Thank you very much!

  2. MISTEROWL

    This software is seriously impressive. You are seriously so awesome thank you.

  3. superstrijder15

    I remember long ago using this tool and using an option to only see areas near torches, to get a map of the caves you already entered. I just downloaded and tried the new version but I couldn’t find anything like that. Is that still possible?

    1. megasys

      Sorry, that is not possible (there was no such option).
      However, there is an option to show inhabited chunks and hide others (for Java Edition). You can find it on the cog wheel side panel, scroll down to the Preprocess section. This hides any chunks that no player has ever been near.

  4. Juniper

    I keep getting this error, I have no mods, and the worlds aren’t corrupted. I’ve tried everything I can think of.

    unmined error loading world deserializeunabletoconvertvalue, system.Collections.Generic.List`1[system.int32] Path: $[0].version | LineNumber: 0 | BytePositionLine: 70.

  5. Jack

    New installer here: https://archive.org/details/unmined-v0.19.60

  6. telrehiad

    I’ve read that you can have the cli version of the software display labels where signs are on the map (to make POI markers) by renaming a sign in an anvil, however that did not seem to work. Is there anything special you have to do to get that to work? I see the small brown sign block on the map, but there is no label. I saw that there is a configuration file for it (custom.markers.js) but I would prefer to not have to edit that file to add POIs on the map!

    1. megasys

      Unmined only supports player location markers. Signs are not supported.
      However, custom markers can be added to the web map in custom.markers.js.

  7. Lars

    Hey there! Brilliant work, honestly. Thank you.

    I just tried to run the tool on my bedrock world (which is pretty modded). Apparently the tool fails on the behavior pack of RealismCraft 2.4. If you want, I can send you the files. Here’s the error for now:

    “`
    [13:11:26 ERR] (WorkspaceMap) Error loading game packs
    System.NullReferenceException: Arg_NullReferenceException
    at Unmined.Project.GamePacks.Bedrock.Model.BedrockBehaviorPack.g__GetMaterialInstance|13_0(JToken value, c__DisplayClass13_0&)
    at Unmined.Project.GamePacks.Bedrock.Model.BedrockBehaviorPack.LoadMaterialInstances(JObject obj)
    at Unmined.Project.GamePacks.Bedrock.Model.BedrockBehaviorPack.LoadBlockFromJson(String json)
    at Unmined.Project.GamePacks.Bedrock.Model.BedrockBehaviorPack.LoadBlocksFromPathAsync(IFileStorage fileStorage, String rootPath)
    at Unmined.Project.GamePacks.Bedrock.Model.BedrockBehaviorPack.OpenAsync(IFileStorage fileStorage, String rootPath)
    at Unmined.Project.GamePacks.Bedrock.BedrockPacksLoader.LoadBedrockPacksAsync(BedrockWorld world, ILogger logger)
    at Unmined.Project.GamePacks.Bedrock.BedrockPacksLoader.LoadAsync(BedrockWorld world, String vanillaResourcePackFileName, IFactory factory, Boolean useDatapacks, Boolean useTextures, Boolean useTextureAverageColors, ILogger logger, CancellationToken cancellationToken)
    at Unmined.Project.LevelEngineFactory.LoadBedrockPacks(BedrockWorld world, IFactory factory, LevelEngineOptions options, ILogger logger, CancellationToken cancellationToken)
    at Unmined.Project.LevelEngineFactory.LoadGamePacks(IWorld world, IFactory factory, LevelEngineOptions options, ILogger logger, CancellationToken cancellationToken)
    at Unmined.Project.LevelEngineFactory.CreateEngineAsync(IWorld world, IFactory factory, LevelEngineOptions options, ILogger logger, CancellationToken cancellationToken)
    “`

    After I removed this BP altogether for testing, i got a different error for a different BP (UtilityCraft):
    “`
    [13:11:57 ERR] (WorkspaceMap) Error loading game packs
    System.ArgumentException: Argument_AddingDuplicateWithKey, utilitycraft:compressed_energized_iron_block
    at System.Collections.Generic.Dictionary`2.TryInsert(TKey, TValue, InsertionBehavior)
    at Unmined.Project.GamePacks.Bedrock.Model.BedrockBehaviorPack.LoadBlocksFromPathAsync(IFileStorage fileStorage, String rootPath)
    at Unmined.Project.GamePacks.Bedrock.Model.BedrockBehaviorPack.OpenAsync(IFileStorage fileStorage, String rootPath)
    at Unmined.Project.GamePacks.Bedrock.BedrockPacksLoader.LoadBedrockPacksAsync(BedrockWorld world, ILogger logger)
    at Unmined.Project.GamePacks.Bedrock.BedrockPacksLoader.LoadAsync(BedrockWorld world, String vanillaResourcePackFileName, IFactory factory, Boolean useDatapacks, Boolean useTextures, Boolean useTextureAverageColors, ILogger logger, CancellationToken cancellationToken)
    at Unmined.Project.LevelEngineFactory.LoadBedrockPacks(BedrockWorld world, IFactory factory, LevelEngineOptions options, ILogger logger, CancellationToken cancellationToken)
    at Unmined.Project.LevelEngineFactory.LoadGamePacks(IWorld world, IFactory factory, LevelEngineOptions options, ILogger logger, CancellationToken cancellationToken)
    at Unmined.Project.LevelEngineFactory.CreateEngineAsync(IWorld world, IFactory factory, LevelEngineOptions options, ILogger logger, CancellationToken cancellationToken)
    “`

    when I removed this BP too, i got another error but all active BPs were loaded:
    “`
    [13:12:54 ERR] (WorkspaceMap) Error loading game packs
    System.IndexOutOfRangeException: Arg_IndexOutOfRangeException
    at SixLabors.ImageSharp.Metadata.Profiles.Iptc.IptcProfile.Initialize()
    at SixLabors.ImageSharp.Formats.Png.PngDecoderCore.TryReadLegacyIptcTextChunk(ImageMetadata, String)
    at SixLabors.ImageSharp.Formats.Png.PngDecoderCore.TryReadTextChunkMetadata(ImageMetadata, String, String)
    at SixLabors.ImageSharp.Formats.Png.PngDecoderCore.ReadTextChunk(ImageMetadata, PngMetadata, ReadOnlySpan`1 )
    at SixLabors.ImageSharp.Formats.Png.PngDecoderCore.Decode[TPixel](BufferedReadStream , CancellationToken)
    at SixLabors.ImageSharp.Formats.ImageDecoderCore.Decode[TPixel](Configuration, Stream, CancellationToken)
    at SixLabors.ImageSharp.Formats.Png.PngDecoder.Decode[TPixel](PngDecoderOptions, Stream, CancellationToken)
    at SixLabors.ImageSharp.Formats.SpecializedImageDecoder`1.Decode[TPixel](DecoderOptions, Stream, CancellationToken)
    at SixLabors.ImageSharp.Formats.ImageDecoder.c__DisplayClass0_0`1.b__0(Stream s)
    at SixLabors.ImageSharp.Formats.ImageDecoder.WithSeekableStream[T](DecoderOptions, Stream, Func`2)
    at SixLabors.ImageSharp.Formats.ImageDecoder.Decode[TPixel](DecoderOptions, Stream)
    at SixLabors.ImageSharp.Image.Load[TPixel](DecoderOptions , ReadOnlySpan`1)
    at Unmined.Project.GamePacks.Bedrock.Model.BedrockResourcePack.LoadTextureAsync(String texturePath)
    at Unmined.Project.GamePacks.Bedrock.BedrockResourcePackTextureSource.GetTextureImage(String textureId)
    at Unmined.Project.GamePacks.Bedrock.BedrockResourcePackTextureSetter.GetTextureAverageStyles(IEnumerable`1 blockNames, ITextureSource textureSource)
    at Unmined.Project.GamePacks.Bedrock.BedrockPacksLoader.LoadBedrockTextureStylesAsync(IWorld world, IFactory factory, IRef`1 vanillaResourcePack, IReadOnlyList`1 behaviorPacks, IReadOnlyList`1 resourcePacks, Boolean useTextures, Boolean useTextureAverageColors, CancellationToken cancellationToken)
    at Unmined.Project.GamePacks.Bedrock.BedrockPacksLoader.LoadAsync(BedrockWorld world, String vanillaResourcePackFileName, IFactory factory, Boolean useDatapacks, Boolean useTextures, Boolean useTextureAverageColors, ILogger logger, CancellationToken cancellationToken)
    at Unmined.Project.LevelEngineFactory.LoadBedrockPacks(BedrockWorld world, IFactory factory, LevelEngineOptions options, ILogger logger, CancellationToken cancellationToken)
    at Unmined.Project.LevelEngineFactory.LoadGamePacks(IWorld world, IFactory factory, LevelEngineOptions options, ILogger logger, CancellationToken cancellationToken)
    at Unmined.Project.LevelEngineFactory.CreateEngineAsync(IWorld world, IFactory factory, LevelEngineOptions options, ILogger logger, CancellationToken cancellationToken)
    “`

    Im happy to provide more info if wanted/needed. Sadly, I couldnt enable verbose output. As soon as I try to add the “log-level” CLI flag, it doesnt recognize it and shows the help text. Using Linux/AMD64.

    1. megasys

      Thank you for the detailed report, I will fix these issues.

  8. Carlo

    Hello! I don’t know why but in this version I’ve got the following error when trying to open any minecraft world:
    Error loading world.
    Circular tag dependency detected for #rock

    Thanks!

    1. Carlo

      This is my crashlog after trying it a couple of times

      System.Collections.Generic.KeyNotFoundException: Arg_KeyNotFoundWithKey, SourceContext
      at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
      at Unmined.AvaloniaApp.ConsoleViewModel.b__54_0(LogEvent logEvent)
      at System.Reactive.AnonymousSafeObserver`1.OnNext(T)
      at System.Reactive.ObserveOnObserverNew`1.DrainStep(ConcurrentQueue`1)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
      at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler)
      at Unmined.AvaloniaApp.ExtLib.AvaloniaScheduler.c__DisplayClass4_1`1.b__1()
      at Avalonia.Threading.DispatcherOperation.InvokeCore()
      at Avalonia.Threading.DispatcherOperation.Execute()
      at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean fromExplicitBackgroundProcessingCallback)
      at Avalonia.Threading.Dispatcher.OnOSTimer()
      at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
      at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG&)
      at Avalonia.Win32.Win32DispatcherImpl.RunLoop(CancellationToken)
      at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)
      at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
      at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
      at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.StartCore(String[] args)
      at Unmined.AvaloniaApp.Program.Main(String[] args)

    2. megasys

      This can happen if you have mixed configuration files from different versions.
      Some config files have been renamed or deleted in recent releases. It is likely that you have old config files left alongside the new ones (e.g. if you copied a newer version over the old one).
      A solution might be to delete all files from the “config” folder that you did not add yourself and are not part of the latest downloaded package.

  9. tbruyere

    This app has been amazing, my only small issue is that when I load it up (Win64), the window is slightly larger than the display, and the top bar is off the top of the screen, so I can’t resize it. I work around this by setting the taskbar to disappear automatically and it will be forced to resize so I can see the top controls, so it’s not any kind of real issue, just a bit confusing.

    1. megasys

      I will check this, thank you for reporting.

  10. user

    Could you make the coarse dirt block brown instead of pink? I’m not too sure when this changed but its not in 0.19.50 but is in 0.19.60 but yeah sorry to bother it just looks a bit weird in my mc world

    1. megasys

      Coarse dirt is brown, not pink. I checked all versions from 0.19.50 to 0.19.60, it is brown in all versions.
      I have no idea why is it pink for you. Config files may be wrong. Please try a clean install, and be sure to download unmined from here and not from other sites.

Leave a Reply to tbruyere Cancel reply