-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Feature description
Recently, Minecraft introduced dialogs that can be presented to players during both the play and configuration phases. BungeeCord already provides a solid API for this, but it lacks an event that would allow sending dialogs during the configuration phase and waiting until a plugin has finished handling them.
I propose introducing a new asynchronous event called ConfigurationEvent, which would take only a ProxiedPlayer object. This event would be triggered when a player enters the configuration phase, and the proxy would pause further processing of that player until all plugins complete their logic. Because this event is asynchronous, plugins can handle interactions with dialogs via CustomClickEvent before the player connects to a backend server.
An example of such an event can be found in Velocity: PlayerConfigurationEvent: https://jd.papermc.io/velocity/3.4.0/com/velocitypowered/api/event/player/configuration/PlayerConfigurationEvent.html
Goal of the feature
Add the ability to send dialogs and handle interactions with them during the configuration phase of a player’s connection. This would make it possible to gather information from the player before they connect to a backend server.
Unfitting alternatives
I tried using ServerSwitchEvent, since during this event the player is still in the configuration phase, but there's one big problem. If I send a dialog at this point, it disappears immediately, and there's no reliable way to wait for interactions from CustomClickEvent.
Checking
- This is not a question or plugin creation help request.
- This is a feature or improvement request.
- I have not read these checkboxes and therefore I just ticked them all.
- I did not use this form to report a bug.