mirror of
https://github.com/plexusorg/Module-HTTPD.git
synced 2026-06-04 00:56:54 +00:00
First pass at rewriting the HTTPD
This commit is contained in:
@@ -1,18 +1,22 @@
|
||||
param(
|
||||
[string]$Version = ""
|
||||
[string]$Version = "",
|
||||
[string]$AssetRoot = ""
|
||||
)
|
||||
|
||||
# Downloads the vanilla Minecraft assets used by the HTTPD live inventory view
|
||||
# into src/main/resources/httpd/assets for local development.
|
||||
# into the same minecraft-assets cache layout used by the running module.
|
||||
#
|
||||
# Usage:
|
||||
# ./scripts/download-minecraft-assets.ps1 # latest release
|
||||
# ./scripts/download-minecraft-assets.ps1 1.21.10 # specific version
|
||||
# ./scripts/download-minecraft-assets.ps1 26.1.2 # specific version
|
||||
# ./scripts/download-minecraft-assets.ps1 -AssetRoot "plugins/Plex/modules/<HTTPD module>/minecraft-assets"
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$ProjectRoot = Resolve-Path (Join-Path $PSScriptRoot "..")
|
||||
$AssetRoot = Join-Path $ProjectRoot "src/main/resources/httpd/assets"
|
||||
if ([string]::IsNullOrWhiteSpace($AssetRoot)) {
|
||||
$AssetRoot = if ($env:PLEX_HTTPD_ASSET_ROOT) { $env:PLEX_HTTPD_ASSET_ROOT } else { Join-Path $ProjectRoot "minecraft-assets" }
|
||||
}
|
||||
$ManifestUrl = "https://piston-meta.mojang.com/mc/game/version_manifest_v2.json"
|
||||
|
||||
$manifest = Invoke-RestMethod -Uri $ManifestUrl -TimeoutSec 30
|
||||
@@ -76,7 +80,7 @@ try {
|
||||
$zip.Dispose()
|
||||
}
|
||||
|
||||
Set-Content -Path (Join-Path $AssetRoot ".minecraft-version") -Value $Version -Encoding UTF8
|
||||
Set-Content -Path (Join-Path $AssetRoot "version.txt") -Value $Version -Encoding UTF8
|
||||
Write-Host "Extracted $extracted files to $AssetRoot"
|
||||
}
|
||||
finally {
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
set -eu
|
||||
|
||||
# Downloads the vanilla Minecraft assets used by the HTTPD live inventory view
|
||||
# into src/main/resources/httpd/assets for local development.
|
||||
# into the same minecraft-assets cache layout used by the running module.
|
||||
#
|
||||
# Usage:
|
||||
# ./scripts/download-minecraft-assets.sh # latest release
|
||||
# ./scripts/download-minecraft-assets.sh 1.21.10 # specific version
|
||||
# ./scripts/download-minecraft-assets.sh 26.1.2 # specific version
|
||||
# ./scripts/download-minecraft-assets.sh 26.1.2 "plugins/Plex/modules/<HTTPD module>/minecraft-assets"
|
||||
|
||||
VERSION="${1:-}"
|
||||
PROJECT_ROOT="$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)"
|
||||
ASSET_ROOT="$PROJECT_ROOT/src/main/resources/httpd/assets"
|
||||
ASSET_ROOT="${2:-${PLEX_HTTPD_ASSET_ROOT:-$PROJECT_ROOT/minecraft-assets}}"
|
||||
|
||||
python3 - "$VERSION" "$ASSET_ROOT" <<'PY'
|
||||
import json
|
||||
@@ -71,6 +72,6 @@ with tempfile.TemporaryDirectory() as tmp:
|
||||
shutil.copyfileobj(source, out)
|
||||
extracted += 1
|
||||
|
||||
(asset_root / ".minecraft-version").write_text(version + "\n", encoding="utf-8")
|
||||
(asset_root / "version.txt").write_text(version + "\n", encoding="utf-8")
|
||||
print(f"Extracted {extracted} files to {asset_root}")
|
||||
PY
|
||||
|
||||
@@ -29,10 +29,10 @@ function Download-IfMissing($Url, $Target) {
|
||||
Invoke-WebRequest -Uri $Url -OutFile $Target -TimeoutSec 600
|
||||
}
|
||||
|
||||
# Resolve version (explicit > cached > latest)
|
||||
# Resolve version (explicit > local debug asset cache > latest)
|
||||
$manifest = Invoke-RestMethod -Uri $ManifestUrl -TimeoutSec 30
|
||||
if ([string]::IsNullOrWhiteSpace($Version)) {
|
||||
$cachedFile = Join-Path $ProjectRoot "src/main/resources/httpd/assets/.minecraft-version"
|
||||
$cachedFile = Join-Path $ProjectRoot "minecraft-assets/version.txt"
|
||||
if (Test-Path $cachedFile) {
|
||||
$Version = (Get-Content $cachedFile -Raw).Trim()
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user