generateTagsFromText(text) {
		/**
		 * @type {OverrideTag[]}
		 */
		let tags = [];

		const strings = splitTags(`(${text})`, "\\");

		for (const string of strings) {
			let groups = string.split(this.tagRegex).filter(str => str && str.length !== 0);

			const tagName = groups[0].replace("\\", "\\\\");
			let isValidTag = true;

			if (!this.validTags.includes(tagName)) {
				isValidTag = false;
			}

			if (isValidTag) {
				const overrides = this.tagMap.get(tagName);

				try {
					tags.push(new OverrideTag(string, overrides));

					for (let i = 0; i < tags[tags.length - 1].parameters.length; i++) {
						if (tags[tags.length - 1].parameters[i].varType === VariableType.OVERRIDE) {
							const subTag = tags[tags.length - 1].parameters[i].value;
							tags[tags.length - 1].parameters[i].value = this.generateTagsFromText(subTag);
						}
					}
				} catch (error) {
					continue;
				}
			}
		}

		return tags;
	}
/**
	 * Parse override tags in a string into OverrideTag and OverrideTagParameter objects
	 * @param {string} text string of OverrideTags to parse
	 */
Parse override tags in a string into OverrideTag and OverrideTagParameter objects
@param {string} text string of OverrideTags to parse
Parse override tags in a string into OverrideTag and OverrideTagParameter objects @param { string } text string of OverrideTags to parse
generateTagsFromText(text) {
		let tags = [];
		const strings = splitTags(`(${text})`, "\\");
		for (const string of strings) {
			let groups = string.split(this.tagRegex).filter(str => str && str.length !== 0);
			const tagName = groups[0].replace("\\", "\\\\");
			let isValidTag = true;
			if (!this.validTags.includes(tagName)) {
				isValidTag = false;
			}
			if (isValidTag) {
				const overrides = this.tagMap.get(tagName);
				try {
					tags.push(new OverrideTag(string, overrides));
					for (let i = 0; i < tags[tags.length - 1].parameters.length; i++) {
						if (tags[tags.length - 1].parameters[i].varType === VariableType.OVERRIDE) {
							const subTag = tags[tags.length - 1].parameters[i].value;
							tags[tags.length - 1].parameters[i].value = this.generateTagsFromText(subTag);
						}
					}
				} catch (error) {
					continue;
				}
			}
		}
		return tags;
	}
generateTagsFromText ( text ) { let tags = [ ] ; const strings = splitTags ( ` ${ text } ` , "\\" ) ; for ( const string of strings ) { let groups = string . split ( this . tagRegex ) . filter ( str => str && str . length !== 0 ) ; const tagName = groups [ 0 ] . replace ( "\\" , "\\\\" ) ; let isValidTag = true ; if ( ! this . validTags . includes ( tagName ) ) { isValidTag = false ; } if ( isValidTag ) { const overrides = this . tagMap . get ( tagName ) ; try { tags . push ( new OverrideTag ( string , overrides ) ) ; for ( let i = 0 ; i < tags [ tags . length - 1 ] . parameters . length ; i ++ ) { if ( tags [ tags . length - 1 ] . parameters [ i ] . varType === VariableType . OVERRIDE ) { const subTag = tags [ tags . length - 1 ] . parameters [ i ] . value ; tags [ tags . length - 1 ] . parameters [ i ] . value = this . generateTagsFromText ( subTag ) ; } } } catch ( error ) { continue ; } } } return tags ; }
Parse override tags in a string into OverrideTag and OverrideTagParameter objects
 @param {string} text string of OverrideTags to parse
Parse override tags in a string into OverrideTag and OverrideTagParameter objects @param { string } text string of OverrideTags to parse
/**
		 * @type {OverrideTag[]}
		 */