FeatherMC/src/protocol/protocol.hjson

235 lines
5.5 KiB
Plaintext

{
types :
{
aliases :
{
ProtocolState : varint
}
primitives :
{
varint : int32_t
string : std::string
uuid : MinecraftUUID
position: BlockPos
uint64 : uint64_t
int64 : int64_t
uint32 : uint32_t
int32 : int32_t
uint16 : uint16_t
int16 : int16_t
uint8 : uint8_t
int8 : int8_t
byte : uint8_t
bool : uint8_t
}
}
states :
{
Handholding : -1
Play : 0
Status : 1
Login : 2
}
messages :
{
handholding :
{
serverbound :
{
Handshake :
{
id : 0
vars :
{
protocolVersion : varint
serverIP : string[255]
port : uint16
intention : ProtocolState
}
}
}
}
status :
{
clientbound :
{
Response :
{
id : 0
vars :
{
jsonResponse : string[32767]
}
}
Pong :
{
id : 1
vars :
{
timestamp : uint64
}
}
}
serverbound :
{
Request :
{
id : 0
vars :
{
}
}
Ping :
{
id : 1
vars :
{
timestamp : uint64
}
}
}
}
login :
{
clientbound :
{
Disconnect :
{
id : 0
vars :
{
reason : string[32767]
}
}
Success :
{
id : 2
vars :
{
uuid : string[32]
username : string[16]
}
}
}
serverbound :
{
Start :
{
id : 0
vars :
{
username : string[16]
}
}
}
}
play :
{
serverbound:
{
ChatMessage:
{
id : 0x03
vars :
{
message : string[256]
}
}
KeepAlive:
{
id : 0x0F
vars :
{
id : int64
}
}
}
clientbound :
{
ChatMessage:
{
id : 0x0F
vars :
{
jsonData : string[32767]
position : uint8
}
}
JoinGame :
{
id : 38
vars :
{
entityId : int32
gamemode : uint8
dimension : int32
seedHash : uint64
maxPlayers : uint8
levelType : string[16]
viewDistance : varint
reducedDebugInfo : bool
enableRespawnScreen : bool
}
}
KeepAlive:
{
id: 0x21
vars: {
id: int64
}
}
PlayerPositionAndLook:
{
id: 0x36
enums: {
RelativeFlags: {
X: 1,
Y: 2,
Z: 4,
Y_ROT: 8,
X_ROT: 16,
}
}
aliases: {
RelativeFlags: byte
}
vars: {
x: double
y: double
z: double
// xRot is yaw, yRot is pitch
xRot: float
yRot: float
flags: RelativeFlags
id: varint
}
}
SpawnPosition:
{
id: 0x4E
vars: {
location: position
}
}
}
}
}
}