-
Notifications
You must be signed in to change notification settings - Fork 0
Developer Guide
Welcome to the PixelRTPPool developer documentation. If you intend to fork, contribute, or write an addon for this plugin, this guide covers the core expectations.
The project relies entirely on Maven for dependency management and lifecycle builds.
Command:
mvn clean packageNote: We utilize the maven-shade-plugin to shade bStats into the final jar. The compiled output will be PixelRTPPool-1.0.0.jar in the target/ directory.
me.pixel.rtppool
βββ combat # Combat tagger hooks and providers
βββ commands # Command executors
βββ config # YAML parsing and data modeling
βββ hooks # Soft-depend external hooks (e.g., PlaceholderAPI)
βββ listeners # Bukkit event listeners
βββ manager # Central logic controllers (RTP, Cooldown, Countdown)
βββ model # Immutable data classes (e.g., RTPRegion)
βββ region # WorldGuard SessionHandlers
βββ tasks # BukkitRunnables
βββ teleport # Execution providers (PLAYER vs CONSOLE)
βββ util # Static utilities (Colors, Particles, Sounds)
- Java 21 Required: The project is compiled targeting JDK 21. Ensure your IDE is properly configured.
-
Paper API Only: We use the
paper-apidependency. Do not use Spigot-exclusive API methods. Use Adventure API (MiniMessage) exclusively for text formatting; legacyChatColoris strictly prohibited. - SRP (Single Responsibility Principle): Managers manage. Listeners listen. Do not write monolithic classes.
-
UUIDs Over Players: Never store
org.bukkit.entity.Playerin HashMaps or Lists.
If you wish to add a native integration for an external plugin (e.g., BetterRTP API instead of executing commands):
- Create a class implementing
TeleportProvider. - Implement the
teleport(Player player, String commandTemplate)method. - Hook it inside
TeleportManager#setupProvider().
If you wish to integrate a combat tagger (e.g., CombatLogX):
- Create a class implementing
CombatProvider. - Implement
boolean isInCombat(Player player). - Hook it inside
CombatManagerduring plugin initialization.
This project strictly adheres to Semantic Versioning.
-
MAJORversion for incompatible API/Config changes. -
MINORversion for adding functionality in a backwards compatible manner. -
PATCHversion for backwards compatible bug fixes.
Lightweight β’ High Performance β’ Production Ready
Version: 1.0.0 β’ Minecraft: Paper 1.21.11 β’ Java: 21
Made with β€οΈ by PG
Β© 2026 Pixel Productions
π Home β’ βοΈ Configuration β’ π Commands β’ π‘οΈ Permissions β’ β FAQ β’ π οΈ Developer Guide
Licensed under the MIT License
Welcome to the official documentation for PixelRTPPool.
- GitHub Repository: https://github.com/PGGAMER9911/PixelRtpPool
- Modrinth: (Update after release)
- License: MIT