implement player poses (sneak/sprint)

* Added sending player metadata with poses to everyone

* Renamed sendPlayerMetadataToAll to broadcastPlayerMetadata

* Made entity metadata system flexible

* Made broadcastPlayerMetadata create new metadata instead of using a global one

* Moved writeEntityData, sizeEntityData and sizeEntityMetadata to procedures

* style nitpicks

---------

Co-authored-by: p2r3 <p2r3@p2r3.com>
This commit is contained in:
SDFTDusername
2025-09-15 21:01:22 +02:00
committed by GitHub
parent e5dfe53d14
commit c5e8408052
6 changed files with 131 additions and 1 deletions

View File

@@ -20,6 +20,8 @@ void disconnectClient (int *client_fd, int cause);
int givePlayerItem (PlayerData *player, uint16_t item, uint8_t count);
void spawnPlayer (PlayerData *player);
void broadcastPlayerMetadata (PlayerData *player);
uint8_t serverSlotToClientSlot (int window_id, uint8_t slot);
uint8_t clientSlotToServerSlot (int window_id, uint8_t slot);
@@ -47,4 +49,9 @@ void handleServerTick (int64_t time_since_last_tick);
void broadcastChestUpdate (int origin_fd, uint8_t *storage_ptr, uint16_t item, uint8_t count, uint8_t slot);
ssize_t writeEntityData (int client_fd, EntityData *data);
int sizeEntityData (EntityData *data);
int sizeEntityMetadata (EntityData *metadata, size_t length);
#endif