This file contains the changelogs for the MythicMobs extension. Note that this project does not follow Semantic Versioning.
- Intellisense for
switch
mechanic - Intellisense for
randomskill
mechanic - Intellisense for
skill
mechanic
- Hovers for metaskills will no longer show where they're defined. It's unnecessary because you can make use of the goto definition feature.
- Fixed a bug where the RGB values for item's
Options.Color
would be multiplied by 65025 instead of 255 (i.e. multiplying by 255 twice).
- Ranges from the AST will automatically be shifted to the correct position. You no longer have to call
addOffset
or equivalent methods anymore. - The type text for numbers is now more concise. Infinite bounds are now better represented - instead of
0..=∞
, it is now0..
. - The mob schema's
Type
is no longer required.
- Fixed nested inline skills not being parsed properly.
- File dependencies are now properly managed.
- Technical details: The
DocumentInfo
class hasdependencies
anddependents
properties. These properties are used to keep track of which files depend on which files. Previously, allDocumentInfo
s were fully cleared when parsing, which means that dependency information was lost. However, now, before clearing allDocumentInfo
s, the URIs of the dependencies and dependents are added to a separate queue.
- Technical details: The
- Fixed document errors retaining even after you edit the file.
- Fixed a bug where errors, highlights, etc would be applied on the wrong document.
- Technical info: This was caused by the
Resolver
being called on the wrong document withinYArr
. OnYArr#runPostValidation
, the resolver wasn't being reset, which means that the resolver would still have the previous document's information. This was fixed by resetting the resolver before running post-validation.
- Technical info: This was caused by the
- Added color decorations to MiniMessage tags.
- Super fancy logging colors so it is clearer what is going on (it seems that VSCode's output panel doesn't support ANSI escape codes though)
- Placeholder support for most strings in most schemas (enabled by default)
- The parse schedule timer is now dynamically adjusted based on the number of files in the workspace. This means that for smaller workspaces, the extension should generally be more responsive.
- The
mythicyaml
language mode is no longer needed. The extension now automatically detects MythicMobs configuration YAML files. - Removed the raw type in Schema Validation Errors. This was a debugging feature.
- Fixed a bug where the global skills list would not be cleared properly.
- Fixed a bug where using the color picker would lead to unexpected behavior.
- Corrected the capitalization of attribute slot names.
- Fixed a bug where MythicSkills would not be properly cached and flushed, leading to unexpected behavior.
- Partial schema for mob configurations
- Partial schema for item configurations
- Color picker for item options
- Dramatic performance improvements
- Technical details: A large proportion of performance overhead originates from conversion between various position formats (offset and line/column). Each conversion splits the string into an array of lines, which is very expensive. This has been fixed by caching the line lengths of each file.
- Code organization
- All schemas have been moved to individual files
- Yaml schema classes have their names shortened (e.g.
YamlSchemaString
->YString
)
- Added inclusive range support for numbers. This means that errors will be more specific.
- SemanticTokens now returns null if parsing is not done instead of an empty array. This fixes a bug where all semantic tokens will be removed between edits and the next parse.
- Updated README
- Extension now automatically detects MythicMobs configuration YAML files. This means that you no longer have to manually set the language mode.
- Fixed an issue where errors would be duplicated
- Made some SchemaValidationErrors' messages better
- Internal code cleanup
- Goto definition support
- Goto reference support
- Improved the MythicSkill schema
- Added hover with inference for health modifiers
- Extension now fully scans the workspace when activated
- Parsing is now split into two steps, each individually iterating over all queued files. This improves IntelliSense.
- Finalized the new performance optimizations
- Internal code cleanup
- Experimental new performance optimizations
- Add an example to
message
.
- Fixed a bug with offsets in multi-line skills
- More optimizations
- Fixed an infinite loop bug with skill parsing
- Re-enabled the Resolver while searching for mitigation for the performance issues
- A lot of optimizations
- Temporarily disabled the Resolver due to performance issues
... and a lot more. I forgot to update this changelog.
- Added some marketplace information