RED: the new 26.3 distribution assertion failed against the old 26.2/build-2618 pins.
Native RED: clean 26.3 compilation exposed WORLDGEN → WORLD and the reloadable recipe registry; the adapted run then exposed the client position/rotation read used by native teleport.
GREEN: ./gradlew clean check jar passed on the final committed tree with 201 tests: 123 ordinary and 78 native, with no failures, errors, or skips.
Native coverage includes advancement masking, Dagger crafting and movement, plugin lifecycle, ProtocolLib-backed behavior, and binary state persistence.
Packaged JAR inspection found 75 Java 25 plugin classes and no Purpur/Bukkit/server implementation, ProtocolLib, JUnit, Mockito, or test payload.
The feat(ignis) commit is expected to produce the next semantic minor release from the exact merged source after required checks and merge.
Non-goals
No GitOps, deployment, live-server operation, dependency-version change, workflow/tooling change, or cross-plugin compatibility work is included.
## Summary
- target Purpur API/runtime 26.3 build 2651 with the approved checksum
- retain Java 25, the deliberate `plugin.yml` API floor `1.21`, and ProtocolLib 5.4.0
- adapt only native verification fixtures for the 26.3 registry, recipe-index, and client-position APIs
- preserve production gameplay code, runtime identity, commands, permissions, persistent state, cancellation behavior, and unrelated state
- document and enforce the exact supported build
## Story
- OpenProject #410: https://project.dmg.games/work_packages/410
## RED / GREEN evidence
- RED: the new 26.3 distribution assertion failed against the old 26.2/build-2618 pins.
- Native RED: clean 26.3 compilation exposed `WORLDGEN` → `WORLD` and the reloadable recipe registry; the adapted run then exposed the client position/rotation read used by native teleport.
- GREEN: `./gradlew clean check jar` passed on the final committed tree with 201 tests: 123 ordinary and 78 native, with no failures, errors, or skips.
- Native coverage includes advancement masking, Dagger crafting and movement, plugin lifecycle, ProtocolLib-backed behavior, and binary state persistence.
- Packaged JAR inspection found 75 Java 25 plugin classes and no Purpur/Bukkit/server implementation, ProtocolLib, JUnit, Mockito, or test payload.
## Verified source
- Base: `6a4d0c530bb99e3f91171a57cdfc7b5092ce72e7`
- Head: `4bd6576bba09696a41638df80a481f54455d86bd`
- Tree: `9466a669f5446a67892bf50b920d9fc457e4a3f5`
- Full-suite log: `/tmp/ticket-410-final-tree-green.log`
## Release effect
The `feat(ignis)` commit is expected to produce the next semantic minor release from the exact merged source after required checks and merge.
## Non-goals
No GitOps, deployment, live-server operation, dependency-version change, workflow/tooling change, or cross-plugin compatibility work is included.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
plugin.ymlAPI floor1.21, and ProtocolLib 5.4.0Story
RED / GREEN evidence
WORLDGEN→WORLDand the reloadable recipe registry; the adapted run then exposed the client position/rotation read used by native teleport../gradlew clean check jarpassed on the final committed tree with 201 tests: 123 ordinary and 78 native, with no failures, errors, or skips.Verified source
6a4d0c530bb99e3f91171a57cdfc7b5092ce72e74bd6576bba09696a41638df80a481f54455d86bd9466a669f5446a67892bf50b920d9fc457e4a3f5/tmp/ticket-410-final-tree-green.logRelease effect
The
feat(ignis)commit is expected to produce the next semantic minor release from the exact merged source after required checks and merge.Non-goals
No GitOps, deployment, live-server operation, dependency-version change, workflow/tooling change, or cross-plugin compatibility work is included.