@@ -32,18 +32,19 @@ fn_update_localbuild() {
3232}
3333
3434fn_update_remotebuild () {
35+ jq_versions_all=' .versions | to_entries | map(.value[])'
3536 # Gets remote build info.
36- apiurl=" https://api .papermc.io/v2 /projects"
37+ apiurl=" https://fill .papermc.io/v3 /projects"
3738 # Get list of projects.
3839 remotebuildresponse=$( curl -s " ${apiurl} " )
3940 # Get list of Minecraft versions for project.
4041 remotebuildresponseproject=$( curl -s " ${apiurl} /${paperproject} " )
4142 # Get latest Minecraft: Java Edition version or user specified version.
4243 if [ " ${mcversion} " == " latest" ]; then
43- remotebuildmcversion=$( echo " ${remotebuildresponseproject} " | jq -r ' .versions[-1] ' )
44+ remotebuildmcversion=$( echo " ${remotebuildresponseproject} " | jq -r " $jq_versions_all | first " )
4445 else
4546 # Checks if user specified version exists.
46- remotebuildmcversion=$( echo " ${remotebuildresponseproject} " | jq -r -e --arg mcversion " ${mcversion} " ' .versions[]| select(. == $mcversion)' )
47+ remotebuildmcversion=$( echo " ${remotebuildresponseproject} " | jq -r -e --arg mcversion " ${mcversion} " " $jq_versions_all | .[] | select(. == \ $ mcversion)" )
4748 if [ -z " ${remotebuildmcversion} " ]; then
4849 # user passed version does not exist
4950 fn_print_error_nl " Version ${mcversion} not available from ${remotelocation} "
@@ -54,12 +55,12 @@ fn_update_remotebuild() {
5455 # Get list of paper builds for specific Minecraft: Java Edition version.
5556 remotebuildresponsemcversion=$( curl -s " ${apiurl} /${paperproject} /versions/${remotebuildmcversion} " )
5657 # Get latest paper build for specific Minecraft: Java Edition version.
57- remotebuildpaperversion=$( echo " ${remotebuildresponsemcversion} " | jq -r ' .builds[-1 ]' )
58+ remotebuildpaperversion=$( echo " ${remotebuildresponsemcversion} " | jq -r ' .builds[0 ]' )
5859 # Get various info about the paper build.
5960 remotebuildresponseversion=$( curl -s " ${apiurl} /${paperproject} /versions/${remotebuildmcversion} /builds/${remotebuildpaperversion} " )
60- remotebuildfilename=$( echo " ${remotebuildresponseversion} " | jq -r ' .downloads.application .name' )
61- remotebuildhash=$( echo " ${remotebuildresponseversion} " | jq -r ' .downloads.application .sha256' )
62- remotebuildurl=" ${apiurl} / ${paperproject} /versions/ ${remotebuildmcversion} /builds/ ${remotebuildpaperversion} / downloads/ ${remotebuildfilename} "
61+ remotebuildfilename=$( echo " ${remotebuildresponseversion} " | jq -r ' .downloads["server:default"] .name' )
62+ remotebuildhash=$( echo " ${remotebuildresponseversion} " | jq -r ' .downloads["server:default"].checksums .sha256' )
63+ remotebuildurl=$( echo " ${remotebuildresponseversion} " | jq -r ' . downloads["server:default"].url ' )
6364 # Combines Minecraft: Java Edition version and paper build. e.g 1.16.5-456
6465 remotebuild=" ${remotebuildmcversion} -${remotebuildpaperversion} "
6566
0 commit comments