Add PlayerConfigurationResourcePackEvent to apply resource packs during configuration#992
Merged
Merged
Conversation
R00tB33rMan
approved these changes
Jul 2, 2026
R00tB33rMan
left a comment
Member
There was a problem hiding this comment.
I’ll test this later but LGTM from my POV
WouterGritter
added a commit
that referenced
this pull request
Jul 8, 2026
…so slow clients no longer time it out Builds upon #992
WouterGritter
added a commit
that referenced
this pull request
Jul 9, 2026
#1002) * Advance the backend to PLAY during configuration resource-pack holds so slow clients no longer time it out Builds upon #992 * Default `RESOURCE_PACK_HOLD_CAP_SECONDS` to 60 seconds and read it from a system property (`velocity-ctd.resource-pack-hold-cap-seconds`) * Add `velocity-ctd.split-phase-delay-seconds` system property and advance the client to PLAY immediately (no hold in CONFIG) when 0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduces
PlayerConfigurationResourcePackEvent, allowing plugins to apply resource packs while a player is still in the configuration state, before they enter play.When it fires
The event is fired on every (re)configuration of a player:
event.isFirstJoin() == true) - e.g. for network-wide packs.event.isFirstJoin() == false) - e.g. for per-server packs.If a plugin sets a pack via
event.setResourcePack(...), the player is held in configuration until every pack reaches a terminal status:velocity.error.resource-pack-configuration-timeout).While holding, the proxy sends keepalives to the client itself (backends don't send keepalives after finishing configuration on their end).
Example