diff --git a/.gitea/workflows/build-readme.yml b/.gitea/workflows/build-readme.yml index c17c8d4..5a4d8a2 100644 --- a/.gitea/workflows/build-readme.yml +++ b/.gitea/workflows/build-readme.yml @@ -18,50 +18,13 @@ jobs: with: python-version: "3.11" - - name: Resolve latest Minecraft release - run: | - mkdir -p build - python build/scripts/resolve_latest_minecraft_release.py > build/minecraft-version.txt - - - name: Read latest Minecraft release - id: minecraft_version - shell: bash - run: | - release=$(head -n 1 build/minecraft-version.txt) - snapshot=$(sed -n '2s/^snapshot=//p' build/minecraft-version.txt) - java_version=$(sed -n '3s/^java_version=//p' build/minecraft-version.txt) - echo "release=$release" >> "$GITHUB_OUTPUT" - echo "snapshot=$snapshot" >> "$GITHUB_OUTPUT" - echo "java_version=$java_version" >> "$GITHUB_OUTPUT" - - - name: Set up Java - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: ${{ steps.minecraft_version.outputs.java_version }} - - - name: Set up Gradle - run: | - GRADLE_VERSION=9.7.0 - curl -fsSL -o /tmp/gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" - sudo unzip -q /tmp/gradle.zip -d /opt - echo "/opt/gradle-${GRADLE_VERSION}/bin" >> "$GITHUB_PATH" - - - name: Install Vulkan runtime - run: | - sudo apt-get update - sudo apt-get install -y libvulkan1 xvfb libflite1 + - name: Install Python renderer dependencies + run: python -m pip install pillow - name: Build readme run: python build/scripts/build_readme.py --pack-root resourcepack --output-dir build - name: Render model previews - env: - MINECRAFT_VERSION: ${{ steps.minecraft_version.outputs.release }} - RENDER_MANIFEST: ${{ github.workspace }}/build/renameable-items.json - RENDER_OUTPUT_DIR: ${{ github.workspace }}/build - RENDER_PACK_ROOT: ${{ github.workspace }}/resourcepack - ALSOFT_DRIVERS: "null" run: python build/scripts/render_client_items.py --manifest build/renameable-items.json --pack-root resourcepack --output-dir build - name: Publish generated catalog artifacts diff --git a/build/scripts/build_readme_impl.py b/build/scripts/build_readme_impl.py index 24f4160..44a9b96 100644 --- a/build/scripts/build_readme_impl.py +++ b/build/scripts/build_readme_impl.py @@ -151,7 +151,7 @@ def build_markdown(records: list[dict[str, Any]]) -> str: lines.append("") lines.append(f"- Base items: {len(records)}") lines.append(f"- Rename variants: {total_cases}") - lines.append("- Render mode: pluggable") + lines.append("- Render mode: local Python renderer") lines.append("") lines.append("Sections are sorted by the item they are generated from.") @@ -389,7 +389,7 @@ def build_html(records: list[dict[str, Any]]) -> str:
Base items{len(records)}
Rename variants{total_cases}
-
Render modepluggable
+
Render modelocal Python renderer
diff --git a/build/scripts/render_client_items.py b/build/scripts/render_client_items.py index 9f9ae1a..f15872d 100644 --- a/build/scripts/render_client_items.py +++ b/build/scripts/render_client_items.py @@ -2,29 +2,33 @@ from __future__ import annotations import argparse -import os import subprocess +import sys from pathlib import Path def main() -> int: - parser = argparse.ArgumentParser(description="Render renameable item previews with the Minecraft client.") + parser = argparse.ArgumentParser(description="Render renameable item previews from resource pack model JSON.") parser.add_argument("--manifest", default="build/renameable-items.json", help="Path to the generated manifest") parser.add_argument("--pack-root", default="resourcepack", help="Path to the resource pack root") parser.add_argument("--output-dir", default="build", help="Directory where renders should be written") args = parser.parse_args() repo_root = Path(__file__).resolve().parents[2] - client_renderer = repo_root / "build" / "client-renderer" + renderer_script = repo_root / "build" / "scripts" / "render_models.py" - env = os.environ.copy() - env["RENDER_MANIFEST"] = str((repo_root / args.manifest).resolve()) - env["RENDER_OUTPUT_DIR"] = str((repo_root / args.output_dir).resolve()) - env["RENDER_PACK_ROOT"] = str((repo_root / args.pack_root).resolve()) + command = [ + sys.executable, + str(renderer_script), + "--manifest", + str((repo_root / args.manifest).resolve()), + "--pack-root", + str((repo_root / args.pack_root).resolve()), + "--output-dir", + str((repo_root / args.output_dir).resolve()), + ] - command = ["gradle", "-p", str(client_renderer), "runClient", "--no-daemon"] - - completed = subprocess.run(command, cwd=repo_root, env=env) + completed = subprocess.run(command, cwd=repo_root) return completed.returncode