Classic Protocol Extension/Old Extensions

From wiki.vg
< Classic Protocol Extension
Revision as of 16:30, 6 October 2014 by F (talk | contribs) (Created page with "The extensions on this page have been deprecated or replaced. ===ExtPlayerList=== ====Version 1 (Deprecated since 28 August 2014)==== :<h5>Client Behavior</h5> :When '''''Ext...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The extensions on this page have been deprecated or replaced.

ExtPlayerList

Version 1 (Deprecated since 28 August 2014)

Client Behavior
When ExtAddPlayerName packet is received for an unrecognized NameID, a new entry must be added to the autocompletion list and tab-list. When receiving ExtAddPlayerName packet for an already-listed NameID, client must update its ListName, GroupName, and GroupRank. Name list must persist when client changes worlds/maps.
Names on the tab-list should be grouped by GroupName in the player tab-list. Names within a GroupName should be sorted by GroupRank (in ascending order). Names with the same GroupName and GroupRank should be sorted alphabetically by ListName.
When an ExtAddEntity packet is received, it must be treated as the SpawnPlayer packet. InGameName should be shown above the player's heads in-game. Skin should be loaded using the given SkinName for a player name. When client receives ExtAddEntity packet for an already-spawned player, a duplicate entity must not be spawned and existing entity's position should not be changed. Instead their InGameName and SkinName should be updated. If a negative ID is given for ExtAddEntity, client must update player's own spawn point, InGameName, and SkinName. The client must ignore regular SpawnPlayer packets, if any are received. Name list should not be affected by ExtAddEntity.
Color codes may be either drawn or stripped from ListName, GroupName, and InGameName.
When a standard DespawnPlayer packet is received for a recognized EntityID, player model should be removed from a world. Name list should not be affected by DespawnPlayer.
When ExtRemovePlayerName packet is received for a recognized NameID, they should be removed from autocompletion list and tab-list. When DespawnPlayer or ExtRemovePlayerName packet is received for a negative or unrecognized PlayerID, no action should be taken.
Server Behavior
When a new player connects to the server, ExtAddPlayerName must be sent. GroupName and GroupRank can be used in any way, for example to group players by map/world or rank/class/faction. Server must use ExtAddEntity in place of standard SpawnPlayer packet. Server should re-send ExtAddPlayerName packet, using the identical PlayerID, when player's ListName, GroupName, or GroupRank change. Server must reliably send an ExtRemovePlayerName when the player disconnects. Color codes are permitted in ListName, GroupName, and InGameName.
ExtAddPlayerName Packet
Server to Client
Packet ID Field Name Field Type Example Notes
0x16

(22)

NameID short 5 Between 0 and 255
PlayerName string Notch Player name used for autocompletion.

May be left empty (exclude from autocompletion).

ListName string &c[Op]Notch Name displayed in the in-game list.
GroupName string Staff
GroupRank byte 0 Rank of a player within the group.

A lower number means higher rank.

Total Size: 196 bytes
ExtAddEntity Packet
Server to Client
Packet ID Field Name Field Type Example Notes
0x17

(23)

EntityID byte 5 Between 0 and 127
InGameName string &cNotch Player name to be shown in-game, hovering above player model.
SkinName string Notch Player name whose skin should be used by the client.
Total Size: 130 bytes
ExtRemovePlayerName Packet
Server to Client
Packet ID Field Name Field Type Example Notes
0x18

(24)

NameID short 5 Between 0 and 255

Matches NameID of the ExtAddPlayerName packet

Total Size: 3 bytes