Optimize API/Events for TabList

Open
#870 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
java
Domain
api, backend

Research direction

The issue points to VelocityTabList#processBackendPacket; start there and trace how backend tab-list changes and player-list keys become outgoing packets. Define the event/API behavior for modifying or suppressing tab-list updates, including public-key replacement, and verify that the outgoing package reflects those changes.

Written by the indexing model from the issue text.

Description

type: feature
API Changes

Currently the changes from the backend servers are passed to the client without any event or api to interrupt/change stuff.
E.g. it's not possible to change the display name without hacks. It would be nice to have an event to modify the added or changed tablist item and to prevent the proxy from sending those changes.

Another reason to change stuff there

Currently modifications at the player list will not affect the sent package. This may be a problem:
In VelocityTabList#processBackendPacket the key should be replaced by the public key when no key is present from the backend server. I don't know how this should happen but with the current implementation the key of the player will only be replaced on the server, the package is sent without any modification.

Dominant language
Java
Stars
2.3k
Forks
960
Avg merge
5d 10h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PaperMC/Velocity

All issues in PaperMC/Velocity

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.