Skip to content

[TODO] Platform sync'd data #61

Description

@Cubicake

Currently, the following issues exist:

  • Entities are only checked at one position 0.5 blocks above the bottom of their hitbox. For large entities (including just 2-block tall entities such as players), this means that most of the entity can be visible but the raycast can fail.
  • While offsets to check the corners of entities can be added, entities can change in size via attributes.
  • Many users want players only to be hidden if they are sneaking, so that name tags still show presence through walls
  • A specific user wants glowing entities to always be visible

Proposed solution: Core exposes API to update certain data fields on entities which are fed by the platform. On Paper, the player sneak event and effect event among others can be used to feed data to Core. On Velocity, a paper bridge plugin can be used, and this platform data can be supplied via plugin messages. I imagine Sponge will have events similar to Paper. I have no clue if/how this will look on a fabric server.

Note that this entity updating would have to be global, not per player. Therefore, the Core API would have to keep track of state independently.

Alternatives: All of this data can be decoded from clientbound packets, but that significantly increases the surface area of affected packets, which will take development time and increases the chances of cross-version breakage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions