Skip to content

Configuration phase support for Velocity#124

Merged
SamB440 merged 4 commits into
SamB440:masterfrom
fishwob:feature/configuration-phase-velocity
Jun 25, 2026
Merged

Configuration phase support for Velocity#124
SamB440 merged 4 commits into
SamB440:masterfrom
fishwob:feature/configuration-phase-velocity

Conversation

@fishwob

@fishwob fishwob commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

PR for #74

// Declined/failed is valid and should be allowed, server owner decides whether they get kicked
if (status != PlayerResourcePackStatusEvent.Status.ACCEPTED && status != PlayerResourcePackStatusEvent.Status.DOWNLOADED && !kick) {
plugin.log("Sent player '%s' plugin message downstream to '%s' for status '%s'", player.getUsername(), currentServer.get().getServerInfo().getName(), status.name());
plugin.log("Sent player '%s' plugin message downstream to '%s' for status '%s'", player.getUsername(), currentServer.getServerInfo().getName(), status.name());

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is broken when using configuration phase (sendPluginMessage).

We need to somehow update the Paper and Sponge submodules to listen to this channel on configuration phase.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will work on refactoring the event handling and push to this PR

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not possible to support configuration stage status events. Paper doesn't even have an event for configuration resource pack statuses and player object doesn't exist during config phase.

@SamB440 SamB440 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have tested on both Paper and Sponge behind a velocity proxy and it now works as expected.

The caveat on Paper is that they don't support checking permissions in configuration stage, nor do they support calling the resource pack event in configuration phase. Therefore, no event will be called, and the workaround is that we remove the player from waiting list on join if they have bypass permission.

@SamB440 SamB440 merged commit f52d42d into SamB440:master Jun 25, 2026
1 check passed
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.

2 participants