github Querz/mcaselector 1.17
mcaselector-1.17

latest releases: 2.4, 2.3, 2.2.2...
2 years ago

This update improves render performance (and much more).

Details:

  • Added support for the 21w43a snapshot and below (including experimental snapshots).
  • The settings dialog has been split into multiple tabs. The tabs on the left are global settings, the tabs on the right are per-world settings:
    • Global: contains settings such as language and selection colors
    • Processing: contains settings related to threads and memory usage. The Read Threads slider has been removed. The Max files slider has been repurposed to indicating how many region files are kept in memory for faster rendering.
    • Rendering: contains settings for rendering the current world.
    • World: this is the old World Settings dialog. The poi and entities folders can be set manually here.
  • The Render settings menu option is now a shortcut to the Rendering tab.
  • Added a cave renderer. It can be enabled in the Rendering tab.
  • Huge rework of how threads are handled:
    • Removed the the load data jobs.
    • Added a more secure way to load, process and save data (especially for rendering) to not have any bottlenecks that might use up too much memory.
    • Removed the threadpool that loads cached images and let them load through the main scheduler.
    • The main scheduler now uses a new type of queue that prioritizes loading from cache (because it's faster) and regions in the center of the screen.
    • Map draws are now at a fixed rate, and they are not dictated by how fast images are loaded (which might have caused lags).
    • Map updates are now also at a fixed rate in their own thread and independent of map draws to avoid lags.
    • Reduced the default amount of threads used for the scheduler. This value can be adjusted in the Processing settings.
  • Huge rework for the rendering pipeline:
    • Only the actually needed image is now rendered and cached. E.g. if zoomed out completely, only a 64x64 image of each region is rendered (compared to before where the 512x512 version was always rendered and then scaled to fit) which should be significantly faster.
    • When any image is found in either the memory cache or the file cache, it is now used to display the region. The incentive is to have any image over having no image at all, no matter the scale. The appropriate image will be loaded or generated later on.
  • Added an option to the chunk import dialog to shift sections vertically. This can be used in combination with the Sections option to avoid overwriting existing sections in the target chunk with empty sections.
  • Improved drawing regions and the chunk- and region grid to use floating point calculations instead of integers.
  • MCA Selector now keeps track of when a region file was last saved and rerenders an image automatically when it detects that an image is outdated. It is checking for images being outdated whenever they are loaded from disk cache.
  • Added the menu option View --> Reload to manually trigger reloading the map view and checking which images are outdated.
  • Added default biome color mapping to avoid unknown biomes being rendered in grayscale.
  • Added a warning dialog when attempting to quit while having a selection.
  • Whenever the config is loaded from file, it is now printed as a debug.
  • Rewrote most of the version specific code for simplification.
  • Biome color mappings are now version specific (due to the switch to biome palettes in the 1.18 snapshots).
  • Switched to fastutil's maps for big datastructures (like selections) to make them faster and more memory efficient.
  • Added license for fastutil.
  • Changed the visible label to queue which now shows the number of tasks being queued.
  • Improved and unified null checks when parsing, filtering or changing data.
  • Changed the default chunk filter to be InhabitedTime < "5 minutes" because this seems to be the most commonly used filter.
  • Reduced the default JVM max memory for the Windows installer version to 4GB.
  • Added support for 1-3 bit views in the array editor.
  • Added a filter for yPos.
  • Fixed a bug where selecting from a filter threw an NPE when applying a radius without applying to an existing selection (see #268).
  • Fixed a bug where filtering entities wouldn't work for worlds below Minecraft version 1.17.
  • Fixed a bug where MC saves dir, and debug options were not saved while changing them when no world was open.
  • Fixed a crash when the parent directory was a symlink when creating cache, log and settings files and directories (see #265).
  • Fixed a bug where parsing and stringifying the ReplaceBlocks field would strip single quotes for custom block names.
  • Fixed a bug where the world config was not saved when quitting.
  • Fixed a bug where sections would not render when the block palette would have a length of 1 and no block states array.
  • Fixed some typos in the Czech translation, see #246 .
  • Fixed japanese translation, see #240 .

Don't miss a new mcaselector release

NewReleases is sending notifications on new releases.