Profile event handlers are not being called
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 12.7k
- Forks
- 3.5k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 11
Description
Expected behavior
Event handlers for events in the com.destroystokyo.paper.event.profile package should be called whenever a client attempts to connect to the server.
Observed/Actual behavior
ProfileWhitelistVerifyEvent event is handled (aside from the expected case of an offline client), but FillProfileEvent, LookupProfileEvent, PreFillProfileEvent or PreLookupProfileEvent are never handled.
Steps/models to reproduce
Create a new plugin called "LookupTest".
paper.yml:
name: LookupTest
version: @version@
main: com.kwvanderlinde.lookuptest.LookupTest
api-version: 1.16
LookupTest.java:
package com.kwvanderlinde.lookuptest;
import org.bukkit.plugin.java.JavaPlugin;
public final class LookupTest extends JavaPlugin {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(new Listener(getServer()), this);
}
@Override
public void onDisable() {
}
}
Listener.java:
package com.kwvanderlinde.lookuptest;
import com.destroystokyo.paper.event.profile.*;
import org.bukkit.Server;
import org.bukkit.event.EventHandler;
public class Listener implements org.bukkit.event.Listener {
private final Server server;
Listener(Server server) {
this.server = server;
}
@EventHandler
public void onPreLookupProfileEvent(PreLookupProfileEvent event) {
server.getLogger().warning("PreLookupProfileEvent");
}
@EventHandler
public void onLookupProfileEvent(LookupProfileEvent event) {
server.getLogger().warning("LookupProfileEvent");
}
@EventHandler
public void onFillProfileEvent(FillProfileEvent event) {
server.getLogger().warning("FillProfileEvent");
}
@EventHandler
public void onPreFillProfileEvent(PreFillProfileEvent event) {
server.getLogger().warning("PreFillProfileEvent");
}
@EventHandler
public void onProfileWhitelistVerifyEvent(ProfileWhitelistVerifyEvent event) {
server.getLogger().warning("ProfileWhitelistVerifyEvent");
}
}
Add the plugin to a fresh server folder:
> find . -type f
./server-1.16.1.jar
./plugins/LookupTest-1.0-SNAPSHOT.jar
Start the server.
Now connect with a client (online and offline) and see which events get logged.
Plugin and Datapack List
None beyond the LookupTest plugin
Paper version
This server is running Paper version 1.21.11-117-main@79c77f5 (2026-02-20T00:03:51Z) (Implementing API version 1.21.11-R0.1-SNAPSHOT)
Other
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the server-side dispatch paths for the profile events named in the report, then reproduce the issue with the provided LookupTest plugin on a fresh server. Done means FillProfileEvent, LookupProfileEvent, PreFillProfileEvent, and PreLookupProfileEvent are called during client connection attempts while the existing whitelist behavior remains intact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100