Skip to content

Paper 1.21.9+ join spawn, Java 21 build, English and Brazilian translations#291

Open
cl3i550n wants to merge 6 commits intoHaHaWTH:masterfrom
cl3i550n:develop
Open

Paper 1.21.9+ join spawn, Java 21 build, English and Brazilian translations#291
cl3i550n wants to merge 6 commits intoHaHaWTH:masterfrom
cl3i550n:develop

Conversation

@cl3i550n
Copy link

Summary

This PR modernizes the build for current Paper/Spigot APIs, adds Paper-specific handling for async player spawn location (replacing deprecated Spigot-only paths where appropriate), and completes Portuguese (Brazil) help strings for /authme help so messagesLanguage: br does not fall back to English command descriptions.

Motivation

  • Paper 1.21.9+ deprecates/removes reliance on PlayerSpawnLocationEvent for configuration-phase spawn logic; AsyncPlayerSpawnLocationEvent is the supported hook.
  • Recent paper-api artifacts target Java 21 bytecode; compiling the project on Java 17 fails with wrong class file version or missing Paper packages when those APIs are referenced.
  • help_br.yml only defined authme.register; all other /authme subcommands used in-code English descriptions, producing mixed-language help output.

Changes

Build & dependencies

  • Set java.source / java.target / java.apiVersion and enforcer java.compiler.minimumVersion to 21.
  • Add io.papermc.paper:paper-api (provided) and the Paper Maven repository (repo.papermc.io).
  • Bump spigot-api version property to 1.21.11-R0.1-SNAPSHOT (aligned with the Paper API line used for compile).

Runtime / Paper

  • Register PlayerListenerPaperAsyncSpawn when AsyncPlayerSpawnLocationEvent is available at runtime; otherwise keep the existing Spigot-oriented listener path.
  • TeleportationService: support preparing join spawn using player name + vanilla spawn Location (for phases where a full Player entity is not safe to use).
  • Related adjustments in SpawnLoader, PlayerListener19Spigot, and AuthMe listener registration.

Internationalization

  • Expand src/main/resources/messages/help_br.yml with full commands.authme.* entries (short/long descriptions and arguments) so Brazilian help is consistent for all admin subcommands.

Miscellaneous fixes (from fork hardening)

  • ForceLoginCommand: inject CommonService where required for messaging.
  • Debug / limbo tooling: fix generics usage (DebugSectionUtils, LimboPlayerViewer, etc.) where the compiler rejected raw types.
  • HasPermissionChecker / PlayerAuthViewer: use String.valueOf(...) for enum-based debug strings where needed.

pom.xml metadata

  • url, scm, issueManagement, and ciManagement point to the canonical AuthMe/AuthMeReloaded project and CodeMC Jenkins (upstream-style).
  • Short comment clarifying that the Maven build does not overwrite existing server plugins/AuthMe/messages/*.yml files.

Testing

  • mvn -q clean package -DskipTests (or full test suite) succeeds with JDK 21.
  • Paper 1.21.9+: join spawn / AuthMe spawn teleport behaviour unchanged vs expected (including custom spawn).
  • Spigot (no Paper): plugin still loads; spawn listener path falls back correctly.

Upgrade notes

  • Developers and CI must use JDK 21 to compile this branch.
  • paper-api remains provided: the plugin JAR does not bundle Paper; only servers that ship Paper (or compatible) get the async spawn listener.

- Bumped Spigot version to 1.21.11-R0.1-SNAPSHOT for compatibility with Paper API.
- Added Paper API repository and dependency for AsyncPlayerSpawnLocationEvent.
- Refactored command responses to use a centralized messaging service for consistency and clarity.
- Enhanced various command implementations to provide better feedback to users, including error messages and success confirmations.
- Changed project URL and SCM connections to reflect the new repository location.
- Updated CI management to use GitHub Actions instead of Jenkins.
- Downgraded Java version from 21 to 17 for compatibility.
- Adjusted Spigot dependency version to 1.21.1-R0.1-SNAPSHOT.
- Removed unused Paper API repository and dependency.
- Upgraded Java source and target versions from 17 to 21 for improved compatibility.
- Updated Spigot dependency version to 1.21.11-R0.1-SNAPSHOT.
- Added Paper API repository and dependency for AsyncPlayerSpawnLocationEvent support.
- Added detailed descriptions and arguments for various AuthMe commands in the help_br.yml file.
- Improved structure and clarity of command help texts to better assist users in understanding available functionalities.
- Changed project URL and SCM connections to point to the new AuthMe repository.
- Updated CI management system from GitHub Actions to Jenkins.
- Adjusted issue management URL to reflect the new repository location.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant