Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces some new features and makes some changes to provide clarity around interacting with the ParserInstance and managing context-switches.
ParserInstance Backups
Support for creating and restoring a backup of a ParserInstance has been introduced. A ParserInstance backup contains a copy of a ParserInstance's data, excluding anything related to logging. I have also added a method to reset a ParserInstance to its default state. That is, it clears everything out except the current script and any logging related information (this is essentially the state a ParserInstance is in when first loading a script).
SecConditional/ParseIf Changes
I have replaced the usage of SkriptParseEvent with more standard ContextlessEvent. I deleted the class outright, as it was marked for internal use (and is no longer internally used). I have also removed the changing of the current structure. There is no reason that this needs to change, and it opens up parse if conditional to syntax that is only restricted by Structure. Just changing the current event is fine here, as we are only removing context, not adding any.
Target Minecraft Versions: any
Requirements: none
Related Issues: none