simplify tools: shared harness setup (pipeline, block proxy, render job, framing, record copy, label cells, contact sheets) for the standalone renderers and the benchmark, block-entity scenes as name/yaw records, one dump pipeline for mob and avatar renderers with a shared submit helper, transform record and jem/entry/subset helpers, posed block entities from direct layer constants, pptest scenes registered once with settle-tick and resolution tables and put() for all blocks, jdk detection and full error log in the dump script, pptest jar rebuilt instead of updated, gradle task printing the tool classpath, comments trimmed

This commit is contained in:
MineTec committed 2026-11-05 03:24:30 +01:00
1 parent b242adb6d2
commit 02e052787c
11 files changed
+1449 -1686

No files matched your search

+7 -6
View File
@@ -1,18 +1,19 @@
#!/usr/bin/env bash
# Builds the edge-case test plugin (PPTest.jar) against the compiled PixelPics classes.
# Usage: ./gradlew compileJava && tools/edgecase-plugin/build.sh <compile-classpath> [out.jar]
# (classpath = paper-api + its deps, e.g. the Gradle compileClasspath joined with ":")
# Then drop the jar into the TEST server's plugins/ (never production), start the server and run
# `pptest all` (or `pptest <scene>`) in its console; renders land in plugins/PPTest/<scene>.png.
# Scenes are built at world (5000 + i*64, 200, 5000) on stone platforms; see PPTest#onEnable.
# Usage: ./gradlew compileJava && tools/edgecase-plugin/build.sh [compile-classpath] [out.jar]
# classpath default: ./gradlew -q printCompileClasspath; JAVAC must be a JDK >= 25 (default: javac).
# Drop the jar into the TEST server's plugins/ (never production), start the server and run `pptest all`
# (or `pptest <scene>...`) in its console; renders land in plugins/PPTest/<scene>.png.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
API="${1:?compile classpath (paper-api + deps)}"
API="${1:-$(cd "$ROOT" && ./gradlew -q printCompileClasspath)}"
OUT="${2:-$ROOT/build/PPTest.jar}"
JAVAC="${JAVAC:-javac}"
TMP="$(mktemp -d)"
trap 'rm -rf "$TMP"' EXIT
"$JAVAC" -nowarn -d "$TMP" -cp "$ROOT/build/classes/java/main:$API" "$ROOT/tools/edgecase-plugin/pptest/PPTest.java"
cp "$ROOT/tools/edgecase-plugin/plugin.yml" "$TMP/"
mkdir -p "$(dirname "$OUT")"
rm -f "$OUT" # zip would update an existing jar and keep stale classes
(cd "$TMP" && zip -q -r "$OUT" .)
echo "Wrote $OUT"
File diff suppressed because it is too large. Load diff