[
    {
        "UpdateStageName":"Server Download",
        "UpdateSourcePlatform":"All",
        "UpdateSource":"FetchURL",
        "UpdateSourceData":"https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/standalone",
        "UpdateSourceArgs":"Geyser.jar",
        "UpdateSourceTarget":"{{$FullRootDir}}",
        "OverwriteExistingFiles":true
    },
    {
        "UpdateStageName":"Java Download",
        "UpdateSourcePlatform":"Windows",
        "UpdateSource":"FetchURL",
        "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_windows-x64_bin.zip",
        "UpdateSourceTarget":"{{$FullRootDir}}",
        "UnzipUpdateSource":true,
        "OverwriteExistingFiles":true,
        "DeleteAfterExtract":true
    },
    {
        "UpdateStageName":"Remove Old Java Directory",
        "UpdateSourcePlatform":"Windows",
        "UpdateSource":"Executable",
        "UpdateSourceData":"cmd.exe",
        "UpdateSourceArgs":"/C RD /S /Q .\\geyser\\java"
    },
    {
        "UpdateStageName":"Java Download",
        "UpdateSourcePlatform":"Linux",
        "UpdateSource":"FetchURL",
        "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_linux-x64_bin.tar.gz",
        "UpdateSourceArch":"x86_64",
        "UpdateSourceTarget":"{{$FullRootDir}}",
        "UnzipUpdateSource":true,
        "OverwriteExistingFiles":true,
        "DeleteAfterExtract":true
    },
    {
        "UpdateStageName":"Java Download",
        "UpdateSourcePlatform":"Linux",
        "UpdateSource":"FetchURL",
        "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_linux-aarch64_bin.tar.gz",
        "UpdateSourceArch":"aarch64",
        "UpdateSourceTarget":"{{$FullRootDir}}",
        "UnzipUpdateSource":true,
        "OverwriteExistingFiles":true,
        "DeleteAfterExtract":true
    },
    {
        "UpdateStageName":"Pause Update Stages",
        "UpdateSourcePlatform":"Windows",
        "UpdateSource":"Pause",
        "UpdateSourceArgs":"1"
    },
    {
        "UpdateStageName":"Rename New Java Directory",
        "UpdateSourcePlatform":"Windows",
        "UpdateSource":"Executable",
        "UpdateSourceData":"cmd.exe",
        "UpdateSourceArgs":"/C move .\\geyser\\jdk* .\\geyser\\java"
    },
    {
        "UpdateStageName":"Replace Java Directory",
        "UpdateSourcePlatform":"Linux",
        "UpdateSource":"Executable",
        "UpdateSourceData":"/bin/bash",
        "UpdateSourceArgs":"-c 'rm -rf ./geyser/java ; mv ./geyser/jdk* ./geyser/java ; chmod +x ./geyser/java/bin/java'"
    },
    {
        "UpdateStageName":"Pause Update Stages",
        "UpdateSourcePlatform":"All",
        "UpdateSource":"Pause",
        "UpdateSourceArgs":"2"
    },
    {
        "UpdateStageName":"Start Server",
        "UpdateSourcePlatform":"All",
        "UpdateSource":"StartApplication"
    },
    {
        "UpdateStageName":"Wait For Server Start",
        "UpdateSourcePlatform":"All",
        "UpdateSource":"WaitForStartupComplete"
    },
    {
        "UpdateStageName":"Stop Server",
        "UpdateSourcePlatform":"All",
        "UpdateSource":"ShutdownApplication"
    }
]