Merge pull request 'Install spec improvements' (#19) from tilera/addonscript-spec:install into master

Reviewed-on: addonscript/addonscript-spec#19
Discussed-on: addonscript/addonscript-spec#10
This commit is contained in:
Timo Ley 2022-08-26 20:01:05 +00:00
commit 3f042e332c
2 changed files with 13 additions and 23 deletions

View file

@ -1,6 +1,6 @@
# File installing
## Install commands
## Install actions
### move
@ -8,7 +8,7 @@ args:
- `[location]`
`move` is simplest install step of all. It just moves the selected file to
`move` is simplest install action of all. It just moves the file to
the given location.
### extract
@ -26,7 +26,7 @@ args:
- `[new name]`
`rename` renames the selected file to the new given filename.
`rename` renames the file to the new given filename.
### inject
@ -38,25 +38,15 @@ are also in injected file.
### launch
`launch` can be used to mark the selected file as the launch file for a specific side. Files having this
install step can only have the `client` or the `server` flag, not both. If the file is client-sided, it
`launch` can be used to mark the file as the launch file for a specific side. Files having this
install action can only have the `client` or the `server` flag, not both. If the file is client-sided, it
has to be a [client JSON file](https://minecraft.fandom.com/wiki/Client.json) as specified by Minecraft
itself. If it is server-sided, it has to be a jar file, which is the file, that should be launched to start
the server. The jar file has to be moved to the root of the instance directory, before using `launch` on it.
Moreover, this install step may only be used with launchable or instance addons and there may be only one file for each
side, which has this install step, except all of them are marked as `optional`, in which case they are also
Moreover, this install action may only be used with launchable or instance addons and there may be only one file for each
side, which has this install action, except all of them are marked as `optional`, in which case they are also
implicitly marked as incompatible to each other.
### select
args:
- `[filename]`
`select` is used to select the file with the given file name for other installation steps.
The file name can also be a relative path, if the file is not directly in the Minecraft directory.
If no file name is given, the selection resets to the original file itself, also if it was already moved to another location.
## Locations
Locations are specified as a relative path from the Minecraft directory to which the file should be installed.
@ -64,6 +54,6 @@ For example `./mods` would point to the mods directory of the Minecraft instance
## Directories
If the selected file is a directory, then it is treated like a zip file, which means, that you can move and
rename it like a normal file, but also use the `extract` install step to move all contents of the directory
If the file is a directory, then it is treated like a zip file, which means, that you can move and
rename it like a normal file, but also use the `extract` install action to move all contents of the directory
to the specified location.

View file

@ -2,19 +2,19 @@
```json
{
"command": "move",
"action": "move",
"args": ["./mods"]
}
```
## Required properties
### command
### action
This is the [install command](../concepts/install.md), which should be used at this installation step.
This is the [install action](../concepts/install.md), which should be used at this installation step.
## Optional properties
### args
This is an array of arguments for the [install command](../concepts/install.md). Each of them takes other arguments.
This is an array of arguments for the [install action](../concepts/install.md). Each of them takes other arguments.