Releases: Bertie2011/DataPackChecker
Releases · Bertie2011/DataPackChecker
Improved Parsers!
- Removed File System APIs from Shared library
- Created JsonParser to remove a whole bunch of duplicate code
- Added ItemModifier resource
For Rule Developers: The Shared library changed.
1.17 Update!
- Added GameEvent tags
- The tag entry tuple has been changed to a proper class with named properties.
- Added more spaces to resource types in the console (e.g.
DimensionType
is nowDimension Type
) - If an error involving JSON occurs, the JSON won't be printed on the title line anymore. It will now appear on the next line in gray together with the error message.
For Rule Developers: The Shared library changed.
DPC can now check .zip files!
- The
-d
/--data-pack
switch can now accept a path to a zip file. - The interactive menus now also suggest zip files.
- Zip files must directly have the data folder and pack.mcmeta file inside.
Life time is now "repeat" by default.
- The life time parameter now defaults to
repeat
.
The Interactivity Update!
- If no other strategies match (e.g. listing all rules or showing rule info), then the checker assumes you want to check a data pack.
- If any arguments are missing, it will prompt you to choose a valid option.
- Added
-b/--base-path
option to specify the minecraft folder. Ignored if -d/--data-pack specifies an absolute path or starts with.
- Added
-w/--world
option to specify the world inside the minecraft folder. Also ignored if -d/--data-pack specifies an absolute path or starts with.
- This means that you can now run the executable simply by double clicking and it will either use sensible defaults or prompt you. Calling from the command line won't be strictly necessary anymore.
- Added
- Removed
-o/--keep-open
in favor of-t/--life-time
.- Indicates what happens after finishing. Once = exit, Await = wait for keyboard input, Repeat = wait for keyboard input and repeat. Unless performing a check, repeat equals await. The default is (still) Once.
- The old
-o
switch caused the new Await behaviour.
Exception Info
Added path output if an exception occurs during data pack parsing.
The Tag & Backwards References Update!
Changes since last pre-release
Additions
- Tags now have a separate subclass per type instead of just a type enum.
- This also results in a
TagData
property in Namespace. The TagData class also has anAllTags
property.
- This also results in a
- Tags are now also followed in
Function.References
. - Function Tags now also have a list of Function References containing directly listed functions and all functions in any listed tags.
- Most data classes in
Shared
now have back references to their owner. (E.g. Function now knows its Namespace)- This allowed the Output class to be simplified.
Namespace.XXXXData
properties now also containLookupLists
instead of plainLists
. This allows you to find resources by identifier.- Namespace now has an
AllResources
property. - Resources now have an extra NamespacedIdentifier property.
- Tags are properly prefixed with
#
.
- Tags are properly prefixed with
- Also published Shared.xml that contains the documentation.
- Project configuration is committed now that any developer specific information is stripped.
- Added a lot of JsonElement and Nullable extensions to make working with JSON a lot easier.
Changes
- Error output now contains error class names
- Performance Increase
- File parsers now only iterate over the files in the folder that belong to a specific resource and not the entire data pack folder.
- Loading/Parsing of a data pack is now done using multi-threading.
- Improved Developer workflow (README) a lot.
Removals
- Removed --version console option
- Removed
Function.CommandsFlatWithReferences
Additional changes since last release
Additions
- Added path information to Namespaces, Datapacks and Resources
- Added -f parameter to read arguments from file.
Added -f parameter!
- Added path information to Namespaces, Datapacks and Resources
- Added -f parameter to read arguments from file.
The Function & Command References Update
- Synchronized output. When 2 rules finish at the same time their output was mixed before.
- Each command can now have a NextCommand which indicates a subcommand (in /execute for example). Ease of use property is added that does the recursion for you.
- Each function now has a list of referenced functions. A couple properties have been added to recursively collect all functions and their commands.
- The CheckerRule Example string properties have been replaced with List properties
- All collection properties (Namespaces in data packs and all resources within a namespace) now use a custom LookupList class. This class behaves like a dictionary, but retrieves keys from the objects themselves. This results in a mixed interface between a list and dictionary.
- Added ToString methods to resources and namespaces to make them more readable in debug view.
- Two extra output methods were added. One for displaying an invalid config message and one for displaying a general message.
First Release!
- Working Checker software that can run dynamically loaded rules
- Configuration JSON files can be read
- Additional options to print information about rules.