Releases: Querz/mcaselector
mcaselector-2.4.1
This minor release adds full 1.21 support.
Details:
- Added color mappings for Minecraft 1.21.
- Fixed a bug in CI where the fat jar would not include the Groovy dependency, causing dialogs involving Groovy scripts to not show and throw an error instead (#478)
mcaselector-2.4
This release adds 1.20.5 support and fixes some bugs.
Details:
- Updated to Java 21. The Windows Installer will download the correct version for you, but Mac and Linux users will need to download the correct JDK / JRE. The Download and Installation section in the Wiki has been updated accordingly.
- Updated mappings for Minecraft 1.20.5 and the current 1.21 Experimental Features.
- Added support for lz4 compressed chunks.
- Added support for item components when reloacting chunks containing a lodestone compass.
- Default to user home dir when no other directory exists when the "Open World" dialog is created.
- Fixed a bug where the last directory a world was opened from was not remembered.
- Fixed a bug where entire chunks would fail to replace blocks if they contained a section without any block data #470.
- Fixed a bug where Sniffer's memorized locations would not be updated when relocating chunks containing Sniffers.
- Changed the visuals of the NBT Editor to show lines instead of arrows.
- Updated some dependencies.
mcaselector-2.3
This release adds script editors. And fixes bugs.
Details:
- Added simple script editors for chunk filters and nbt changer.
- Script language is Groovy.
- Chunk filter:
- 3 functions:
before()
,after()
,filter(ChunkData)
. before()
andafter()
are executed once before and after filtering.filter(ChunkData)
returns a boolean to indicate whether the chunk should be selected, deleted or exported.
- 3 functions:
- NBT Changer:
- 3 functions:
before()
,after()
,apply(ChunkData)
. before()
andafter()
are executed once before and after applying data.apply(ChunkData)
can apply any data to the region, poi and entity data.
- 3 functions:
- Fixed compatibility with 1.20 chunk status filter and field changer. When filtering for a
Status
, both the version with theminecraft:
namespace and without the namespace will be considered. - Fixed biome filters returning too early when palette in a section is empty.
- Refined DeleteEntities field: now checking for the entities' DataVersion when the region doesn't exist.
- Fixed wrong Tag access when retrieving list of entities.
- Added "Sum selection", see #444. The values from an overlay can be summed based on a selection.
- Added an update button to the menu bar that appears when a new update is available.
- Updated 1.20 / 1.21 mappings. This also fixes a bug where grass would render as black dots (see #453).
- Fixed Chunk editor rows having the wrong height, cutting off the lower pixels of the font (making underscores invisible).
- Fixed incorrectly calculated number of selected chunks after inverting selected regions.
- Updated licenses.
- Updated Italian translation, see #427.
- Added Hungarian translation, see #442.
- Added Ukrainian translation, see #449.
- Updated Chinese translation, see #452.
mcaselector-2.2.2
This release fixes a critical issue.
Details:
- Fixed a critical issue that would cause MCA Selector to crash on startup when loading some overlays.
mcaselector-2.2.1
This release fixes some bugs.
Details:
mcaselector-2.2
This release adds some menus to make it more convenitent to open worlds, adds a new Heightmap filter and fixes a bunch of bugs.
Details:
- Added an
Open Dimension
menu. This will list all dimensions of the currently opened world. - Added an
Open recent World
menu that shows recently opened worlds (in order). - Added a
Selection
filter. The parameter is a file path to a selection.csv
file. - Added a
FixHeightmaps
fields for the NBT changer. This will recalculate all Heightmaps of a chunk. - Heightmaps are now automatically recalculated when:
- Importing chunks with a Y-offset or a section range
- Replacing blocks with the
ReplaceBlocks
field - Deleting sections with the
DeleteSections
field
- Updated mappings for Minecraft 1.19 and 1.20.
- It is now possible to drag-and drop a file into the text fields of the
Selection
,PlayerLocation
andPlayerSpawn
filters. - Switched to AWT from PNGJ to save when exporting a selection as an image. This greatly improves speed (see #388).
- Updated Traditional Chinese translation (see #345).
- Fixed a bug in CLI where the
--fields
option wasn't available (see #401). - Added an option in the CLI to parse command parameters in MCA Selector instead of relying on the JVM. This should fix an issue occurring with Pterodactyl where MCA Selector would fail to parse commands with quoted parameters that contained spaces. The option is
--use-alternative-command-parsing
and it is not recommended to use it unless you encounter this specific problem. - Rewrote all config code. There are now 3 tiers of configuration:
- Global config: All Global and Processing settings
- World config: All settings related to this world (render settings)
- Overlays: Overlays are stored separately alongside the global config
- All configs are now stored in json.
- Switched to google's gson library from json.org.
- Updated all licenses.
- Updated the NBT library dependency.
- Fixed a bug where min/max calculation for selection was broken in z-direction. This bug could be noticed when exporting a selection as an image.
- Fixed a bug where the chunk filter would throw an exception when adding a new filter after deleting all filters via an empty query string.
mcaselector-2.1
This release fixes some bugs, changes custom filters and improves the height slider.
Details:
- Changed the custom filter and the custom field changer to use Groovy instead of JavaScript to be closer to Java.
- The input field next to the height slider now allows values up to 2047 for worlds with custom data packs that increase the maximum build height.
- Added debugs to log what program arguments were passed to MCA Selector and how MCA Selector parsed them.
- Fixed a bug where filters were not applied to chunks that had
entities
orpoi
data, but noregion
data. - Fixed and improved the structure filter. It now detects all kinds of combinations of Minecraft's internal structure names as vanilla structure names, with or without the
minecraft:
namespace. - Fixed a bug where chunk sections were not merged correctly (#360).
- Removed the wiki files from the main repository and moved them to their own repository for more independent contribution.
mcaselector-2.0.2
Fixing some critical bugs and adding custom filters.
Details:
- Added a
Custom
filter. This filter is basically the content of a JavaScript function returning eithertrue
orfalse
, indicating whether the chunk should be selected or not. All chunk data can be accessed. The valueregion
contains all region data,poi
all POI data andentities
all entity data. The chunk data structure is a Java CompoundTag Object of the NBT library. Example:return region.getString("Status") == "full"
will be a custom version of theStatus = "full"
filter. - Added a
Custom
field for the NBT Changer. This works similar to theCustom
filter, except that the JavaScript function doesn't have any return value. However, all changes made to the NBT structure inregion
,poi
, andentities
will be saved. Example:region.putString("Status", "empty")
will be a custom version of theStatus = "empty"
field change. - (Most likely) fixed a problem where Minecraft 1.19 would freeze any world generation and saving after attempting to generate lighting in a protochunk that is adjacent to a full chunk where MCA Selector deleted some sections. MCA Selector will now reset the chunk's
Status
field back tofeatures
after deleting sections to force Minecraft to recalculate any lighting data in that chunk. - Added error handlers for all multithreaded jobs to make sure that the progress bar doesn't get stuck and to catch any uncaught exceptions.
- Added the Wiki to this repository so people can edit it and create pull requests. The Wiki files in this folder will be synced with the wiki repository on every push to this repository.
- Fixed a bug where CLI mode would skip saving files and then freeze the progress bar.
mcaselector-2.0.1
This update fixes some bugs.
If you encounter a bug please let me know by creating a bug report issue Here or ping me on Discord.
Changes:
- Fixed a bug where adding a radius to a selection was throwing an NPE if the selection contained a fully selected region.
- Fixed warning message when running CLI:
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
. - Fixed an issue with the
--output
parameter when forcing cache generation using--mode cache
. - Added support for omitting the
--zoom-level
parameter in CLI cache mode. It will now generate all zoom levels when this parameter is omitted. - Made sure that the CLI progress bar stops when skipping the maximum.
- Made circles and radiuses in selections more "circle-like".
mcaselector-2.0
Big update with a lot of technical changes. Also: 2.0!
If you encounter a bug please let me know by creating a bug report issue Here or ping me on Discord.
Changes:
- Fixed a bug where entire regions would be imported when importing chunks without an offset.
- Fixed a bug where the coordinates in the status bar would be off by one when hovering over blocks with negative coordinates.
- Added mappings for Minecraft 1.19.
ReplaceBlocks
now supports regular expressions to select blocks. Regular expressions need to be in single quotes. As an example, here is how to replace all blocks in a chunk with air:'.+'=minecraft:air
.SkyLight
andBlockLight
data will now be deleted when usingReplaceBlocks
in the hope Minecraft recalculates those values.- Added an option in the long array editor to view 32-bit values.
- Added
invalid
biome mapping. This "biome" can be used in Minecraft versions that still use numeric biome IDs to set the biome id to-1
which will force Minecraft to regenerate the biomes (no the terrain!). - The chunk editor will now automatically expand the root tag for convenience.
- Removed
File --> Open Region
so people avoid the mistake of omitting thepoi
andentities
folders when manipulating their world. Thepoi
andentities
folders can still be manually changed through theFile --> Settings --> World
dialog. - Added a dialog to choose between overwriting and merging when importing a selection.
- Added an error message for when saving or loading a selection failed.
- Added a flag to keep track of whether a selection has just been saved.
- Rephrased the confirmation dialog that appears when quitting with an unsaved selection and made this dialog appear when opening a new world if necessary.
- Clearing the cache no longer clears the selection.
- Added more options to render images in CLI image mode.
- Added more options to render overlays in CLI image mode.
- Removed unused translations.
- Implemented a new selection model that uses way less memory and should be unnoticeably faster. This should fix some bugs with inverted selections as well, such as applying a filter to an inverted selection removing the wrong chunks from the selection.
- Switched to a new and better, more cache oriented version of the NBT library.
- Replaced the old logging / debug system, with log4J2. The log files are now persistent and roll over into a new log file on start-up. The
Print debug messages
option in theSettings
now enables logging ofDEBUG
level for the log file. Warnings and errors will always be logged to the log file. Only errors will be logged to the console. - Reworked the CLI code, it now uses commons-cli to validate command line arguments. Also added a
--help
command that prints out a manual page. - When specifying world folders in CLI mode, a new parameter
--world
(or--source-world
, or--output-world
, depending on the context) is now required. This option automatically searches in the provided folder for aregion
,poi
andentities
folder, while having aregion
folder is mandatory. Those folders can be overwritten manually by using the old--region
,--poi
and--entities
(or--source-region
,--source-poi
, etc.) parameters, but they should generally not be used except in very specific use cases. - Changed the CLI to show an actual progress bar.
- Switched CI from Travis to GitHub Actions. Release assets are now automatically created and uploaded to the release.
- Cleaned up
build.gradle
and moved scripts to external script files. - Updated version to 2.0 so people don't confuse the MCA Selector version with the Minecraft version (lol). JK, there have been a LOT of changes in the background.