Instance addons
Instance addons represent instances of Minecraft itself, while non-instance addons
have to be installed into an existing instance of Minecraft. An instance addon MAY have
launch patches for each side by applying launch patches of other instance addons using
the patch
flag or by patching the Minecraft
launch configuration directly using a launch patch object.
Moreover they MAY override the main jar file using the launch
flag
or inherit the launch configuration, including main jar overrides and patches,
from another instance addon using the the launch
flag.
The launch
flag is recursive which means, that an instance addon MAY
inherit it's launch configuration from another addon, which
itself inherits it. Instance addons MAY modify inherited launch configurations using a
launch patch object or override the main jar file. Inheriting a
launch configuration with the launch
flag also includes any
modifications to it.
Launch configurations
Instance launch configurations are always based on a
Minecraft launch config and MAY have patches
applied to it. Patches are done by launch patch objects, which
can override the main class and include additional arguments. Moreover instance addons MAY also
add libraries to the classpath using the library
install action.
When launching a Minecraft instance, AddonScript implementations SHOULD take the Minecraft
launch configuration as specified here of the version,
on which the instance is based on, and then apply all patches of instance addons in the instance
to it. Patches are applied in the order specified below. Patches, which
are applied later, MAY override settings from earlier patches.
Patch apply order
Patches are applied in the following order:
- Patches inherited from the another instance addon using the
launch
flag. The patches of that instance addon are applied according to the same order rules - Patches inherited from the another instance addon using the
patch
flag in the order, in which the addons are specified in the relations array - Patches done directly by the instance addon using the patches array in the order, in which they are specified in the array.
Main file
Instance addons MAY have a main jar file for each side. The main file MAY be specified for a side
using the launch
flag or MAY be inherited from another instance addon or from
Minecraft itself using the launch
flag. If it is neither specified
nor inherited, the instance doesn't have a main jar file.