add Tags
Adds each of the tagNames to the filter.
If the filter's mode is set to INCLUDE, then tags added via this method are the only ones allowed in compounds passed through the filter. Otherwise, if the mode is EXCLUDE, then compounds passed through the filter will never include tags with these names. Filters are dynamic though, so both of those may change if tags are removed from the filter, or if another tag takes precedence during collision.
Tag names may reference a compound's direct children, as well as nested tags (compounds inside compounds etc). When referencing nested tags, dot-notation is used, similar to how fully-qualified names are formatted in Java. If a tag name has dots (.) in it literally, they can be escaped with a double-backslash (\\.).
Examples of this format include...
-"DataVersion"
Content copied to clipboard —> a chunk's DataVersion tag
-"Level.Sections"
Content copied to clipboard —> all of a chunk's sections
-"Level.Sections.Palette"
Content copied to clipboard —> only the "Palette" tag inside each of the chunk's sections
• New tags always take precedence when collision happens, such that...
• If an added tag has a wider scope (fewer tokens) than any existing tags, all
colliding tags with narrower scopes (more tokens) will be removed, and the new tag will
be added.
• If the added tag has a narrower scope (more tokens) than an existing one, then
that new tag will replace the tag with the wider scope (fewer tokens).
Throws
If the supplied tagNames array or any of its elements are null.