Bug Report
Description
PAPIProxyBridge (Bukkit side) fails to register its placeholder expansion with
PlaceholderAPI on Purpur 1.21.1. The plugin loads and enables successfully, but
PlaceholderAPI reports 0 hooks registered and all placeholders return their literal
string (e.g. %papiproxybridge_server_online_smp1%) instead of a value.
Environment
- Server software: Purpur 1.21.1
- PAPIProxyBridge version: 1.8.4 (Bukkit) + 1.8.4 (Velocity)
- PlaceholderAPI version: tested on both 2.12.2 and 2.11.6 — same result on both
- Proxy: Velocity 3.5.0
- Java version: (add yours here — check with java -version)
What happens
PAPIProxyBridge enables before PlaceholderAPI finishes its expansion registration
phase. By the time PAPI runs "Placeholder expansion registration initializing...",
PAPIProxyBridge has already attempted to register and the registration is lost.
Server startup log showing the load order
[15:11:25] [PlaceholderAPI] Enabling PlaceholderAPI v2.11.6
[15:11:27] [PAPIProxyBridge] Enabling PAPIProxyBridge v1.8.4
[15:11:27] [PAPIProxyBridge] Loaded messenger PLUGIN_MESSAGE
[15:11:27] [PAPIProxyBridge] PAPIProxyBridge (Purpur unspecified) has been enabled!
[15:11:28] [PlaceholderAPI] Placeholder expansion registration initializing...
[15:11:28] 0 placeholder hook(s) registered!
Steps to reproduce
- Install Purpur 1.21.1
- Install PlaceholderAPI 2.11.6 or 2.12.2
- Install PAPIProxyBridge 1.8.4 (Bukkit)
- Install PAPIProxyBridge 1.8.4 on Velocity proxy
- Start the server and connect through the proxy
- Run /papi list — shows no expansions
- Run /papi parse me %papiproxybridge_server_online_% — returns literal placeholder
Expected behavior
The papiproxybridge expansion appears in /papi list and placeholders resolve correctly.
Additional notes
The issue appears to be that Purpur's plugin loader fires PlaceholderAPI's expansion
registration event after all plugins have finished enabling, meaning PAPIProxyBridge's
self-registration during onEnable() is wiped out. This does not appear to affect
standard Spigot/Paper in the same way.
Bug Report
Description
PAPIProxyBridge (Bukkit side) fails to register its placeholder expansion with
PlaceholderAPI on Purpur 1.21.1. The plugin loads and enables successfully, but
PlaceholderAPI reports 0 hooks registered and all placeholders return their literal
string (e.g. %papiproxybridge_server_online_smp1%) instead of a value.
Environment
What happens
PAPIProxyBridge enables before PlaceholderAPI finishes its expansion registration
phase. By the time PAPI runs "Placeholder expansion registration initializing...",
PAPIProxyBridge has already attempted to register and the registration is lost.
Server startup log showing the load order
[15:11:25] [PlaceholderAPI] Enabling PlaceholderAPI v2.11.6
[15:11:27] [PAPIProxyBridge] Enabling PAPIProxyBridge v1.8.4
[15:11:27] [PAPIProxyBridge] Loaded messenger PLUGIN_MESSAGE
[15:11:27] [PAPIProxyBridge] PAPIProxyBridge (Purpur unspecified) has been enabled!
[15:11:28] [PlaceholderAPI] Placeholder expansion registration initializing...
[15:11:28] 0 placeholder hook(s) registered!
Steps to reproduce
Expected behavior
The papiproxybridge expansion appears in /papi list and placeholders resolve correctly.
Additional notes
The issue appears to be that Purpur's plugin loader fires PlaceholderAPI's expansion
registration event after all plugins have finished enabling, meaning PAPIProxyBridge's
self-registration during onEnable() is wiped out. This does not appear to affect
standard Spigot/Paper in the same way.