Flags
Flags are side-specific information about a manifest, file or relation. There are two types of flags: manifest flags and relational flags. Manifest flags provide information about an addon manifest, including for which side it is available and for which side it is an instance addon. Relational flags provide information about how a file or relation is related to the addon.
Manifest flags
requiredThis flag specifies, that the addon of the manifest is required on the side which has this flag set, meaning, that if the other side has this addon installed, this side also required this addon to be compatible. If the other side has theincompatibleflag set, this flags behaves exactly like theoptionalflag, butrequiredis the prefered flag in this case.optionalThis flag specifies, that the addon of the manifest is optional on the side which has the flag set, meaning, that this addon is not required on this side to be compatible, even if the other side has this addon installed.incompatibleThis flag specifies, that the manifest is not compatible with the side which has this flag set. If a side has this flag, this side will completly be ignored for the manifest.
Relational flags
requiredThis flag specifies, that the related addon or file is required for the addon. If the addon gets installed, then any relation or file, which has this flag set, also has to be installed.optionalThis flag specifies, that the related addon or file is optional for this addon. If the addon gets installed, the user SHOULD be able to choose, whether he wants to install the relation or file with this flag, or not.includedThis flag is only valid for relations. It specifies, that the related addon is included in this one. This also means, that if some addon requires the related addon, it can also be installed with this addon instead. Relations with this flag MUST have an exact version specified, a version range, which includes multiple versions is not allowed. If this flag is used together withrequiredoroptional, the files of the related addon will be installed like if the relation wouldn't have this flag, transistive relations will however be ignored since AddonScript assumes, that they are already covered by this addon.incompatibleThis flag specifies for a relation, that the related addon is incompatible to this one, which means, that they can't be installed together in the same instance. For a file this flag specifies, that the file can't be installed on the side which has this flag set.launchThis flag is only valid for relations and files of instance addons. For relations, it specifies, that the launch patches from the related addon (which MUST also be an instance addon) will also be applied for this addon, including those inherited by other addons using thepatchflag or thelaunchflag. This flag will also inherit the main file of the relation, if it has any.launchonly applies for one relation. If multiple relations have thelaunchflag, it only applies for the first of them, which will be installed in the instance. For files, it specifies, that the file will be the main jar for this instance.launchonly applies for one file. If multiple files have thelaunchflag, it only applies for the first of them, which will be installed in the instance.env(DEPRECATED) This flag is only valid for relations of instance addons. An addon, that is inheriting the launch configuration from one, which uses the environment builder, uses this flag to tell AddonScript, which version of theexpectedaddons will be requested for the environment by setting an exact version for the relation. It also tells AddonScript, which optionalexpectedaddons will be part of the environment and which not.expected(DEPRECATED) This flag is only valid for relations of instance addons, which use the environment builder. This flag speficies, that this addon expects the related addon to be requested as a part of the launch environment. It is used together with therequiredoroptionalflag to specify, which addons are required for the launch environment, which are optional and which versions of them are valid. If an addon, which uses the environment builder, gets manually installed, meaning not as a dependency, the user SHOULD be asked, which optionalexpectedaddons and which version of eachexpectedaddon will be requested.patchThis flag is only valid for relations of instance addons. It specifies, that the launch patches from the related addon (which MUST also be an instance addon) will be also be applied for this addon. This flag is not transistive,patchflags of the related addon will be ignored. If used in conjunction withoptional, this flag will only take effect, if the relation will be installed.