Skip to content

Platform support: Folia and Purpur lanes (ArcLight/hybrids as stretch) #103

Description

@PimvanderLoos

Goal

Extend LightKeeper beyond Paper + Spigot with first-class test lanes for:

  1. Folia — required to e2e-test plugins adding Folia support (AnimatedArchitecture wants this natively, soon).
  2. Purpur — Paper derivative; expected to be near-free once the provisioner accepts alternative jar sources.
  3. (Stretch, lower tier) ArcLight and similar hybrid/amalgamation servers.

Known work areas

  • Provisioner/maven-plugin: jar acquisition + caching per platform (Folia/Purpur download APIs), platform-specific default configs, and lane wiring in lightkeeper-integration-tests (today: integration-paper + integration-spigot).
  • Agent: AgentPlatformDetector needs Folia/Purpur signals; AgentMainThreadExecutor is built on BukkitScheduler#callSyncMethod, which does not exist on Folia — needs a region-scheduler-aware executor (this is the big one; "main thread" is not a single thread on Folia).
  • Bot login driver: verify the reflective surface against Folia's jar (it tracks Paper mappings, so the SPLIT/SHARED class-name table should mostly hold — must be re-verified per the S6 surface-check methodology, .claude-documented in the AA repo).
  • Event capture: Folia fires events on region threads; the capture listener and tick-stamp counter assumptions need auditing.
  • Keep the fail-loud discipline: unsupported platform should be a clear provisioning error until a lane is genuinely supported.

Notes

  • Purpur first (cheap), Folia second (the real work), hybrids only if demand materializes.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions