Merge branch 'main' of github.com:alemidev/aiocraft

This commit is contained in:
əlemi 2022-01-06 19:07:09 +01:00
commit 173c2891c2
193 changed files with 3321 additions and 1572 deletions

View file

@ -77,6 +77,38 @@ class Gamemode(Enum):
ADVENTURE = 2
SPECTATOR = 3
class Enchantments(Enum):
PROTECTION = 0
FIRE_PROTECTION = 1
FEATHER_FALLING = 2
BLAST_PROTECTION = 3
PROJECTILE_PROTECTION = 4
RESPIRATION = 5
AQUA_AFFINITY = 6
THORNS = 7
DEPTH_STRIDER = 8
FROST_WALKER = 9
BINDING_CURSE = 10
SHARPNESS = 16
SMITE = 17
BANE_OF_ARTHROPODS = 18
KNOCKBACK = 19
FIRE_ASPECT = 20
LOOTING = 21
SWEEPING = 22
EFFICIENCY = 32
SILK_TOUCH = 33
UNBREAKING = 34
FORTUNE = 35
POWER = 48
PUNCH = 49
FLAME = 50
INFINITY = 51
LUCK_OF_THE_SEA = 61
LURE = 62
MENDING = 70
VANISHING_CURSE = 71
class ConnectionState(Enum):
NONE = -1
HANDSHAKING = 0

View file

@ -4,43 +4,41 @@ from .packet_set_protocol import PacketSetProtocol
from .packet_legacy_server_list_ping import PacketLegacyServerListPing
REGISTRY = {
304 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
201 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
47 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
498 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
315 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
107 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
755 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
477 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
757 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
327 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
351 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
1073741839 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
736 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
573 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
404 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
393 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
498 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
335 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
338 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
331 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
480 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
735 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
315 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
109 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
709 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
340 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
5 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
490 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
734 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
210 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
110 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
578 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
403 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
108 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
575 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
401 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
76 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
751 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
340 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
338 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
351 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
756 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
321 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
490 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
573 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
477 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
736 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
393 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
402 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
401 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing }
331 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
735 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
47 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
734 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
403 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
755 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
575 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
201 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
480 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
107 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
210 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
304 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
321 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
327 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
578 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
108 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
404 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
709 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
110 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
751 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing }
}

View file

@ -9,10 +9,16 @@ class PacketLegacyServerListPing(Packet):
payload : int
def __init__(self, proto:int,
payload:int=None
):
super().__init__(proto,
payload=payload
)
_state : int = 0
_ids : Dict[int, int] = {
5 : 254,
47 : 254,
76 : 254,
107 : 254,
@ -49,11 +55,9 @@ class PacketLegacyServerListPing(Packet):
751 : 254,
755 : 254,
756 : 254,
757 : 254,
1073741839 : 254
757 : 254
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'payload', Byte ) ],
47 : [ ( 'payload', Byte ) ],
76 : [ ( 'payload', Byte ) ],
107 : [ ( 'payload', Byte ) ],
@ -90,6 +94,5 @@ class PacketLegacyServerListPing(Packet):
751 : [ ( 'payload', Byte ) ],
755 : [ ( 'payload', Byte ) ],
756 : [ ( 'payload', Byte ) ],
757 : [ ( 'payload', Byte ) ],
1073741839 : [ ( 'payload', Byte ) ]
757 : [ ( 'payload', Byte ) ]
}

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import *
class PacketSetProtocol(Packet):
__slots__ = ( 'id', 'nextState', 'serverPort', 'protocolVersion', 'serverHost' )
__slots__ = ( 'id', 'nextState', 'protocolVersion', 'serverHost', 'serverPort' )
nextState : int
serverPort : int
protocolVersion : int
serverHost : str
serverPort : int
def __init__(self, proto:int,
nextState:int=None,
protocolVersion:int=None,
serverHost:str=None,
serverPort:int=None
):
super().__init__(proto,
nextState=nextState,
protocolVersion=protocolVersion,
serverHost=serverHost,
serverPort=serverPort
)
_state : int = 0
_ids : Dict[int, int] = {
5 : 0,
47 : 0,
76 : 0,
107 : 0,
@ -52,11 +64,9 @@ class PacketSetProtocol(Packet):
751 : 0,
755 : 0,
756 : 0,
757 : 0,
1073741839 : 0
757 : 0
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
47 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
76 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
107 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
@ -93,6 +103,5 @@ class PacketSetProtocol(Packet):
751 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
755 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
756 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
757 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
1073741839 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ]
757 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ]
}

View file

@ -7,43 +7,41 @@ from .packet_compress import PacketCompress
from .packet_login_plugin_request import PacketLoginPluginRequest
REGISTRY = {
304 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
201 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
47 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
498 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
315 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
107 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
755 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
477 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
757 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
327 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
351 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
1073741839 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
736 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
573 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
404 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
393 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
498 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
335 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
338 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
331 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
480 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
735 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
315 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
109 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
709 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
340 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
5 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess },
490 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
734 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
210 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
110 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
578 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
403 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
108 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
575 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
401 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
76 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
751 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
340 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
338 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
351 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
756 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
321 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
490 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
573 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
477 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
736 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
393 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
402 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
401 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest }
331 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
735 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
47 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
734 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
403 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
755 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
575 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
201 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
480 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
107 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
210 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
304 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
321 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
327 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
578 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
108 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
404 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
709 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
110 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
751 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest }
}

View file

@ -9,6 +9,13 @@ class PacketCompress(Packet):
threshold : int
def __init__(self, proto:int,
threshold:int=None
):
super().__init__(proto,
threshold=threshold
)
_state : int = 2
_ids : Dict[int, int] = {
@ -48,8 +55,7 @@ class PacketCompress(Packet):
751 : 3,
755 : 3,
756 : 3,
757 : 3,
1073741839 : 3
757 : 3
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
47 : [ ( 'threshold', VarInt ) ],
@ -88,6 +94,5 @@ class PacketCompress(Packet):
751 : [ ( 'threshold', VarInt ) ],
755 : [ ( 'threshold', VarInt ) ],
756 : [ ( 'threshold', VarInt ) ],
757 : [ ( 'threshold', VarInt ) ],
1073741839 : [ ( 'threshold', VarInt ) ]
757 : [ ( 'threshold', VarInt ) ]
}

View file

@ -9,10 +9,16 @@ class PacketDisconnect(Packet):
reason : str
def __init__(self, proto:int,
reason:str=None
):
super().__init__(proto,
reason=reason
)
_state : int = 2
_ids : Dict[int, int] = {
5 : 0,
47 : 0,
76 : 0,
107 : 0,
@ -49,11 +55,9 @@ class PacketDisconnect(Packet):
751 : 0,
755 : 0,
756 : 0,
757 : 0,
1073741839 : 0
757 : 0
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'reason', String ) ],
47 : [ ( 'reason', String ) ],
76 : [ ( 'reason', String ) ],
107 : [ ( 'reason', String ) ],
@ -90,6 +94,5 @@ class PacketDisconnect(Packet):
751 : [ ( 'reason', String ) ],
755 : [ ( 'reason', String ) ],
756 : [ ( 'reason', String ) ],
757 : [ ( 'reason', String ) ],
1073741839 : [ ( 'reason', String ) ]
757 : [ ( 'reason', String ) ]
}

View file

@ -11,10 +11,20 @@ class PacketEncryptionBegin(Packet):
serverId : str
verifyToken : bytes
def __init__(self, proto:int,
publicKey:bytes=None,
serverId:str=None,
verifyToken:bytes=None
):
super().__init__(proto,
publicKey=publicKey,
serverId=serverId,
verifyToken=verifyToken
)
_state : int = 2
_ids : Dict[int, int] = {
5 : 1,
47 : 1,
76 : 1,
107 : 1,
@ -51,11 +61,9 @@ class PacketEncryptionBegin(Packet):
751 : 1,
755 : 1,
756 : 1,
757 : 1,
1073741839 : 1
757 : 1
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
47 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
76 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
107 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
@ -92,6 +100,5 @@ class PacketEncryptionBegin(Packet):
751 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
755 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
756 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
757 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
1073741839 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ]
757 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ]
}

View file

@ -5,11 +5,22 @@ from ....packet import Packet
from ....types import *
class PacketLoginPluginRequest(Packet):
__slots__ = ( 'id', 'channel', 'messageId', 'data' )
__slots__ = ( 'id', 'channel', 'data', 'messageId' )
channel : str
messageId : int
data : bytes
messageId : int
def __init__(self, proto:int,
channel:str=None,
data:bytes=None,
messageId:int=None
):
super().__init__(proto,
channel=channel,
data=data,
messageId=messageId
)
_state : int = 2
@ -33,8 +44,7 @@ class PacketLoginPluginRequest(Packet):
751 : 4,
755 : 4,
756 : 4,
757 : 4,
1073741839 : 4
757 : 4
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
393 : [ ( 'messageId', VarInt ), ( 'channel', String ), ( 'data', TrailingData ) ],
@ -56,6 +66,5 @@ class PacketLoginPluginRequest(Packet):
751 : [ ( 'messageId', VarInt ), ( 'channel', String ), ( 'data', TrailingData ) ],
755 : [ ( 'messageId', VarInt ), ( 'channel', String ), ( 'data', TrailingData ) ],
756 : [ ( 'messageId', VarInt ), ( 'channel', String ), ( 'data', TrailingData ) ],
757 : [ ( 'messageId', VarInt ), ( 'channel', String ), ( 'data', TrailingData ) ],
1073741839 : [ ( 'messageId', VarInt ), ( 'channel', String ), ( 'data', TrailingData ) ]
757 : [ ( 'messageId', VarInt ), ( 'channel', String ), ( 'data', TrailingData ) ]
}

View file

@ -5,15 +5,23 @@ from ....packet import Packet
from ....types import *
class PacketSuccess(Packet):
__slots__ = ( 'id', 'uuid', 'username' )
__slots__ = ( 'id', 'username', 'uuid' )
uuid : str
username : str
uuid : str
def __init__(self, proto:int,
username:str=None,
uuid:str=None
):
super().__init__(proto,
username=username,
uuid=uuid
)
_state : int = 2
_ids : Dict[int, int] = {
5 : 2,
47 : 2,
76 : 2,
107 : 2,
@ -50,11 +58,9 @@ class PacketSuccess(Packet):
751 : 2,
755 : 2,
756 : 2,
757 : 2,
1073741839 : 2
757 : 2
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'uuid', String ), ( 'username', String ) ],
47 : [ ( 'uuid', String ), ( 'username', String ) ],
76 : [ ( 'uuid', String ), ( 'username', String ) ],
107 : [ ( 'uuid', String ), ( 'username', String ) ],
@ -91,6 +97,5 @@ class PacketSuccess(Packet):
751 : [ ( 'uuid', UUID ), ( 'username', String ) ],
755 : [ ( 'uuid', UUID ), ( 'username', String ) ],
756 : [ ( 'uuid', UUID ), ( 'username', String ) ],
757 : [ ( 'uuid', UUID ), ( 'username', String ) ],
1073741839 : [ ( 'uuid', UUID ), ( 'username', String ) ]
757 : [ ( 'uuid', UUID ), ( 'username', String ) ]
}

View file

@ -5,43 +5,41 @@ from .packet_encryption_begin import PacketEncryptionBegin
from .packet_login_plugin_response import PacketLoginPluginResponse
REGISTRY = {
304 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
201 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
47 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
498 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
315 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
107 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
755 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
477 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
757 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
327 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
351 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
1073741839 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
736 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
573 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
404 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
393 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
498 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
335 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
338 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
331 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
480 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
735 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
315 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
109 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
709 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
340 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
5 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
490 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
734 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
210 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
110 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
578 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
403 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
108 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
575 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
401 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
76 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
751 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
340 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
338 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
351 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
756 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
321 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
490 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
573 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
477 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
736 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
393 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
402 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
401 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse }
331 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
735 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
47 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
734 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
403 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
755 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
575 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
201 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
480 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
107 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
210 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
304 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
321 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
327 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
578 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
108 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
404 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
709 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
110 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
751 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse }
}

View file

@ -10,10 +10,18 @@ class PacketEncryptionBegin(Packet):
sharedSecret : bytes
verifyToken : bytes
def __init__(self, proto:int,
sharedSecret:bytes=None,
verifyToken:bytes=None
):
super().__init__(proto,
sharedSecret=sharedSecret,
verifyToken=verifyToken
)
_state : int = 2
_ids : Dict[int, int] = {
5 : 1,
47 : 1,
76 : 1,
107 : 1,
@ -50,11 +58,9 @@ class PacketEncryptionBegin(Packet):
751 : 1,
755 : 1,
756 : 1,
757 : 1,
1073741839 : 1
757 : 1
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
47 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
76 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
107 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
@ -91,6 +97,5 @@ class PacketEncryptionBegin(Packet):
751 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
755 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
756 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
757 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
1073741839 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ]
757 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ]
}

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import *
class PacketLoginPluginResponse(Packet):
__slots__ = ( 'id', 'messageId', 'data' )
__slots__ = ( 'id', 'data', 'messageId' )
messageId : int
data : tuple
messageId : int
def __init__(self, proto:int,
data:tuple=None,
messageId:int=None
):
super().__init__(proto,
data=data,
messageId=messageId
)
_state : int = 2
@ -32,8 +41,7 @@ class PacketLoginPluginResponse(Packet):
751 : 2,
755 : 2,
756 : 2,
757 : 2,
1073741839 : 2
757 : 2
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
393 : [ ( 'messageId', VarInt ), ( 'data', OptionalType(TrailingData, ) ) ],
@ -55,6 +63,5 @@ class PacketLoginPluginResponse(Packet):
751 : [ ( 'messageId', VarInt ), ( 'data', OptionalType(TrailingData, ) ) ],
755 : [ ( 'messageId', VarInt ), ( 'data', OptionalType(TrailingData, ) ) ],
756 : [ ( 'messageId', VarInt ), ( 'data', OptionalType(TrailingData, ) ) ],
757 : [ ( 'messageId', VarInt ), ( 'data', OptionalType(TrailingData, ) ) ],
1073741839 : [ ( 'messageId', VarInt ), ( 'data', OptionalType(TrailingData, ) ) ]
757 : [ ( 'messageId', VarInt ), ( 'data', OptionalType(TrailingData, ) ) ]
}

View file

@ -9,10 +9,16 @@ class PacketLoginStart(Packet):
username : str
def __init__(self, proto:int,
username:str=None
):
super().__init__(proto,
username=username
)
_state : int = 2
_ids : Dict[int, int] = {
5 : 0,
47 : 0,
76 : 0,
107 : 0,
@ -49,11 +55,9 @@ class PacketLoginStart(Packet):
751 : 0,
755 : 0,
756 : 0,
757 : 0,
1073741839 : 0
757 : 0
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'username', String ) ],
47 : [ ( 'username', String ) ],
76 : [ ( 'username', String ) ],
107 : [ ( 'username', String ) ],
@ -90,6 +94,5 @@ class PacketLoginStart(Packet):
751 : [ ( 'username', String ) ],
755 : [ ( 'username', String ) ],
756 : [ ( 'username', String ) ],
757 : [ ( 'username', String ) ],
1073741839 : [ ( 'username', String ) ]
757 : [ ( 'username', String ) ]
}

View file

@ -2,12 +2,12 @@
from .packet_spawn_entity import PacketSpawnEntity
from .packet_spawn_entity_experience_orb import PacketSpawnEntityExperienceOrb
from .packet_spawn_entity_weather import PacketSpawnEntityWeather
from .packet_spawn_entity_living import PacketSpawnEntityLiving
from .packet_spawn_entity_painting import PacketSpawnEntityPainting
from .packet_named_entity_spawn import PacketNamedEntitySpawn
from .packet_animation import PacketAnimation
from .packet_statistics import PacketStatistics
from .packet_advancements import PacketAdvancements
from .packet_block_break_animation import PacketBlockBreakAnimation
from .packet_tile_entity_data import PacketTileEntityData
from .packet_block_action import PacketBlockAction
@ -15,9 +15,11 @@ from .packet_block_change import PacketBlockChange
from .packet_boss_bar import PacketBossBar
from .packet_difficulty import PacketDifficulty
from .packet_tab_complete import PacketTabComplete
from .packet_declare_commands import PacketDeclareCommands
from .packet_face_player import PacketFacePlayer
from .packet_nbt_query_response import PacketNbtQueryResponse
from .packet_chat import PacketChat
from .packet_multi_block_change import PacketMultiBlockChange
from .packet_transaction import PacketTransaction
from .packet_close_window import PacketCloseWindow
from .packet_open_window import PacketOpenWindow
from .packet_window_items import PacketWindowItems
@ -31,31 +33,38 @@ from .packet_entity_status import PacketEntityStatus
from .packet_explosion import PacketExplosion
from .packet_unload_chunk import PacketUnloadChunk
from .packet_game_state_change import PacketGameStateChange
from .packet_open_horse_window import PacketOpenHorseWindow
from .packet_keep_alive import PacketKeepAlive
from .packet_map_chunk import PacketMapChunk
from .packet_world_event import PacketWorldEvent
from .packet_world_particles import PacketWorldParticles
from .packet_update_light import PacketUpdateLight
from .packet_login import PacketLogin
from .packet_map import PacketMap
from .packet_trade_list import PacketTradeList
from .packet_rel_entity_move import PacketRelEntityMove
from .packet_entity_move_look import PacketEntityMoveLook
from .packet_entity_look import PacketEntityLook
from .packet_entity import PacketEntity
from .packet_vehicle_move import PacketVehicleMove
from .packet_open_book import PacketOpenBook
from .packet_open_sign_entity import PacketOpenSignEntity
from .packet_craft_recipe_response import PacketCraftRecipeResponse
from .packet_abilities import PacketAbilities
from .packet_combat_event import PacketCombatEvent
from .packet_end_combat_event import PacketEndCombatEvent
from .packet_enter_combat_event import PacketEnterCombatEvent
from .packet_death_combat_event import PacketDeathCombatEvent
from .packet_player_info import PacketPlayerInfo
from .packet_position import PacketPosition
from .packet_bed import PacketBed
from .packet_unlock_recipes import PacketUnlockRecipes
from .packet_entity_destroy import PacketEntityDestroy
from .packet_remove_entity_effect import PacketRemoveEntityEffect
from .packet_resource_pack_send import PacketResourcePackSend
from .packet_respawn import PacketRespawn
from .packet_entity_head_rotation import PacketEntityHeadRotation
from .packet_world_border import PacketWorldBorder
from .packet_camera import PacketCamera
from .packet_held_item_slot import PacketHeldItemSlot
from .packet_update_view_position import PacketUpdateViewPosition
from .packet_update_view_distance import PacketUpdateViewDistance
from .packet_scoreboard_display_objective import PacketScoreboardDisplayObjective
from .packet_entity_metadata import PacketEntityMetadata
from .packet_attach_entity import PacketAttachEntity
@ -69,41 +78,18 @@ from .packet_teams import PacketTeams
from .packet_scoreboard_score import PacketScoreboardScore
from .packet_spawn_position import PacketSpawnPosition
from .packet_update_time import PacketUpdateTime
from .packet_title import PacketTitle
from .packet_entity_sound_effect import PacketEntitySoundEffect
from .packet_stop_sound import PacketStopSound
from .packet_sound_effect import PacketSoundEffect
from .packet_playerlist_header import PacketPlayerlistHeader
from .packet_collect import PacketCollect
from .packet_entity_teleport import PacketEntityTeleport
from .packet_entity_update_attributes import PacketEntityUpdateAttributes
from .packet_entity_effect import PacketEntityEffect
from .packet_update_attributes import PacketUpdateAttributes
from .packet_map_chunk_bulk import PacketMapChunkBulk
from .packet_update_sign import PacketUpdateSign
from .packet_scoreboard_team import PacketScoreboardTeam
from .packet_set_compression import PacketSetCompression
from .packet_update_entity_nbt import PacketUpdateEntityNbt
from .packet_advancements import PacketAdvancements
from .packet_declare_commands import PacketDeclareCommands
from .packet_face_player import PacketFacePlayer
from .packet_nbt_query_response import PacketNbtQueryResponse
from .packet_open_horse_window import PacketOpenHorseWindow
from .packet_update_light import PacketUpdateLight
from .packet_trade_list import PacketTradeList
from .packet_open_book import PacketOpenBook
from .packet_craft_recipe_response import PacketCraftRecipeResponse
from .packet_unlock_recipes import PacketUnlockRecipes
from .packet_update_view_position import PacketUpdateViewPosition
from .packet_update_view_distance import PacketUpdateViewDistance
from .packet_entity_sound_effect import PacketEntitySoundEffect
from .packet_stop_sound import PacketStopSound
from .packet_select_advancement_tab import PacketSelectAdvancementTab
from .packet_declare_recipes import PacketDeclareRecipes
from .packet_tags import PacketTags
from .packet_acknowledge_player_digging import PacketAcknowledgePlayerDigging
from .packet_end_combat_event import PacketEndCombatEvent
from .packet_enter_combat_event import PacketEnterCombatEvent
from .packet_death_combat_event import PacketDeathCombatEvent
from .packet_destroy_entity import PacketDestroyEntity
from .packet_sculk_vibration_signal import PacketSculkVibrationSignal
from .packet_clear_titles import PacketClearTitles
from .packet_initialize_world_border import PacketInitializeWorldBorder
@ -118,46 +104,58 @@ from .packet_set_title_subtitle import PacketSetTitleSubtitle
from .packet_set_title_text import PacketSetTitleText
from .packet_set_title_time import PacketSetTitleTime
from .packet_simulation_distance import PacketSimulationDistance
from .packet_spawn_entity_weather import PacketSpawnEntityWeather
from .packet_transaction import PacketTransaction
from .packet_entity import PacketEntity
from .packet_combat_event import PacketCombatEvent
from .packet_world_border import PacketWorldBorder
from .packet_title import PacketTitle
from .packet_bed import PacketBed
from .packet_update_sign import PacketUpdateSign
from .packet_update_attributes import PacketUpdateAttributes
from .packet_scoreboard_team import PacketScoreboardTeam
from .packet_set_compression import PacketSetCompression
from .packet_advancement_progress import PacketAdvancementProgress
from .packet_map_chunk_bulk import PacketMapChunkBulk
from .packet_update_entity_nbt import PacketUpdateEntityNbt
from .packet_destroy_entity import PacketDestroyEntity
REGISTRY = {
304 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 40:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 53:PacketWorldBorder, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 69:PacketTitle, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect },
201 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 40:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 53:PacketWorldBorder, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 69:PacketTitle, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect },
47 : { 14:PacketSpawnEntity, 17:PacketSpawnEntityExperienceOrb, 44:PacketSpawnEntityWeather, 15:PacketSpawnEntityLiving, 16:PacketSpawnEntityPainting, 12:PacketNamedEntitySpawn, 11:PacketAnimation, 55:PacketStatistics, 37:PacketBlockBreakAnimation, 53:PacketTileEntityData, 36:PacketBlockAction, 35:PacketBlockChange, 65:PacketDifficulty, 58:PacketTabComplete, 2:PacketChat, 34:PacketMultiBlockChange, 50:PacketTransaction, 46:PacketCloseWindow, 45:PacketOpenWindow, 48:PacketWindowItems, 49:PacketCraftProgressBar, 47:PacketSetSlot, 63:PacketCustomPayload, 41:PacketNamedSoundEffect, 64:PacketKickDisconnect, 26:PacketEntityStatus, 39:PacketExplosion, 43:PacketGameStateChange, 0:PacketKeepAlive, 33:PacketMapChunk, 40:PacketWorldEvent, 42:PacketWorldParticles, 1:PacketLogin, 52:PacketMap, 21:PacketRelEntityMove, 23:PacketEntityMoveLook, 22:PacketEntityLook, 20:PacketEntity, 54:PacketOpenSignEntity, 57:PacketAbilities, 66:PacketCombatEvent, 56:PacketPlayerInfo, 8:PacketPosition, 10:PacketBed, 19:PacketEntityDestroy, 30:PacketRemoveEntityEffect, 72:PacketResourcePackSend, 7:PacketRespawn, 25:PacketEntityHeadRotation, 68:PacketWorldBorder, 67:PacketCamera, 9:PacketHeldItemSlot, 61:PacketScoreboardDisplayObjective, 28:PacketEntityMetadata, 27:PacketAttachEntity, 18:PacketEntityVelocity, 4:PacketEntityEquipment, 31:PacketExperience, 6:PacketUpdateHealth, 59:PacketScoreboardObjective, 60:PacketScoreboardScore, 5:PacketSpawnPosition, 3:PacketUpdateTime, 69:PacketTitle, 71:PacketPlayerlistHeader, 13:PacketCollect, 24:PacketEntityTeleport, 29:PacketEntityEffect, 32:PacketUpdateAttributes, 38:PacketMapChunkBulk, 51:PacketUpdateSign, 62:PacketScoreboardTeam, 70:PacketSetCompression, 73:PacketUpdateEntityNbt },
498 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketEntity, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 49:PacketAbilities, 50:PacketCombatEvent, 51:PacketPlayerInfo, 53:PacketPosition, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 61:PacketWorldBorder, 62:PacketCamera, 63:PacketHeldItemSlot, 66:PacketScoreboardDisplayObjective, 67:PacketEntityMetadata, 68:PacketAttachEntity, 69:PacketEntityVelocity, 70:PacketEntityEquipment, 71:PacketExperience, 72:PacketUpdateHealth, 73:PacketScoreboardObjective, 74:PacketSetPassengers, 75:PacketTeams, 76:PacketScoreboardScore, 77:PacketSpawnPosition, 78:PacketUpdateTime, 79:PacketTitle, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 87:PacketAdvancements, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 36:PacketUpdateLight, 39:PacketTradeList, 45:PacketOpenBook, 48:PacketCraftRecipeResponse, 54:PacketUnlockRecipes, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 80:PacketEntitySoundEffect, 82:PacketStopSound, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 92:PacketAcknowledgePlayerDigging },
315 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 40:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 53:PacketWorldBorder, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 69:PacketTitle, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect },
107 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 40:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 53:PacketWorldBorder, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 69:PacketTitle, 71:PacketSoundEffect, 72:PacketPlayerlistHeader, 73:PacketCollect, 74:PacketEntityTeleport, 75:PacketEntityUpdateAttributes, 76:PacketEntityEffect, 70:PacketUpdateSign },
755 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 15:PacketChat, 63:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 38:PacketLogin, 39:PacketMap, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 50:PacketAbilities, 54:PacketPlayerInfo, 56:PacketPosition, 59:PacketRemoveEntityEffect, 60:PacketResourcePackSend, 61:PacketRespawn, 62:PacketEntityHeadRotation, 71:PacketCamera, 72:PacketHeldItemSlot, 76:PacketScoreboardDisplayObjective, 77:PacketEntityMetadata, 78:PacketAttachEntity, 79:PacketEntityVelocity, 80:PacketEntityEquipment, 81:PacketExperience, 82:PacketUpdateHealth, 83:PacketScoreboardObjective, 84:PacketSetPassengers, 85:PacketTeams, 86:PacketScoreboardScore, 75:PacketSpawnPosition, 88:PacketUpdateTime, 92:PacketSoundEffect, 94:PacketPlayerlistHeader, 96:PacketCollect, 97:PacketEntityTeleport, 99:PacketEntityUpdateAttributes, 100:PacketEntityEffect, 98:PacketAdvancements, 18:PacketDeclareCommands, 55:PacketFacePlayer, 95:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 37:PacketUpdateLight, 40:PacketTradeList, 45:PacketOpenBook, 49:PacketCraftRecipeResponse, 57:PacketUnlockRecipes, 73:PacketUpdateViewPosition, 74:PacketUpdateViewDistance, 91:PacketEntitySoundEffect, 93:PacketStopSound, 64:PacketSelectAdvancementTab, 101:PacketDeclareRecipes, 102:PacketTags, 8:PacketAcknowledgePlayerDigging, 51:PacketEndCombatEvent, 52:PacketEnterCombatEvent, 53:PacketDeathCombatEvent, 58:PacketDestroyEntity, 5:PacketSculkVibrationSignal, 16:PacketClearTitles, 32:PacketInitializeWorldBorder, 65:PacketActionBar, 66:PacketWorldBorderCenter, 67:PacketWorldBorderLerpSize, 68:PacketWorldBorderSize, 69:PacketWorldBorderWarningDelay, 70:PacketWorldBorderWarningReach, 48:PacketPing, 87:PacketSetTitleSubtitle, 89:PacketSetTitleText, 90:PacketSetTitleTime },
477 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketEntity, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 49:PacketAbilities, 50:PacketCombatEvent, 51:PacketPlayerInfo, 53:PacketPosition, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 61:PacketWorldBorder, 62:PacketCamera, 63:PacketHeldItemSlot, 66:PacketScoreboardDisplayObjective, 67:PacketEntityMetadata, 68:PacketAttachEntity, 69:PacketEntityVelocity, 70:PacketEntityEquipment, 71:PacketExperience, 72:PacketUpdateHealth, 73:PacketScoreboardObjective, 74:PacketSetPassengers, 75:PacketTeams, 76:PacketScoreboardScore, 77:PacketSpawnPosition, 78:PacketUpdateTime, 79:PacketTitle, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 87:PacketAdvancements, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 36:PacketUpdateLight, 39:PacketTradeList, 45:PacketOpenBook, 48:PacketCraftRecipeResponse, 54:PacketUnlockRecipes, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 80:PacketEntitySoundEffect, 82:PacketStopSound, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags },
757 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 15:PacketChat, 63:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 38:PacketLogin, 39:PacketMap, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 50:PacketAbilities, 54:PacketPlayerInfo, 56:PacketPosition, 58:PacketEntityDestroy, 59:PacketRemoveEntityEffect, 60:PacketResourcePackSend, 61:PacketRespawn, 62:PacketEntityHeadRotation, 71:PacketCamera, 72:PacketHeldItemSlot, 76:PacketScoreboardDisplayObjective, 77:PacketEntityMetadata, 78:PacketAttachEntity, 79:PacketEntityVelocity, 80:PacketEntityEquipment, 81:PacketExperience, 82:PacketUpdateHealth, 83:PacketScoreboardObjective, 84:PacketSetPassengers, 85:PacketTeams, 86:PacketScoreboardScore, 75:PacketSpawnPosition, 89:PacketUpdateTime, 93:PacketSoundEffect, 95:PacketPlayerlistHeader, 97:PacketCollect, 98:PacketEntityTeleport, 100:PacketEntityUpdateAttributes, 101:PacketEntityEffect, 99:PacketAdvancements, 18:PacketDeclareCommands, 55:PacketFacePlayer, 96:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 37:PacketUpdateLight, 40:PacketTradeList, 45:PacketOpenBook, 49:PacketCraftRecipeResponse, 57:PacketUnlockRecipes, 73:PacketUpdateViewPosition, 74:PacketUpdateViewDistance, 92:PacketEntitySoundEffect, 94:PacketStopSound, 64:PacketSelectAdvancementTab, 102:PacketDeclareRecipes, 103:PacketTags, 8:PacketAcknowledgePlayerDigging, 51:PacketEndCombatEvent, 52:PacketEnterCombatEvent, 53:PacketDeathCombatEvent, 5:PacketSculkVibrationSignal, 16:PacketClearTitles, 32:PacketInitializeWorldBorder, 65:PacketActionBar, 66:PacketWorldBorderCenter, 67:PacketWorldBorderLerpSize, 68:PacketWorldBorderSize, 69:PacketWorldBorderWarningDelay, 70:PacketWorldBorderWarningReach, 48:PacketPing, 88:PacketSetTitleSubtitle, 90:PacketSetTitleText, 91:PacketSetTitleTime, 87:PacketSimulationDistance },
327 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 15:PacketTabComplete, 16:PacketChat, 17:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 41:PacketEntity, 42:PacketVehicleMove, 43:PacketOpenSignEntity, 44:PacketAbilities, 45:PacketCombatEvent, 46:PacketPlayerInfo, 47:PacketPosition, 48:PacketBed, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 55:PacketWorldBorder, 56:PacketCamera, 57:PacketHeldItemSlot, 58:PacketScoreboardDisplayObjective, 59:PacketEntityMetadata, 60:PacketAttachEntity, 61:PacketEntityVelocity, 62:PacketEntityEquipment, 63:PacketExperience, 64:PacketUpdateHealth, 65:PacketScoreboardObjective, 66:PacketSetPassengers, 67:PacketTeams, 68:PacketScoreboardScore, 69:PacketSpawnPosition, 70:PacketUpdateTime, 71:PacketTitle, 72:PacketSoundEffect, 73:PacketPlayerlistHeader, 74:PacketCollect, 75:PacketEntityTeleport, 76:PacketEntityUpdateAttributes, 77:PacketEntityEffect, 8:PacketAdvancements, 49:PacketUnlockRecipes },
351 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 39:PacketRelEntityMove, 40:PacketEntityMoveLook, 41:PacketEntityLook, 38:PacketEntity, 42:PacketVehicleMove, 43:PacketOpenSignEntity, 45:PacketAbilities, 46:PacketCombatEvent, 47:PacketPlayerInfo, 48:PacketPosition, 49:PacketBed, 51:PacketEntityDestroy, 52:PacketRemoveEntityEffect, 53:PacketResourcePackSend, 54:PacketRespawn, 55:PacketEntityHeadRotation, 57:PacketWorldBorder, 58:PacketCamera, 59:PacketHeldItemSlot, 60:PacketScoreboardDisplayObjective, 61:PacketEntityMetadata, 62:PacketAttachEntity, 63:PacketEntityVelocity, 64:PacketEntityEquipment, 65:PacketExperience, 66:PacketUpdateHealth, 67:PacketScoreboardObjective, 68:PacketSetPassengers, 69:PacketTeams, 70:PacketScoreboardScore, 71:PacketSpawnPosition, 72:PacketUpdateTime, 73:PacketTitle, 75:PacketSoundEffect, 76:PacketPlayerlistHeader, 77:PacketCollect, 78:PacketEntityTeleport, 80:PacketEntityUpdateAttributes, 81:PacketEntityEffect, 79:PacketAdvancements, 17:PacketDeclareCommands, 44:PacketCraftRecipeResponse, 50:PacketUnlockRecipes, 74:PacketStopSound, 56:PacketSelectAdvancementTab, 82:PacketDeclareRecipes, 83:PacketTags },
1073741839 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 16:PacketTabComplete, 15:PacketChat, 60:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketEntity, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 49:PacketAbilities, 50:PacketCombatEvent, 51:PacketPlayerInfo, 53:PacketPosition, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 62:PacketWorldBorder, 63:PacketCamera, 64:PacketHeldItemSlot, 68:PacketScoreboardDisplayObjective, 69:PacketEntityMetadata, 70:PacketAttachEntity, 71:PacketEntityVelocity, 72:PacketEntityEquipment, 73:PacketExperience, 74:PacketUpdateHealth, 75:PacketScoreboardObjective, 76:PacketSetPassengers, 77:PacketTeams, 78:PacketScoreboardScore, 67:PacketSpawnPosition, 79:PacketUpdateTime, 80:PacketTitle, 82:PacketSoundEffect, 84:PacketPlayerlistHeader, 86:PacketCollect, 87:PacketEntityTeleport, 89:PacketEntityUpdateAttributes, 90:PacketEntityEffect, 88:PacketAdvancements, 17:PacketDeclareCommands, 52:PacketFacePlayer, 85:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 36:PacketUpdateLight, 39:PacketTradeList, 45:PacketOpenBook, 48:PacketCraftRecipeResponse, 54:PacketUnlockRecipes, 65:PacketUpdateViewPosition, 66:PacketUpdateViewDistance, 81:PacketEntitySoundEffect, 83:PacketStopSound, 61:PacketSelectAdvancementTab, 91:PacketDeclareRecipes, 92:PacketTags, 8:PacketAcknowledgePlayerDigging, 5:PacketSculkVibrationSignal },
736 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 5:PacketAnimation, 6:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketEntity, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 49:PacketAbilities, 50:PacketCombatEvent, 51:PacketPlayerInfo, 53:PacketPosition, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 61:PacketWorldBorder, 62:PacketCamera, 63:PacketHeldItemSlot, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 66:PacketSpawnPosition, 78:PacketUpdateTime, 79:PacketTitle, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 87:PacketAdvancements, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 36:PacketUpdateLight, 39:PacketTradeList, 45:PacketOpenBook, 48:PacketCraftRecipeResponse, 54:PacketUnlockRecipes, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 80:PacketEntitySoundEffect, 82:PacketStopSound, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 7:PacketAcknowledgePlayerDigging },
573 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 19:PacketTransaction, 20:PacketCloseWindow, 47:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 38:PacketLogin, 39:PacketMap, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketEntity, 45:PacketVehicleMove, 48:PacketOpenSignEntity, 50:PacketAbilities, 51:PacketCombatEvent, 52:PacketPlayerInfo, 54:PacketPosition, 56:PacketEntityDestroy, 57:PacketRemoveEntityEffect, 58:PacketResourcePackSend, 59:PacketRespawn, 60:PacketEntityHeadRotation, 62:PacketWorldBorder, 63:PacketCamera, 64:PacketHeldItemSlot, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 78:PacketSpawnPosition, 79:PacketUpdateTime, 80:PacketTitle, 82:PacketSoundEffect, 84:PacketPlayerlistHeader, 86:PacketCollect, 87:PacketEntityTeleport, 89:PacketEntityUpdateAttributes, 90:PacketEntityEffect, 88:PacketAdvancements, 18:PacketDeclareCommands, 53:PacketFacePlayer, 85:PacketNbtQueryResponse, 32:PacketOpenHorseWindow, 37:PacketUpdateLight, 40:PacketTradeList, 46:PacketOpenBook, 49:PacketCraftRecipeResponse, 55:PacketUnlockRecipes, 65:PacketUpdateViewPosition, 66:PacketUpdateViewDistance, 81:PacketEntitySoundEffect, 83:PacketStopSound, 61:PacketSelectAdvancementTab, 91:PacketDeclareRecipes, 92:PacketTags, 8:PacketAcknowledgePlayerDigging },
404 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 39:PacketEntity, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 46:PacketAbilities, 47:PacketCombatEvent, 48:PacketPlayerInfo, 50:PacketPosition, 51:PacketBed, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 59:PacketWorldBorder, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 75:PacketTitle, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 81:PacketAdvancements, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 45:PacketCraftRecipeResponse, 52:PacketUnlockRecipes, 76:PacketStopSound, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags },
393 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 39:PacketEntity, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 46:PacketAbilities, 47:PacketCombatEvent, 48:PacketPlayerInfo, 50:PacketPosition, 51:PacketBed, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 59:PacketWorldBorder, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 75:PacketTitle, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 81:PacketAdvancements, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 45:PacketCraftRecipeResponse, 52:PacketUnlockRecipes, 76:PacketStopSound, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags },
335 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 37:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 49:PacketEntityDestroy, 50:PacketRemoveEntityEffect, 51:PacketResourcePackSend, 52:PacketRespawn, 53:PacketEntityHeadRotation, 55:PacketWorldBorder, 56:PacketCamera, 57:PacketHeldItemSlot, 58:PacketScoreboardDisplayObjective, 59:PacketEntityMetadata, 60:PacketAttachEntity, 61:PacketEntityVelocity, 62:PacketEntityEquipment, 63:PacketExperience, 64:PacketUpdateHealth, 65:PacketScoreboardObjective, 66:PacketSetPassengers, 67:PacketTeams, 68:PacketScoreboardScore, 69:PacketSpawnPosition, 70:PacketUpdateTime, 71:PacketTitle, 72:PacketSoundEffect, 73:PacketPlayerlistHeader, 74:PacketCollect, 75:PacketEntityTeleport, 77:PacketEntityUpdateAttributes, 78:PacketEntityEffect, 76:PacketAdvancements, 48:PacketUnlockRecipes, 54:PacketSelectAdvancementTab },
338 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 37:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 44:PacketAbilities, 45:PacketCombatEvent, 46:PacketPlayerInfo, 47:PacketPosition, 48:PacketBed, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 56:PacketWorldBorder, 57:PacketCamera, 58:PacketHeldItemSlot, 59:PacketScoreboardDisplayObjective, 60:PacketEntityMetadata, 61:PacketAttachEntity, 62:PacketEntityVelocity, 63:PacketEntityEquipment, 64:PacketExperience, 65:PacketUpdateHealth, 66:PacketScoreboardObjective, 67:PacketSetPassengers, 68:PacketTeams, 69:PacketScoreboardScore, 70:PacketSpawnPosition, 71:PacketUpdateTime, 72:PacketTitle, 73:PacketSoundEffect, 74:PacketPlayerlistHeader, 75:PacketCollect, 76:PacketEntityTeleport, 78:PacketEntityUpdateAttributes, 79:PacketEntityEffect, 77:PacketAdvancements, 43:PacketCraftRecipeResponse, 49:PacketUnlockRecipes, 55:PacketSelectAdvancementTab },
331 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 15:PacketTabComplete, 16:PacketChat, 17:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 41:PacketEntity, 42:PacketVehicleMove, 43:PacketOpenSignEntity, 44:PacketAbilities, 45:PacketCombatEvent, 46:PacketPlayerInfo, 47:PacketPosition, 48:PacketBed, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 55:PacketWorldBorder, 56:PacketCamera, 57:PacketHeldItemSlot, 58:PacketScoreboardDisplayObjective, 59:PacketEntityMetadata, 60:PacketAttachEntity, 61:PacketEntityVelocity, 62:PacketEntityEquipment, 63:PacketExperience, 64:PacketUpdateHealth, 65:PacketScoreboardObjective, 66:PacketSetPassengers, 67:PacketTeams, 68:PacketScoreboardScore, 69:PacketSpawnPosition, 70:PacketUpdateTime, 71:PacketTitle, 72:PacketSoundEffect, 73:PacketPlayerlistHeader, 74:PacketCollect, 75:PacketEntityTeleport, 76:PacketEntityUpdateAttributes, 77:PacketEntityEffect, 8:PacketAdvancements, 49:PacketUnlockRecipes, 78:PacketAdvancementProgress },
480 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketEntity, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 49:PacketAbilities, 50:PacketCombatEvent, 51:PacketPlayerInfo, 53:PacketPosition, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 61:PacketWorldBorder, 62:PacketCamera, 63:PacketHeldItemSlot, 66:PacketScoreboardDisplayObjective, 67:PacketEntityMetadata, 68:PacketAttachEntity, 69:PacketEntityVelocity, 70:PacketEntityEquipment, 71:PacketExperience, 72:PacketUpdateHealth, 73:PacketScoreboardObjective, 74:PacketSetPassengers, 75:PacketTeams, 76:PacketScoreboardScore, 77:PacketSpawnPosition, 78:PacketUpdateTime, 79:PacketTitle, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 87:PacketAdvancements, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 36:PacketUpdateLight, 39:PacketTradeList, 45:PacketOpenBook, 48:PacketCraftRecipeResponse, 54:PacketUnlockRecipes, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 80:PacketEntitySoundEffect, 82:PacketStopSound, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags },
735 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 5:PacketAnimation, 6:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketEntity, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 49:PacketAbilities, 50:PacketCombatEvent, 51:PacketPlayerInfo, 53:PacketPosition, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 61:PacketWorldBorder, 62:PacketCamera, 63:PacketHeldItemSlot, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 66:PacketSpawnPosition, 78:PacketUpdateTime, 79:PacketTitle, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 87:PacketAdvancements, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 36:PacketUpdateLight, 39:PacketTradeList, 45:PacketOpenBook, 48:PacketCraftRecipeResponse, 54:PacketUnlockRecipes, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 80:PacketEntitySoundEffect, 82:PacketStopSound, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 7:PacketAcknowledgePlayerDigging },
109 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 40:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 53:PacketWorldBorder, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 69:PacketTitle, 71:PacketSoundEffect, 72:PacketPlayerlistHeader, 73:PacketCollect, 74:PacketEntityTeleport, 75:PacketEntityUpdateAttributes, 76:PacketEntityEffect, 70:PacketUpdateSign },
709 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 19:PacketTransaction, 20:PacketCloseWindow, 47:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 38:PacketLogin, 39:PacketMap, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketEntity, 45:PacketVehicleMove, 48:PacketOpenSignEntity, 50:PacketAbilities, 51:PacketCombatEvent, 52:PacketPlayerInfo, 54:PacketPosition, 56:PacketEntityDestroy, 57:PacketRemoveEntityEffect, 58:PacketResourcePackSend, 59:PacketRespawn, 60:PacketEntityHeadRotation, 62:PacketWorldBorder, 63:PacketCamera, 64:PacketHeldItemSlot, 68:PacketScoreboardDisplayObjective, 69:PacketEntityMetadata, 70:PacketAttachEntity, 71:PacketEntityVelocity, 72:PacketEntityEquipment, 73:PacketExperience, 74:PacketUpdateHealth, 75:PacketScoreboardObjective, 76:PacketSetPassengers, 77:PacketTeams, 78:PacketScoreboardScore, 67:PacketSpawnPosition, 79:PacketUpdateTime, 80:PacketTitle, 82:PacketSoundEffect, 84:PacketPlayerlistHeader, 86:PacketCollect, 87:PacketEntityTeleport, 89:PacketEntityUpdateAttributes, 90:PacketEntityEffect, 88:PacketAdvancements, 18:PacketDeclareCommands, 53:PacketFacePlayer, 85:PacketNbtQueryResponse, 32:PacketOpenHorseWindow, 37:PacketUpdateLight, 40:PacketTradeList, 46:PacketOpenBook, 49:PacketCraftRecipeResponse, 55:PacketUnlockRecipes, 65:PacketUpdateViewPosition, 66:PacketUpdateViewDistance, 81:PacketEntitySoundEffect, 83:PacketStopSound, 61:PacketSelectAdvancementTab, 91:PacketDeclareRecipes, 92:PacketTags, 8:PacketAcknowledgePlayerDigging },
340 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 37:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 44:PacketAbilities, 45:PacketCombatEvent, 46:PacketPlayerInfo, 47:PacketPosition, 48:PacketBed, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 56:PacketWorldBorder, 57:PacketCamera, 58:PacketHeldItemSlot, 59:PacketScoreboardDisplayObjective, 60:PacketEntityMetadata, 61:PacketAttachEntity, 62:PacketEntityVelocity, 63:PacketEntityEquipment, 64:PacketExperience, 65:PacketUpdateHealth, 66:PacketScoreboardObjective, 67:PacketSetPassengers, 68:PacketTeams, 69:PacketScoreboardScore, 70:PacketSpawnPosition, 71:PacketUpdateTime, 72:PacketTitle, 73:PacketSoundEffect, 74:PacketPlayerlistHeader, 75:PacketCollect, 76:PacketEntityTeleport, 78:PacketEntityUpdateAttributes, 79:PacketEntityEffect, 77:PacketAdvancements, 43:PacketCraftRecipeResponse, 49:PacketUnlockRecipes, 55:PacketSelectAdvancementTab },
5 : { 14:PacketSpawnEntity, 17:PacketSpawnEntityExperienceOrb, 44:PacketSpawnEntityWeather, 15:PacketSpawnEntityLiving, 16:PacketSpawnEntityPainting, 12:PacketNamedEntitySpawn, 11:PacketAnimation, 55:PacketStatistics, 37:PacketBlockBreakAnimation, 53:PacketTileEntityData, 36:PacketBlockAction, 35:PacketBlockChange, 58:PacketTabComplete, 2:PacketChat, 34:PacketMultiBlockChange, 50:PacketTransaction, 46:PacketCloseWindow, 45:PacketOpenWindow, 48:PacketWindowItems, 49:PacketCraftProgressBar, 47:PacketSetSlot, 63:PacketCustomPayload, 41:PacketNamedSoundEffect, 64:PacketKickDisconnect, 26:PacketEntityStatus, 39:PacketExplosion, 43:PacketGameStateChange, 0:PacketKeepAlive, 33:PacketMapChunk, 40:PacketWorldEvent, 42:PacketWorldParticles, 1:PacketLogin, 52:PacketMap, 21:PacketRelEntityMove, 23:PacketEntityMoveLook, 22:PacketEntityLook, 20:PacketEntity, 54:PacketOpenSignEntity, 57:PacketAbilities, 56:PacketPlayerInfo, 8:PacketPosition, 10:PacketBed, 19:PacketEntityDestroy, 30:PacketRemoveEntityEffect, 7:PacketRespawn, 25:PacketEntityHeadRotation, 9:PacketHeldItemSlot, 61:PacketScoreboardDisplayObjective, 28:PacketEntityMetadata, 27:PacketAttachEntity, 18:PacketEntityVelocity, 4:PacketEntityEquipment, 31:PacketExperience, 6:PacketUpdateHealth, 59:PacketScoreboardObjective, 60:PacketScoreboardScore, 5:PacketSpawnPosition, 3:PacketUpdateTime, 13:PacketCollect, 24:PacketEntityTeleport, 29:PacketEntityEffect, 32:PacketUpdateAttributes, 38:PacketMapChunkBulk, 51:PacketUpdateSign, 62:PacketScoreboardTeam },
490 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketEntity, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 49:PacketAbilities, 50:PacketCombatEvent, 51:PacketPlayerInfo, 53:PacketPosition, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 61:PacketWorldBorder, 62:PacketCamera, 63:PacketHeldItemSlot, 66:PacketScoreboardDisplayObjective, 67:PacketEntityMetadata, 68:PacketAttachEntity, 69:PacketEntityVelocity, 70:PacketEntityEquipment, 71:PacketExperience, 72:PacketUpdateHealth, 73:PacketScoreboardObjective, 74:PacketSetPassengers, 75:PacketTeams, 76:PacketScoreboardScore, 77:PacketSpawnPosition, 78:PacketUpdateTime, 79:PacketTitle, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 87:PacketAdvancements, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 36:PacketUpdateLight, 39:PacketTradeList, 45:PacketOpenBook, 48:PacketCraftRecipeResponse, 54:PacketUnlockRecipes, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 80:PacketEntitySoundEffect, 82:PacketStopSound, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags },
734 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 5:PacketAnimation, 6:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketEntity, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 49:PacketAbilities, 50:PacketCombatEvent, 51:PacketPlayerInfo, 53:PacketPosition, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 61:PacketWorldBorder, 62:PacketCamera, 63:PacketHeldItemSlot, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 66:PacketSpawnPosition, 78:PacketUpdateTime, 79:PacketTitle, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 87:PacketAdvancements, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 36:PacketUpdateLight, 39:PacketTradeList, 45:PacketOpenBook, 48:PacketCraftRecipeResponse, 54:PacketUnlockRecipes, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 80:PacketEntitySoundEffect, 82:PacketStopSound, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 7:PacketAcknowledgePlayerDigging },
210 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 40:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 53:PacketWorldBorder, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 69:PacketTitle, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect },
110 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 40:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 53:PacketWorldBorder, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 69:PacketTitle, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect },
578 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 19:PacketTransaction, 20:PacketCloseWindow, 47:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 38:PacketLogin, 39:PacketMap, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketEntity, 45:PacketVehicleMove, 48:PacketOpenSignEntity, 50:PacketAbilities, 51:PacketCombatEvent, 52:PacketPlayerInfo, 54:PacketPosition, 56:PacketEntityDestroy, 57:PacketRemoveEntityEffect, 58:PacketResourcePackSend, 59:PacketRespawn, 60:PacketEntityHeadRotation, 62:PacketWorldBorder, 63:PacketCamera, 64:PacketHeldItemSlot, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 78:PacketSpawnPosition, 79:PacketUpdateTime, 80:PacketTitle, 82:PacketSoundEffect, 84:PacketPlayerlistHeader, 86:PacketCollect, 87:PacketEntityTeleport, 89:PacketEntityUpdateAttributes, 90:PacketEntityEffect, 88:PacketAdvancements, 18:PacketDeclareCommands, 53:PacketFacePlayer, 85:PacketNbtQueryResponse, 32:PacketOpenHorseWindow, 37:PacketUpdateLight, 40:PacketTradeList, 46:PacketOpenBook, 49:PacketCraftRecipeResponse, 55:PacketUnlockRecipes, 65:PacketUpdateViewPosition, 66:PacketUpdateViewDistance, 81:PacketEntitySoundEffect, 83:PacketStopSound, 61:PacketSelectAdvancementTab, 91:PacketDeclareRecipes, 92:PacketTags, 8:PacketAcknowledgePlayerDigging },
403 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 39:PacketEntity, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 46:PacketAbilities, 47:PacketCombatEvent, 48:PacketPlayerInfo, 50:PacketPosition, 51:PacketBed, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 59:PacketWorldBorder, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 75:PacketTitle, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 81:PacketAdvancements, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 45:PacketCraftRecipeResponse, 52:PacketUnlockRecipes, 76:PacketStopSound, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags },
108 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 40:PacketEntity, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 53:PacketWorldBorder, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 69:PacketTitle, 71:PacketSoundEffect, 72:PacketPlayerlistHeader, 73:PacketCollect, 74:PacketEntityTeleport, 75:PacketEntityUpdateAttributes, 76:PacketEntityEffect, 70:PacketUpdateSign },
575 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 19:PacketTransaction, 20:PacketCloseWindow, 47:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 38:PacketLogin, 39:PacketMap, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketEntity, 45:PacketVehicleMove, 48:PacketOpenSignEntity, 50:PacketAbilities, 51:PacketCombatEvent, 52:PacketPlayerInfo, 54:PacketPosition, 56:PacketEntityDestroy, 57:PacketRemoveEntityEffect, 58:PacketResourcePackSend, 59:PacketRespawn, 60:PacketEntityHeadRotation, 62:PacketWorldBorder, 63:PacketCamera, 64:PacketHeldItemSlot, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 78:PacketSpawnPosition, 79:PacketUpdateTime, 80:PacketTitle, 82:PacketSoundEffect, 84:PacketPlayerlistHeader, 86:PacketCollect, 87:PacketEntityTeleport, 89:PacketEntityUpdateAttributes, 90:PacketEntityEffect, 88:PacketAdvancements, 18:PacketDeclareCommands, 53:PacketFacePlayer, 85:PacketNbtQueryResponse, 32:PacketOpenHorseWindow, 37:PacketUpdateLight, 40:PacketTradeList, 46:PacketOpenBook, 49:PacketCraftRecipeResponse, 55:PacketUnlockRecipes, 65:PacketUpdateViewPosition, 66:PacketUpdateViewDistance, 81:PacketEntitySoundEffect, 83:PacketStopSound, 61:PacketSelectAdvancementTab, 91:PacketDeclareRecipes, 92:PacketTags, 8:PacketAcknowledgePlayerDigging },
76 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 35:PacketNamedSoundEffect, 25:PacketKickDisconnect, 26:PacketEntityStatus, 27:PacketExplosion, 28:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 41:PacketEntity, 42:PacketOpenSignEntity, 43:PacketAbilities, 44:PacketCombatEvent, 45:PacketPlayerInfo, 46:PacketPosition, 47:PacketBed, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 53:PacketWorldBorder, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 65:PacketScoreboardScore, 66:PacketSpawnPosition, 67:PacketUpdateTime, 68:PacketTitle, 70:PacketPlayerlistHeader, 71:PacketCollect, 72:PacketEntityTeleport, 74:PacketEntityEffect, 73:PacketUpdateAttributes, 69:PacketUpdateSign, 64:PacketScoreboardTeam, 29:PacketSetCompression },
751 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 5:PacketAnimation, 6:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 15:PacketTabComplete, 14:PacketChat, 59:PacketMultiBlockChange, 17:PacketTransaction, 18:PacketCloseWindow, 45:PacketOpenWindow, 19:PacketWindowItems, 20:PacketCraftProgressBar, 21:PacketSetSlot, 22:PacketSetCooldown, 23:PacketCustomPayload, 24:PacketNamedSoundEffect, 25:PacketKickDisconnect, 26:PacketEntityStatus, 27:PacketExplosion, 28:PacketUnloadChunk, 29:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 39:PacketRelEntityMove, 40:PacketEntityMoveLook, 41:PacketEntityLook, 42:PacketEntity, 43:PacketVehicleMove, 46:PacketOpenSignEntity, 48:PacketAbilities, 49:PacketCombatEvent, 50:PacketPlayerInfo, 52:PacketPosition, 54:PacketEntityDestroy, 55:PacketRemoveEntityEffect, 56:PacketResourcePackSend, 57:PacketRespawn, 58:PacketEntityHeadRotation, 61:PacketWorldBorder, 62:PacketCamera, 63:PacketHeldItemSlot, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 66:PacketSpawnPosition, 78:PacketUpdateTime, 79:PacketTitle, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 87:PacketAdvancements, 16:PacketDeclareCommands, 51:PacketFacePlayer, 84:PacketNbtQueryResponse, 30:PacketOpenHorseWindow, 35:PacketUpdateLight, 38:PacketTradeList, 44:PacketOpenBook, 47:PacketCraftRecipeResponse, 53:PacketUnlockRecipes, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 80:PacketEntitySoundEffect, 82:PacketStopSound, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 7:PacketAcknowledgePlayerDigging },
756 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 15:PacketChat, 63:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 38:PacketLogin, 39:PacketMap, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketVehicleMove, 47:PacketOpenSignEntity, 50:PacketAbilities, 54:PacketPlayerInfo, 56:PacketPosition, 58:PacketEntityDestroy, 59:PacketRemoveEntityEffect, 60:PacketResourcePackSend, 61:PacketRespawn, 62:PacketEntityHeadRotation, 71:PacketCamera, 72:PacketHeldItemSlot, 76:PacketScoreboardDisplayObjective, 77:PacketEntityMetadata, 78:PacketAttachEntity, 79:PacketEntityVelocity, 80:PacketEntityEquipment, 81:PacketExperience, 82:PacketUpdateHealth, 83:PacketScoreboardObjective, 84:PacketSetPassengers, 85:PacketTeams, 86:PacketScoreboardScore, 75:PacketSpawnPosition, 88:PacketUpdateTime, 92:PacketSoundEffect, 94:PacketPlayerlistHeader, 96:PacketCollect, 97:PacketEntityTeleport, 99:PacketEntityUpdateAttributes, 100:PacketEntityEffect, 98:PacketAdvancements, 18:PacketDeclareCommands, 55:PacketFacePlayer, 95:PacketNbtQueryResponse, 31:PacketOpenHorseWindow, 37:PacketUpdateLight, 40:PacketTradeList, 45:PacketOpenBook, 49:PacketCraftRecipeResponse, 57:PacketUnlockRecipes, 73:PacketUpdateViewPosition, 74:PacketUpdateViewDistance, 91:PacketEntitySoundEffect, 93:PacketStopSound, 64:PacketSelectAdvancementTab, 101:PacketDeclareRecipes, 102:PacketTags, 8:PacketAcknowledgePlayerDigging, 51:PacketEndCombatEvent, 52:PacketEnterCombatEvent, 53:PacketDeathCombatEvent, 5:PacketSculkVibrationSignal, 16:PacketClearTitles, 32:PacketInitializeWorldBorder, 65:PacketActionBar, 66:PacketWorldBorderCenter, 67:PacketWorldBorderLerpSize, 68:PacketWorldBorderSize, 69:PacketWorldBorderWarningDelay, 70:PacketWorldBorderWarningReach, 48:PacketPing, 87:PacketSetTitleSubtitle, 89:PacketSetTitleText, 90:PacketSetTitleTime },
321 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 15:PacketTabComplete, 16:PacketChat, 17:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 41:PacketEntity, 42:PacketVehicleMove, 43:PacketOpenSignEntity, 44:PacketAbilities, 45:PacketCombatEvent, 46:PacketPlayerInfo, 47:PacketPosition, 48:PacketBed, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 55:PacketWorldBorder, 56:PacketCamera, 57:PacketHeldItemSlot, 58:PacketScoreboardDisplayObjective, 59:PacketEntityMetadata, 60:PacketAttachEntity, 61:PacketEntityVelocity, 62:PacketEntityEquipment, 63:PacketExperience, 64:PacketUpdateHealth, 65:PacketScoreboardObjective, 66:PacketSetPassengers, 67:PacketTeams, 68:PacketScoreboardScore, 69:PacketSpawnPosition, 70:PacketUpdateTime, 71:PacketTitle, 72:PacketSoundEffect, 73:PacketPlayerlistHeader, 74:PacketCollect, 75:PacketEntityTeleport, 76:PacketEntityUpdateAttributes, 77:PacketEntityEffect, 8:PacketAdvancements, 49:PacketUnlockRecipes },
402 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 39:PacketEntity, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 46:PacketAbilities, 47:PacketCombatEvent, 48:PacketPlayerInfo, 50:PacketPosition, 51:PacketBed, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 59:PacketWorldBorder, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 75:PacketTitle, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 81:PacketAdvancements, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 45:PacketCraftRecipeResponse, 52:PacketUnlockRecipes, 76:PacketStopSound, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags },
401 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityWeather, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 14:PacketChat, 15:PacketMultiBlockChange, 18:PacketTransaction, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 39:PacketEntity, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 46:PacketAbilities, 47:PacketCombatEvent, 48:PacketPlayerInfo, 50:PacketPosition, 51:PacketBed, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 59:PacketWorldBorder, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 75:PacketTitle, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 81:PacketAdvancements, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 45:PacketCraftRecipeResponse, 52:PacketUnlockRecipes, 76:PacketStopSound, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags }
757 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 99:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 18:PacketDeclareCommands, 55:PacketFacePlayer, 96:PacketNbtQueryResponse, 15:PacketChat, 63:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketUpdateLight, 38:PacketLogin, 39:PacketMap, 40:PacketTradeList, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 49:PacketCraftRecipeResponse, 50:PacketAbilities, 51:PacketEndCombatEvent, 52:PacketEnterCombatEvent, 53:PacketDeathCombatEvent, 54:PacketPlayerInfo, 56:PacketPosition, 57:PacketUnlockRecipes, 58:PacketEntityDestroy, 59:PacketRemoveEntityEffect, 60:PacketResourcePackSend, 61:PacketRespawn, 62:PacketEntityHeadRotation, 71:PacketCamera, 72:PacketHeldItemSlot, 73:PacketUpdateViewPosition, 74:PacketUpdateViewDistance, 76:PacketScoreboardDisplayObjective, 77:PacketEntityMetadata, 78:PacketAttachEntity, 79:PacketEntityVelocity, 80:PacketEntityEquipment, 81:PacketExperience, 82:PacketUpdateHealth, 83:PacketScoreboardObjective, 84:PacketSetPassengers, 85:PacketTeams, 86:PacketScoreboardScore, 75:PacketSpawnPosition, 89:PacketUpdateTime, 92:PacketEntitySoundEffect, 94:PacketStopSound, 93:PacketSoundEffect, 95:PacketPlayerlistHeader, 97:PacketCollect, 98:PacketEntityTeleport, 100:PacketEntityUpdateAttributes, 101:PacketEntityEffect, 64:PacketSelectAdvancementTab, 102:PacketDeclareRecipes, 103:PacketTags, 8:PacketAcknowledgePlayerDigging, 5:PacketSculkVibrationSignal, 16:PacketClearTitles, 32:PacketInitializeWorldBorder, 65:PacketActionBar, 66:PacketWorldBorderCenter, 67:PacketWorldBorderLerpSize, 68:PacketWorldBorderSize, 69:PacketWorldBorderWarningDelay, 70:PacketWorldBorderWarningReach, 48:PacketPing, 88:PacketSetTitleSubtitle, 90:PacketSetTitleText, 91:PacketSetTitleTime, 87:PacketSimulationDistance },
498 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 87:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketUpdateLight, 37:PacketLogin, 38:PacketMap, 39:PacketTradeList, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 48:PacketCraftRecipeResponse, 49:PacketAbilities, 51:PacketPlayerInfo, 53:PacketPosition, 54:PacketUnlockRecipes, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 62:PacketCamera, 63:PacketHeldItemSlot, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 66:PacketScoreboardDisplayObjective, 67:PacketEntityMetadata, 68:PacketAttachEntity, 69:PacketEntityVelocity, 70:PacketEntityEquipment, 71:PacketExperience, 72:PacketUpdateHealth, 73:PacketScoreboardObjective, 74:PacketSetPassengers, 75:PacketTeams, 76:PacketScoreboardScore, 77:PacketSpawnPosition, 78:PacketUpdateTime, 80:PacketEntitySoundEffect, 82:PacketStopSound, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 92:PacketAcknowledgePlayerDigging, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 43:PacketEntity, 50:PacketCombatEvent, 61:PacketWorldBorder, 79:PacketTitle },
335 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 76:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketUnlockRecipes, 49:PacketEntityDestroy, 50:PacketRemoveEntityEffect, 51:PacketResourcePackSend, 52:PacketRespawn, 53:PacketEntityHeadRotation, 56:PacketCamera, 57:PacketHeldItemSlot, 58:PacketScoreboardDisplayObjective, 59:PacketEntityMetadata, 60:PacketAttachEntity, 61:PacketEntityVelocity, 62:PacketEntityEquipment, 63:PacketExperience, 64:PacketUpdateHealth, 65:PacketScoreboardObjective, 66:PacketSetPassengers, 67:PacketTeams, 68:PacketScoreboardScore, 69:PacketSpawnPosition, 70:PacketUpdateTime, 72:PacketSoundEffect, 73:PacketPlayerlistHeader, 74:PacketCollect, 75:PacketEntityTeleport, 77:PacketEntityUpdateAttributes, 78:PacketEntityEffect, 54:PacketSelectAdvancementTab, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 37:PacketEntity, 44:PacketCombatEvent, 55:PacketWorldBorder, 71:PacketTitle, 47:PacketBed },
315 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 40:PacketEntity, 44:PacketCombatEvent, 53:PacketWorldBorder, 69:PacketTitle, 47:PacketBed },
109 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 71:PacketSoundEffect, 72:PacketPlayerlistHeader, 73:PacketCollect, 74:PacketEntityTeleport, 75:PacketEntityUpdateAttributes, 76:PacketEntityEffect, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 40:PacketEntity, 44:PacketCombatEvent, 53:PacketWorldBorder, 69:PacketTitle, 47:PacketBed, 70:PacketUpdateSign },
401 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 81:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 45:PacketCraftRecipeResponse, 46:PacketAbilities, 48:PacketPlayerInfo, 50:PacketPosition, 52:PacketUnlockRecipes, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 76:PacketStopSound, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 39:PacketEntity, 47:PacketCombatEvent, 59:PacketWorldBorder, 75:PacketTitle, 51:PacketBed },
76 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 35:PacketNamedSoundEffect, 25:PacketKickDisconnect, 26:PacketEntityStatus, 27:PacketExplosion, 28:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 65:PacketScoreboardScore, 66:PacketSpawnPosition, 67:PacketUpdateTime, 70:PacketPlayerlistHeader, 71:PacketCollect, 72:PacketEntityTeleport, 74:PacketEntityEffect, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 41:PacketEntity, 44:PacketCombatEvent, 53:PacketWorldBorder, 68:PacketTitle, 47:PacketBed, 69:PacketUpdateSign, 73:PacketUpdateAttributes, 64:PacketScoreboardTeam, 29:PacketSetCompression },
340 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 77:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketCraftRecipeResponse, 44:PacketAbilities, 46:PacketPlayerInfo, 47:PacketPosition, 49:PacketUnlockRecipes, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 57:PacketCamera, 58:PacketHeldItemSlot, 59:PacketScoreboardDisplayObjective, 60:PacketEntityMetadata, 61:PacketAttachEntity, 62:PacketEntityVelocity, 63:PacketEntityEquipment, 64:PacketExperience, 65:PacketUpdateHealth, 66:PacketScoreboardObjective, 67:PacketSetPassengers, 68:PacketTeams, 69:PacketScoreboardScore, 70:PacketSpawnPosition, 71:PacketUpdateTime, 73:PacketSoundEffect, 74:PacketPlayerlistHeader, 75:PacketCollect, 76:PacketEntityTeleport, 78:PacketEntityUpdateAttributes, 79:PacketEntityEffect, 55:PacketSelectAdvancementTab, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 37:PacketEntity, 45:PacketCombatEvent, 56:PacketWorldBorder, 72:PacketTitle, 48:PacketBed },
338 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 77:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketCraftRecipeResponse, 44:PacketAbilities, 46:PacketPlayerInfo, 47:PacketPosition, 49:PacketUnlockRecipes, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 57:PacketCamera, 58:PacketHeldItemSlot, 59:PacketScoreboardDisplayObjective, 60:PacketEntityMetadata, 61:PacketAttachEntity, 62:PacketEntityVelocity, 63:PacketEntityEquipment, 64:PacketExperience, 65:PacketUpdateHealth, 66:PacketScoreboardObjective, 67:PacketSetPassengers, 68:PacketTeams, 69:PacketScoreboardScore, 70:PacketSpawnPosition, 71:PacketUpdateTime, 73:PacketSoundEffect, 74:PacketPlayerlistHeader, 75:PacketCollect, 76:PacketEntityTeleport, 78:PacketEntityUpdateAttributes, 79:PacketEntityEffect, 55:PacketSelectAdvancementTab, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 37:PacketEntity, 45:PacketCombatEvent, 56:PacketWorldBorder, 72:PacketTitle, 48:PacketBed },
351 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 79:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 39:PacketRelEntityMove, 40:PacketEntityMoveLook, 41:PacketEntityLook, 42:PacketVehicleMove, 43:PacketOpenSignEntity, 44:PacketCraftRecipeResponse, 45:PacketAbilities, 47:PacketPlayerInfo, 48:PacketPosition, 50:PacketUnlockRecipes, 51:PacketEntityDestroy, 52:PacketRemoveEntityEffect, 53:PacketResourcePackSend, 54:PacketRespawn, 55:PacketEntityHeadRotation, 58:PacketCamera, 59:PacketHeldItemSlot, 60:PacketScoreboardDisplayObjective, 61:PacketEntityMetadata, 62:PacketAttachEntity, 63:PacketEntityVelocity, 64:PacketEntityEquipment, 65:PacketExperience, 66:PacketUpdateHealth, 67:PacketScoreboardObjective, 68:PacketSetPassengers, 69:PacketTeams, 70:PacketScoreboardScore, 71:PacketSpawnPosition, 72:PacketUpdateTime, 74:PacketStopSound, 75:PacketSoundEffect, 76:PacketPlayerlistHeader, 77:PacketCollect, 78:PacketEntityTeleport, 80:PacketEntityUpdateAttributes, 81:PacketEntityEffect, 56:PacketSelectAdvancementTab, 82:PacketDeclareRecipes, 83:PacketTags, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 38:PacketEntity, 46:PacketCombatEvent, 57:PacketWorldBorder, 73:PacketTitle, 49:PacketBed },
756 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 98:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 18:PacketDeclareCommands, 55:PacketFacePlayer, 95:PacketNbtQueryResponse, 15:PacketChat, 63:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketUpdateLight, 38:PacketLogin, 39:PacketMap, 40:PacketTradeList, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 49:PacketCraftRecipeResponse, 50:PacketAbilities, 51:PacketEndCombatEvent, 52:PacketEnterCombatEvent, 53:PacketDeathCombatEvent, 54:PacketPlayerInfo, 56:PacketPosition, 57:PacketUnlockRecipes, 58:PacketEntityDestroy, 59:PacketRemoveEntityEffect, 60:PacketResourcePackSend, 61:PacketRespawn, 62:PacketEntityHeadRotation, 71:PacketCamera, 72:PacketHeldItemSlot, 73:PacketUpdateViewPosition, 74:PacketUpdateViewDistance, 76:PacketScoreboardDisplayObjective, 77:PacketEntityMetadata, 78:PacketAttachEntity, 79:PacketEntityVelocity, 80:PacketEntityEquipment, 81:PacketExperience, 82:PacketUpdateHealth, 83:PacketScoreboardObjective, 84:PacketSetPassengers, 85:PacketTeams, 86:PacketScoreboardScore, 75:PacketSpawnPosition, 88:PacketUpdateTime, 91:PacketEntitySoundEffect, 93:PacketStopSound, 92:PacketSoundEffect, 94:PacketPlayerlistHeader, 96:PacketCollect, 97:PacketEntityTeleport, 99:PacketEntityUpdateAttributes, 100:PacketEntityEffect, 64:PacketSelectAdvancementTab, 101:PacketDeclareRecipes, 102:PacketTags, 8:PacketAcknowledgePlayerDigging, 5:PacketSculkVibrationSignal, 16:PacketClearTitles, 32:PacketInitializeWorldBorder, 65:PacketActionBar, 66:PacketWorldBorderCenter, 67:PacketWorldBorderLerpSize, 68:PacketWorldBorderSize, 69:PacketWorldBorderWarningDelay, 70:PacketWorldBorderWarningReach, 48:PacketPing, 87:PacketSetTitleSubtitle, 89:PacketSetTitleText, 90:PacketSetTitleTime },
490 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 87:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketUpdateLight, 37:PacketLogin, 38:PacketMap, 39:PacketTradeList, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 48:PacketCraftRecipeResponse, 49:PacketAbilities, 51:PacketPlayerInfo, 53:PacketPosition, 54:PacketUnlockRecipes, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 62:PacketCamera, 63:PacketHeldItemSlot, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 66:PacketScoreboardDisplayObjective, 67:PacketEntityMetadata, 68:PacketAttachEntity, 69:PacketEntityVelocity, 70:PacketEntityEquipment, 71:PacketExperience, 72:PacketUpdateHealth, 73:PacketScoreboardObjective, 74:PacketSetPassengers, 75:PacketTeams, 76:PacketScoreboardScore, 77:PacketSpawnPosition, 78:PacketUpdateTime, 80:PacketEntitySoundEffect, 82:PacketStopSound, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 43:PacketEntity, 50:PacketCombatEvent, 61:PacketWorldBorder, 79:PacketTitle },
573 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 88:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 18:PacketDeclareCommands, 53:PacketFacePlayer, 85:PacketNbtQueryResponse, 15:PacketChat, 16:PacketMultiBlockChange, 20:PacketCloseWindow, 47:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketOpenHorseWindow, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketUpdateLight, 38:PacketLogin, 39:PacketMap, 40:PacketTradeList, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 45:PacketVehicleMove, 46:PacketOpenBook, 48:PacketOpenSignEntity, 49:PacketCraftRecipeResponse, 50:PacketAbilities, 52:PacketPlayerInfo, 54:PacketPosition, 55:PacketUnlockRecipes, 56:PacketEntityDestroy, 57:PacketRemoveEntityEffect, 58:PacketResourcePackSend, 59:PacketRespawn, 60:PacketEntityHeadRotation, 63:PacketCamera, 64:PacketHeldItemSlot, 65:PacketUpdateViewPosition, 66:PacketUpdateViewDistance, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 78:PacketSpawnPosition, 79:PacketUpdateTime, 81:PacketEntitySoundEffect, 83:PacketStopSound, 82:PacketSoundEffect, 84:PacketPlayerlistHeader, 86:PacketCollect, 87:PacketEntityTeleport, 89:PacketEntityUpdateAttributes, 90:PacketEntityEffect, 61:PacketSelectAdvancementTab, 91:PacketDeclareRecipes, 92:PacketTags, 8:PacketAcknowledgePlayerDigging, 2:PacketSpawnEntityWeather, 19:PacketTransaction, 44:PacketEntity, 51:PacketCombatEvent, 62:PacketWorldBorder, 80:PacketTitle },
477 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 87:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketUpdateLight, 37:PacketLogin, 38:PacketMap, 39:PacketTradeList, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 48:PacketCraftRecipeResponse, 49:PacketAbilities, 51:PacketPlayerInfo, 53:PacketPosition, 54:PacketUnlockRecipes, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 62:PacketCamera, 63:PacketHeldItemSlot, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 66:PacketScoreboardDisplayObjective, 67:PacketEntityMetadata, 68:PacketAttachEntity, 69:PacketEntityVelocity, 70:PacketEntityEquipment, 71:PacketExperience, 72:PacketUpdateHealth, 73:PacketScoreboardObjective, 74:PacketSetPassengers, 75:PacketTeams, 76:PacketScoreboardScore, 77:PacketSpawnPosition, 78:PacketUpdateTime, 80:PacketEntitySoundEffect, 82:PacketStopSound, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 43:PacketEntity, 50:PacketCombatEvent, 61:PacketWorldBorder, 79:PacketTitle },
736 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 5:PacketAnimation, 6:PacketStatistics, 87:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketUpdateLight, 37:PacketLogin, 38:PacketMap, 39:PacketTradeList, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 48:PacketCraftRecipeResponse, 49:PacketAbilities, 51:PacketPlayerInfo, 53:PacketPosition, 54:PacketUnlockRecipes, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 62:PacketCamera, 63:PacketHeldItemSlot, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 66:PacketSpawnPosition, 78:PacketUpdateTime, 80:PacketEntitySoundEffect, 82:PacketStopSound, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 7:PacketAcknowledgePlayerDigging, 18:PacketTransaction, 43:PacketEntity, 50:PacketCombatEvent, 61:PacketWorldBorder, 79:PacketTitle },
393 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 81:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 45:PacketCraftRecipeResponse, 46:PacketAbilities, 48:PacketPlayerInfo, 50:PacketPosition, 52:PacketUnlockRecipes, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 76:PacketStopSound, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 39:PacketEntity, 47:PacketCombatEvent, 59:PacketWorldBorder, 75:PacketTitle, 51:PacketBed },
402 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 81:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 45:PacketCraftRecipeResponse, 46:PacketAbilities, 48:PacketPlayerInfo, 50:PacketPosition, 52:PacketUnlockRecipes, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 76:PacketStopSound, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 39:PacketEntity, 47:PacketCombatEvent, 59:PacketWorldBorder, 75:PacketTitle, 51:PacketBed },
331 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 15:PacketTabComplete, 16:PacketChat, 17:PacketMultiBlockChange, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 42:PacketVehicleMove, 43:PacketOpenSignEntity, 44:PacketAbilities, 46:PacketPlayerInfo, 47:PacketPosition, 49:PacketUnlockRecipes, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 56:PacketCamera, 57:PacketHeldItemSlot, 58:PacketScoreboardDisplayObjective, 59:PacketEntityMetadata, 60:PacketAttachEntity, 61:PacketEntityVelocity, 62:PacketEntityEquipment, 63:PacketExperience, 64:PacketUpdateHealth, 65:PacketScoreboardObjective, 66:PacketSetPassengers, 67:PacketTeams, 68:PacketScoreboardScore, 69:PacketSpawnPosition, 70:PacketUpdateTime, 72:PacketSoundEffect, 73:PacketPlayerlistHeader, 74:PacketCollect, 75:PacketEntityTeleport, 76:PacketEntityUpdateAttributes, 77:PacketEntityEffect, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 41:PacketEntity, 45:PacketCombatEvent, 55:PacketWorldBorder, 71:PacketTitle, 48:PacketBed, 78:PacketAdvancementProgress },
735 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 5:PacketAnimation, 6:PacketStatistics, 87:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketUpdateLight, 37:PacketLogin, 38:PacketMap, 39:PacketTradeList, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 48:PacketCraftRecipeResponse, 49:PacketAbilities, 51:PacketPlayerInfo, 53:PacketPosition, 54:PacketUnlockRecipes, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 62:PacketCamera, 63:PacketHeldItemSlot, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 66:PacketSpawnPosition, 78:PacketUpdateTime, 80:PacketEntitySoundEffect, 82:PacketStopSound, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 7:PacketAcknowledgePlayerDigging, 18:PacketTransaction, 43:PacketEntity, 50:PacketCombatEvent, 61:PacketWorldBorder, 79:PacketTitle },
47 : { 14:PacketSpawnEntity, 17:PacketSpawnEntityExperienceOrb, 15:PacketSpawnEntityLiving, 16:PacketSpawnEntityPainting, 12:PacketNamedEntitySpawn, 11:PacketAnimation, 55:PacketStatistics, 37:PacketBlockBreakAnimation, 53:PacketTileEntityData, 36:PacketBlockAction, 35:PacketBlockChange, 65:PacketDifficulty, 58:PacketTabComplete, 2:PacketChat, 34:PacketMultiBlockChange, 46:PacketCloseWindow, 45:PacketOpenWindow, 48:PacketWindowItems, 49:PacketCraftProgressBar, 47:PacketSetSlot, 63:PacketCustomPayload, 41:PacketNamedSoundEffect, 64:PacketKickDisconnect, 26:PacketEntityStatus, 39:PacketExplosion, 43:PacketGameStateChange, 0:PacketKeepAlive, 33:PacketMapChunk, 40:PacketWorldEvent, 42:PacketWorldParticles, 1:PacketLogin, 52:PacketMap, 21:PacketRelEntityMove, 23:PacketEntityMoveLook, 22:PacketEntityLook, 54:PacketOpenSignEntity, 57:PacketAbilities, 56:PacketPlayerInfo, 8:PacketPosition, 19:PacketEntityDestroy, 30:PacketRemoveEntityEffect, 72:PacketResourcePackSend, 7:PacketRespawn, 25:PacketEntityHeadRotation, 67:PacketCamera, 9:PacketHeldItemSlot, 61:PacketScoreboardDisplayObjective, 28:PacketEntityMetadata, 27:PacketAttachEntity, 18:PacketEntityVelocity, 4:PacketEntityEquipment, 31:PacketExperience, 6:PacketUpdateHealth, 59:PacketScoreboardObjective, 60:PacketScoreboardScore, 5:PacketSpawnPosition, 3:PacketUpdateTime, 71:PacketPlayerlistHeader, 13:PacketCollect, 24:PacketEntityTeleport, 29:PacketEntityEffect, 44:PacketSpawnEntityWeather, 50:PacketTransaction, 20:PacketEntity, 66:PacketCombatEvent, 68:PacketWorldBorder, 69:PacketTitle, 10:PacketBed, 51:PacketUpdateSign, 32:PacketUpdateAttributes, 62:PacketScoreboardTeam, 70:PacketSetCompression, 38:PacketMapChunkBulk, 73:PacketUpdateEntityNbt },
734 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 5:PacketAnimation, 6:PacketStatistics, 87:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketUpdateLight, 37:PacketLogin, 38:PacketMap, 39:PacketTradeList, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 48:PacketCraftRecipeResponse, 49:PacketAbilities, 51:PacketPlayerInfo, 53:PacketPosition, 54:PacketUnlockRecipes, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 62:PacketCamera, 63:PacketHeldItemSlot, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 66:PacketSpawnPosition, 78:PacketUpdateTime, 80:PacketEntitySoundEffect, 82:PacketStopSound, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 7:PacketAcknowledgePlayerDigging, 18:PacketTransaction, 43:PacketEntity, 50:PacketCombatEvent, 61:PacketWorldBorder, 79:PacketTitle },
403 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 81:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 45:PacketCraftRecipeResponse, 46:PacketAbilities, 48:PacketPlayerInfo, 50:PacketPosition, 52:PacketUnlockRecipes, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 76:PacketStopSound, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 39:PacketEntity, 47:PacketCombatEvent, 59:PacketWorldBorder, 75:PacketTitle, 51:PacketBed },
755 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 98:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 18:PacketDeclareCommands, 55:PacketFacePlayer, 95:PacketNbtQueryResponse, 15:PacketChat, 63:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketUpdateLight, 38:PacketLogin, 39:PacketMap, 40:PacketTradeList, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 49:PacketCraftRecipeResponse, 50:PacketAbilities, 51:PacketEndCombatEvent, 52:PacketEnterCombatEvent, 53:PacketDeathCombatEvent, 54:PacketPlayerInfo, 56:PacketPosition, 57:PacketUnlockRecipes, 59:PacketRemoveEntityEffect, 60:PacketResourcePackSend, 61:PacketRespawn, 62:PacketEntityHeadRotation, 71:PacketCamera, 72:PacketHeldItemSlot, 73:PacketUpdateViewPosition, 74:PacketUpdateViewDistance, 76:PacketScoreboardDisplayObjective, 77:PacketEntityMetadata, 78:PacketAttachEntity, 79:PacketEntityVelocity, 80:PacketEntityEquipment, 81:PacketExperience, 82:PacketUpdateHealth, 83:PacketScoreboardObjective, 84:PacketSetPassengers, 85:PacketTeams, 86:PacketScoreboardScore, 75:PacketSpawnPosition, 88:PacketUpdateTime, 91:PacketEntitySoundEffect, 93:PacketStopSound, 92:PacketSoundEffect, 94:PacketPlayerlistHeader, 96:PacketCollect, 97:PacketEntityTeleport, 99:PacketEntityUpdateAttributes, 100:PacketEntityEffect, 64:PacketSelectAdvancementTab, 101:PacketDeclareRecipes, 102:PacketTags, 8:PacketAcknowledgePlayerDigging, 5:PacketSculkVibrationSignal, 16:PacketClearTitles, 32:PacketInitializeWorldBorder, 65:PacketActionBar, 66:PacketWorldBorderCenter, 67:PacketWorldBorderLerpSize, 68:PacketWorldBorderSize, 69:PacketWorldBorderWarningDelay, 70:PacketWorldBorderWarningReach, 48:PacketPing, 87:PacketSetTitleSubtitle, 89:PacketSetTitleText, 90:PacketSetTitleTime, 58:PacketDestroyEntity },
575 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 88:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 18:PacketDeclareCommands, 53:PacketFacePlayer, 85:PacketNbtQueryResponse, 15:PacketChat, 16:PacketMultiBlockChange, 20:PacketCloseWindow, 47:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketOpenHorseWindow, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketUpdateLight, 38:PacketLogin, 39:PacketMap, 40:PacketTradeList, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 45:PacketVehicleMove, 46:PacketOpenBook, 48:PacketOpenSignEntity, 49:PacketCraftRecipeResponse, 50:PacketAbilities, 52:PacketPlayerInfo, 54:PacketPosition, 55:PacketUnlockRecipes, 56:PacketEntityDestroy, 57:PacketRemoveEntityEffect, 58:PacketResourcePackSend, 59:PacketRespawn, 60:PacketEntityHeadRotation, 63:PacketCamera, 64:PacketHeldItemSlot, 65:PacketUpdateViewPosition, 66:PacketUpdateViewDistance, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 78:PacketSpawnPosition, 79:PacketUpdateTime, 81:PacketEntitySoundEffect, 83:PacketStopSound, 82:PacketSoundEffect, 84:PacketPlayerlistHeader, 86:PacketCollect, 87:PacketEntityTeleport, 89:PacketEntityUpdateAttributes, 90:PacketEntityEffect, 61:PacketSelectAdvancementTab, 91:PacketDeclareRecipes, 92:PacketTags, 8:PacketAcknowledgePlayerDigging, 2:PacketSpawnEntityWeather, 19:PacketTransaction, 44:PacketEntity, 51:PacketCombatEvent, 62:PacketWorldBorder, 80:PacketTitle },
201 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 40:PacketEntity, 44:PacketCombatEvent, 53:PacketWorldBorder, 69:PacketTitle, 47:PacketBed },
480 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 87:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 52:PacketFacePlayer, 84:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 46:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketOpenHorseWindow, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketUpdateLight, 37:PacketLogin, 38:PacketMap, 39:PacketTradeList, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 44:PacketVehicleMove, 45:PacketOpenBook, 47:PacketOpenSignEntity, 48:PacketCraftRecipeResponse, 49:PacketAbilities, 51:PacketPlayerInfo, 53:PacketPosition, 54:PacketUnlockRecipes, 55:PacketEntityDestroy, 56:PacketRemoveEntityEffect, 57:PacketResourcePackSend, 58:PacketRespawn, 59:PacketEntityHeadRotation, 62:PacketCamera, 63:PacketHeldItemSlot, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 66:PacketScoreboardDisplayObjective, 67:PacketEntityMetadata, 68:PacketAttachEntity, 69:PacketEntityVelocity, 70:PacketEntityEquipment, 71:PacketExperience, 72:PacketUpdateHealth, 73:PacketScoreboardObjective, 74:PacketSetPassengers, 75:PacketTeams, 76:PacketScoreboardScore, 77:PacketSpawnPosition, 78:PacketUpdateTime, 80:PacketEntitySoundEffect, 82:PacketStopSound, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 43:PacketEntity, 50:PacketCombatEvent, 61:PacketWorldBorder, 79:PacketTitle },
107 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 71:PacketSoundEffect, 72:PacketPlayerlistHeader, 73:PacketCollect, 74:PacketEntityTeleport, 75:PacketEntityUpdateAttributes, 76:PacketEntityEffect, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 40:PacketEntity, 44:PacketCombatEvent, 53:PacketWorldBorder, 69:PacketTitle, 47:PacketBed, 70:PacketUpdateSign },
210 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 40:PacketEntity, 44:PacketCombatEvent, 53:PacketWorldBorder, 69:PacketTitle, 47:PacketBed },
304 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 40:PacketEntity, 44:PacketCombatEvent, 53:PacketWorldBorder, 69:PacketTitle, 47:PacketBed },
321 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 15:PacketTabComplete, 16:PacketChat, 17:PacketMultiBlockChange, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 42:PacketVehicleMove, 43:PacketOpenSignEntity, 44:PacketAbilities, 46:PacketPlayerInfo, 47:PacketPosition, 49:PacketUnlockRecipes, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 56:PacketCamera, 57:PacketHeldItemSlot, 58:PacketScoreboardDisplayObjective, 59:PacketEntityMetadata, 60:PacketAttachEntity, 61:PacketEntityVelocity, 62:PacketEntityEquipment, 63:PacketExperience, 64:PacketUpdateHealth, 65:PacketScoreboardObjective, 66:PacketSetPassengers, 67:PacketTeams, 68:PacketScoreboardScore, 69:PacketSpawnPosition, 70:PacketUpdateTime, 72:PacketSoundEffect, 73:PacketPlayerlistHeader, 74:PacketCollect, 75:PacketEntityTeleport, 76:PacketEntityUpdateAttributes, 77:PacketEntityEffect, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 41:PacketEntity, 45:PacketCombatEvent, 55:PacketWorldBorder, 71:PacketTitle, 48:PacketBed },
327 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 15:PacketTabComplete, 16:PacketChat, 17:PacketMultiBlockChange, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketKeepAlive, 33:PacketMapChunk, 34:PacketWorldEvent, 35:PacketWorldParticles, 36:PacketLogin, 37:PacketMap, 38:PacketRelEntityMove, 39:PacketEntityMoveLook, 40:PacketEntityLook, 42:PacketVehicleMove, 43:PacketOpenSignEntity, 44:PacketAbilities, 46:PacketPlayerInfo, 47:PacketPosition, 49:PacketUnlockRecipes, 50:PacketEntityDestroy, 51:PacketRemoveEntityEffect, 52:PacketResourcePackSend, 53:PacketRespawn, 54:PacketEntityHeadRotation, 56:PacketCamera, 57:PacketHeldItemSlot, 58:PacketScoreboardDisplayObjective, 59:PacketEntityMetadata, 60:PacketAttachEntity, 61:PacketEntityVelocity, 62:PacketEntityEquipment, 63:PacketExperience, 64:PacketUpdateHealth, 65:PacketScoreboardObjective, 66:PacketSetPassengers, 67:PacketTeams, 68:PacketScoreboardScore, 69:PacketSpawnPosition, 70:PacketUpdateTime, 72:PacketSoundEffect, 73:PacketPlayerlistHeader, 74:PacketCollect, 75:PacketEntityTeleport, 76:PacketEntityUpdateAttributes, 77:PacketEntityEffect, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 41:PacketEntity, 45:PacketCombatEvent, 55:PacketWorldBorder, 71:PacketTitle, 48:PacketBed },
578 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 88:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 18:PacketDeclareCommands, 53:PacketFacePlayer, 85:PacketNbtQueryResponse, 15:PacketChat, 16:PacketMultiBlockChange, 20:PacketCloseWindow, 47:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketOpenHorseWindow, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketUpdateLight, 38:PacketLogin, 39:PacketMap, 40:PacketTradeList, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 45:PacketVehicleMove, 46:PacketOpenBook, 48:PacketOpenSignEntity, 49:PacketCraftRecipeResponse, 50:PacketAbilities, 52:PacketPlayerInfo, 54:PacketPosition, 55:PacketUnlockRecipes, 56:PacketEntityDestroy, 57:PacketRemoveEntityEffect, 58:PacketResourcePackSend, 59:PacketRespawn, 60:PacketEntityHeadRotation, 63:PacketCamera, 64:PacketHeldItemSlot, 65:PacketUpdateViewPosition, 66:PacketUpdateViewDistance, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 78:PacketSpawnPosition, 79:PacketUpdateTime, 81:PacketEntitySoundEffect, 83:PacketStopSound, 82:PacketSoundEffect, 84:PacketPlayerlistHeader, 86:PacketCollect, 87:PacketEntityTeleport, 89:PacketEntityUpdateAttributes, 90:PacketEntityEffect, 61:PacketSelectAdvancementTab, 91:PacketDeclareRecipes, 92:PacketTags, 8:PacketAcknowledgePlayerDigging, 2:PacketSpawnEntityWeather, 19:PacketTransaction, 44:PacketEntity, 51:PacketCombatEvent, 62:PacketWorldBorder, 80:PacketTitle },
108 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 71:PacketSoundEffect, 72:PacketPlayerlistHeader, 73:PacketCollect, 74:PacketEntityTeleport, 75:PacketEntityUpdateAttributes, 76:PacketEntityEffect, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 40:PacketEntity, 44:PacketCombatEvent, 53:PacketWorldBorder, 69:PacketTitle, 47:PacketBed, 70:PacketUpdateSign },
404 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 81:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 16:PacketTabComplete, 17:PacketDeclareCommands, 49:PacketFacePlayer, 29:PacketNbtQueryResponse, 14:PacketChat, 15:PacketMultiBlockChange, 19:PacketCloseWindow, 20:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 30:PacketExplosion, 31:PacketUnloadChunk, 32:PacketGameStateChange, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketLogin, 38:PacketMap, 40:PacketRelEntityMove, 41:PacketEntityMoveLook, 42:PacketEntityLook, 43:PacketVehicleMove, 44:PacketOpenSignEntity, 45:PacketCraftRecipeResponse, 46:PacketAbilities, 48:PacketPlayerInfo, 50:PacketPosition, 52:PacketUnlockRecipes, 53:PacketEntityDestroy, 54:PacketRemoveEntityEffect, 55:PacketResourcePackSend, 56:PacketRespawn, 57:PacketEntityHeadRotation, 60:PacketCamera, 61:PacketHeldItemSlot, 62:PacketScoreboardDisplayObjective, 63:PacketEntityMetadata, 64:PacketAttachEntity, 65:PacketEntityVelocity, 66:PacketEntityEquipment, 67:PacketExperience, 68:PacketUpdateHealth, 69:PacketScoreboardObjective, 70:PacketSetPassengers, 71:PacketTeams, 72:PacketScoreboardScore, 73:PacketSpawnPosition, 74:PacketUpdateTime, 76:PacketStopSound, 77:PacketSoundEffect, 78:PacketPlayerlistHeader, 79:PacketCollect, 80:PacketEntityTeleport, 82:PacketEntityUpdateAttributes, 83:PacketEntityEffect, 58:PacketSelectAdvancementTab, 84:PacketDeclareRecipes, 85:PacketTags, 2:PacketSpawnEntityWeather, 18:PacketTransaction, 39:PacketEntity, 47:PacketCombatEvent, 59:PacketWorldBorder, 75:PacketTitle, 51:PacketBed },
709 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 88:PacketAdvancements, 9:PacketBlockBreakAnimation, 10:PacketTileEntityData, 11:PacketBlockAction, 12:PacketBlockChange, 13:PacketBossBar, 14:PacketDifficulty, 17:PacketTabComplete, 18:PacketDeclareCommands, 53:PacketFacePlayer, 85:PacketNbtQueryResponse, 15:PacketChat, 16:PacketMultiBlockChange, 20:PacketCloseWindow, 47:PacketOpenWindow, 21:PacketWindowItems, 22:PacketCraftProgressBar, 23:PacketSetSlot, 24:PacketSetCooldown, 25:PacketCustomPayload, 26:PacketNamedSoundEffect, 27:PacketKickDisconnect, 28:PacketEntityStatus, 29:PacketExplosion, 30:PacketUnloadChunk, 31:PacketGameStateChange, 32:PacketOpenHorseWindow, 33:PacketKeepAlive, 34:PacketMapChunk, 35:PacketWorldEvent, 36:PacketWorldParticles, 37:PacketUpdateLight, 38:PacketLogin, 39:PacketMap, 40:PacketTradeList, 41:PacketRelEntityMove, 42:PacketEntityMoveLook, 43:PacketEntityLook, 45:PacketVehicleMove, 46:PacketOpenBook, 48:PacketOpenSignEntity, 49:PacketCraftRecipeResponse, 50:PacketAbilities, 52:PacketPlayerInfo, 54:PacketPosition, 55:PacketUnlockRecipes, 56:PacketEntityDestroy, 57:PacketRemoveEntityEffect, 58:PacketResourcePackSend, 59:PacketRespawn, 60:PacketEntityHeadRotation, 63:PacketCamera, 64:PacketHeldItemSlot, 65:PacketUpdateViewPosition, 66:PacketUpdateViewDistance, 68:PacketScoreboardDisplayObjective, 69:PacketEntityMetadata, 70:PacketAttachEntity, 71:PacketEntityVelocity, 72:PacketEntityEquipment, 73:PacketExperience, 74:PacketUpdateHealth, 75:PacketScoreboardObjective, 76:PacketSetPassengers, 77:PacketTeams, 78:PacketScoreboardScore, 67:PacketSpawnPosition, 79:PacketUpdateTime, 81:PacketEntitySoundEffect, 83:PacketStopSound, 82:PacketSoundEffect, 84:PacketPlayerlistHeader, 86:PacketCollect, 87:PacketEntityTeleport, 89:PacketEntityUpdateAttributes, 90:PacketEntityEffect, 61:PacketSelectAdvancementTab, 91:PacketDeclareRecipes, 92:PacketTags, 8:PacketAcknowledgePlayerDigging, 2:PacketSpawnEntityWeather, 19:PacketTransaction, 44:PacketEntity, 51:PacketCombatEvent, 62:PacketWorldBorder, 80:PacketTitle },
110 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 3:PacketSpawnEntityLiving, 4:PacketSpawnEntityPainting, 5:PacketNamedEntitySpawn, 6:PacketAnimation, 7:PacketStatistics, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 14:PacketTabComplete, 15:PacketChat, 16:PacketMultiBlockChange, 18:PacketCloseWindow, 19:PacketOpenWindow, 20:PacketWindowItems, 21:PacketCraftProgressBar, 22:PacketSetSlot, 23:PacketSetCooldown, 24:PacketCustomPayload, 25:PacketNamedSoundEffect, 26:PacketKickDisconnect, 27:PacketEntityStatus, 28:PacketExplosion, 29:PacketUnloadChunk, 30:PacketGameStateChange, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketLogin, 36:PacketMap, 37:PacketRelEntityMove, 38:PacketEntityMoveLook, 39:PacketEntityLook, 41:PacketVehicleMove, 42:PacketOpenSignEntity, 43:PacketAbilities, 45:PacketPlayerInfo, 46:PacketPosition, 48:PacketEntityDestroy, 49:PacketRemoveEntityEffect, 50:PacketResourcePackSend, 51:PacketRespawn, 52:PacketEntityHeadRotation, 54:PacketCamera, 55:PacketHeldItemSlot, 56:PacketScoreboardDisplayObjective, 57:PacketEntityMetadata, 58:PacketAttachEntity, 59:PacketEntityVelocity, 60:PacketEntityEquipment, 61:PacketExperience, 62:PacketUpdateHealth, 63:PacketScoreboardObjective, 64:PacketSetPassengers, 65:PacketTeams, 66:PacketScoreboardScore, 67:PacketSpawnPosition, 68:PacketUpdateTime, 70:PacketSoundEffect, 71:PacketPlayerlistHeader, 72:PacketCollect, 73:PacketEntityTeleport, 74:PacketEntityUpdateAttributes, 75:PacketEntityEffect, 2:PacketSpawnEntityWeather, 17:PacketTransaction, 40:PacketEntity, 44:PacketCombatEvent, 53:PacketWorldBorder, 69:PacketTitle, 47:PacketBed },
751 : { 0:PacketSpawnEntity, 1:PacketSpawnEntityExperienceOrb, 2:PacketSpawnEntityLiving, 3:PacketSpawnEntityPainting, 4:PacketNamedEntitySpawn, 5:PacketAnimation, 6:PacketStatistics, 87:PacketAdvancements, 8:PacketBlockBreakAnimation, 9:PacketTileEntityData, 10:PacketBlockAction, 11:PacketBlockChange, 12:PacketBossBar, 13:PacketDifficulty, 15:PacketTabComplete, 16:PacketDeclareCommands, 51:PacketFacePlayer, 84:PacketNbtQueryResponse, 14:PacketChat, 59:PacketMultiBlockChange, 18:PacketCloseWindow, 45:PacketOpenWindow, 19:PacketWindowItems, 20:PacketCraftProgressBar, 21:PacketSetSlot, 22:PacketSetCooldown, 23:PacketCustomPayload, 24:PacketNamedSoundEffect, 25:PacketKickDisconnect, 26:PacketEntityStatus, 27:PacketExplosion, 28:PacketUnloadChunk, 29:PacketGameStateChange, 30:PacketOpenHorseWindow, 31:PacketKeepAlive, 32:PacketMapChunk, 33:PacketWorldEvent, 34:PacketWorldParticles, 35:PacketUpdateLight, 36:PacketLogin, 37:PacketMap, 38:PacketTradeList, 39:PacketRelEntityMove, 40:PacketEntityMoveLook, 41:PacketEntityLook, 43:PacketVehicleMove, 44:PacketOpenBook, 46:PacketOpenSignEntity, 47:PacketCraftRecipeResponse, 48:PacketAbilities, 50:PacketPlayerInfo, 52:PacketPosition, 53:PacketUnlockRecipes, 54:PacketEntityDestroy, 55:PacketRemoveEntityEffect, 56:PacketResourcePackSend, 57:PacketRespawn, 58:PacketEntityHeadRotation, 62:PacketCamera, 63:PacketHeldItemSlot, 64:PacketUpdateViewPosition, 65:PacketUpdateViewDistance, 67:PacketScoreboardDisplayObjective, 68:PacketEntityMetadata, 69:PacketAttachEntity, 70:PacketEntityVelocity, 71:PacketEntityEquipment, 72:PacketExperience, 73:PacketUpdateHealth, 74:PacketScoreboardObjective, 75:PacketSetPassengers, 76:PacketTeams, 77:PacketScoreboardScore, 66:PacketSpawnPosition, 78:PacketUpdateTime, 80:PacketEntitySoundEffect, 82:PacketStopSound, 81:PacketSoundEffect, 83:PacketPlayerlistHeader, 85:PacketCollect, 86:PacketEntityTeleport, 88:PacketEntityUpdateAttributes, 89:PacketEntityEffect, 60:PacketSelectAdvancementTab, 90:PacketDeclareRecipes, 91:PacketTags, 7:PacketAcknowledgePlayerDigging, 17:PacketTransaction, 42:PacketEntity, 49:PacketCombatEvent, 61:PacketWorldBorder, 79:PacketTitle }
}

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import *
class PacketAbilities(Packet):
__slots__ = ( 'id', 'flyingSpeed', 'flags', 'walkingSpeed' )
__slots__ = ( 'id', 'flags', 'flyingSpeed', 'walkingSpeed' )
flyingSpeed : float
flags : int
flyingSpeed : float
walkingSpeed : float
def __init__(self, proto:int,
flags:int=None,
flyingSpeed:float=None,
walkingSpeed:float=None
):
super().__init__(proto,
flags=flags,
flyingSpeed=flyingSpeed,
walkingSpeed=walkingSpeed
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 57,
47 : 57,
76 : 43,
107 : 43,
@ -51,11 +61,9 @@ class PacketAbilities(Packet):
751 : 48,
755 : 50,
756 : 50,
757 : 50,
1073741839 : 49
757 : 50
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
47 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
76 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
107 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
@ -92,6 +100,5 @@ class PacketAbilities(Packet):
751 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
755 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
756 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
757 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
1073741839 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ]
757 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ]
}

View file

@ -5,12 +5,25 @@ from ....packet import Packet
from ....types import *
class PacketAcknowledgePlayerDigging(Packet):
__slots__ = ( 'id', 'location', 'status', 'successful', 'block' )
__slots__ = ( 'id', 'block', 'location', 'status', 'successful' )
block : int
location : tuple
status : int
successful : bool
block : int
def __init__(self, proto:int,
block:int=None,
location:tuple=None,
status:int=None,
successful:bool=None
):
super().__init__(proto,
block=block,
location=location,
status=status,
successful=successful
)
_state : int = 3
@ -26,8 +39,7 @@ class PacketAcknowledgePlayerDigging(Packet):
751 : 7,
755 : 8,
756 : 8,
757 : 8,
1073741839 : 8
757 : 8
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
498 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ],
@ -41,6 +53,5 @@ class PacketAcknowledgePlayerDigging(Packet):
751 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ],
755 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ],
756 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ],
757 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ],
1073741839 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ]
757 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ]
}

View file

@ -9,6 +9,13 @@ class PacketActionBar(Packet):
text : str
def __init__(self, proto:int,
text:str=None
):
super().__init__(proto,
text=text
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -9,6 +9,13 @@ class PacketAdvancementProgress(Packet):
id : tuple
def __init__(self, proto:int,
id:tuple=None
):
super().__init__(proto,
id=id
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -5,12 +5,25 @@ from ....packet import Packet
from ....types import *
class PacketAdvancements(Packet):
__slots__ = ( 'id', 'reset', 'progressMapping', 'advancementMapping', 'identifiers' )
__slots__ = ( 'id', 'advancementMapping', 'identifiers', 'progressMapping', 'reset' )
reset : bool
progressMapping : list
advancementMapping : list
identifiers : list
progressMapping : list
reset : bool
def __init__(self, proto:int,
advancementMapping:list=None,
identifiers:list=None,
progressMapping:list=None,
reset:bool=None
):
super().__init__(proto,
advancementMapping=advancementMapping,
identifiers=identifiers,
progressMapping=progressMapping,
reset=reset
)
_state : int = 3
@ -41,8 +54,7 @@ class PacketAdvancements(Packet):
751 : 87,
755 : 98,
756 : 98,
757 : 99,
1073741839 : 88
757 : 99
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
321 : [ ( 'reset', Boolean ), ( 'advancementMapping', ArrayType(StructType(( 'key', String ), ( 'value', StructType(( 'parentId', OptionalType(String, ) ), ( 'displayData', OptionalType(StructType(( 'title', String ), ( 'description', String ), ( 'icon', VarInt ), ( 'frameType', VarInt ), ( 'backgroundTexture', OptionalType(String, ) ), ( 'xCord', VarInt ), ( 'yCord', VarInt ), ), ) ), ( 'criteria', ArrayType(StructType(( 'key', String ), ( 'value', Void ), ), VarInt, ) ), ( 'requirements', ArrayType(ArrayType(String, VarInt, ), VarInt, ) ), ) ), ), VarInt, ) ), ( 'identifiers', ArrayType(String, VarInt, ) ), ( 'progressMapping', ArrayType(StructType(( 'key', String ), ( 'value', ArrayType(StructType(( 'criterionIdentifier', String ), ( 'criterionProgress', OptionalType(Long, ) ), ), VarInt, ) ), ), VarInt, ) ) ],
@ -71,6 +83,5 @@ class PacketAdvancements(Packet):
751 : [ ( 'reset', Boolean ), ( 'advancementMapping', ArrayType(StructType(( 'key', String ), ( 'value', StructType(( 'parentId', OptionalType(String, ) ), ( 'displayData', OptionalType(StructType(( 'title', String ), ( 'description', String ), ( 'icon', Slot ), ( 'frameType', VarInt ), ( 'flags', Int ), ( 'backgroundTexture', SwitchType('has_background_texture', { 1 : String }, None, ) ), ( 'xCord', Float ), ( 'yCord', Float ), ), ) ), ( 'criteria', ArrayType(StructType(( 'key', String ), ( 'value', Void ), ), VarInt, ) ), ( 'requirements', ArrayType(ArrayType(String, VarInt, ), VarInt, ) ), ) ), ), VarInt, ) ), ( 'identifiers', ArrayType(String, VarInt, ) ), ( 'progressMapping', ArrayType(StructType(( 'key', String ), ( 'value', ArrayType(StructType(( 'criterionIdentifier', String ), ( 'criterionProgress', OptionalType(Long, ) ), ), VarInt, ) ), ), VarInt, ) ) ],
755 : [ ( 'reset', Boolean ), ( 'advancementMapping', ArrayType(StructType(( 'key', String ), ( 'value', StructType(( 'parentId', OptionalType(String, ) ), ( 'displayData', OptionalType(StructType(( 'title', String ), ( 'description', String ), ( 'icon', Slot ), ( 'frameType', VarInt ), ( 'flags', Int ), ( 'backgroundTexture', SwitchType('has_background_texture', { 1 : String }, None, ) ), ( 'xCord', Float ), ( 'yCord', Float ), ), ) ), ( 'criteria', ArrayType(StructType(( 'key', String ), ( 'value', Void ), ), VarInt, ) ), ( 'requirements', ArrayType(ArrayType(String, VarInt, ), VarInt, ) ), ) ), ), VarInt, ) ), ( 'identifiers', ArrayType(String, VarInt, ) ), ( 'progressMapping', ArrayType(StructType(( 'key', String ), ( 'value', ArrayType(StructType(( 'criterionIdentifier', String ), ( 'criterionProgress', OptionalType(Long, ) ), ), VarInt, ) ), ), VarInt, ) ) ],
756 : [ ( 'reset', Boolean ), ( 'advancementMapping', ArrayType(StructType(( 'key', String ), ( 'value', StructType(( 'parentId', OptionalType(String, ) ), ( 'displayData', OptionalType(StructType(( 'title', String ), ( 'description', String ), ( 'icon', Slot ), ( 'frameType', VarInt ), ( 'flags', Int ), ( 'backgroundTexture', SwitchType('has_background_texture', { 1 : String }, None, ) ), ( 'xCord', Float ), ( 'yCord', Float ), ), ) ), ( 'criteria', ArrayType(StructType(( 'key', String ), ( 'value', Void ), ), VarInt, ) ), ( 'requirements', ArrayType(ArrayType(String, VarInt, ), VarInt, ) ), ) ), ), VarInt, ) ), ( 'identifiers', ArrayType(String, VarInt, ) ), ( 'progressMapping', ArrayType(StructType(( 'key', String ), ( 'value', ArrayType(StructType(( 'criterionIdentifier', String ), ( 'criterionProgress', OptionalType(Long, ) ), ), VarInt, ) ), ), VarInt, ) ) ],
757 : [ ( 'reset', Boolean ), ( 'advancementMapping', ArrayType(StructType(( 'key', String ), ( 'value', StructType(( 'parentId', OptionalType(String, ) ), ( 'displayData', OptionalType(StructType(( 'title', String ), ( 'description', String ), ( 'icon', Slot ), ( 'frameType', VarInt ), ( 'flags', Int ), ( 'backgroundTexture', SwitchType('has_background_texture', { 1 : String }, None, ) ), ( 'xCord', Float ), ( 'yCord', Float ), ), ) ), ( 'criteria', ArrayType(StructType(( 'key', String ), ( 'value', Void ), ), VarInt, ) ), ( 'requirements', ArrayType(ArrayType(String, VarInt, ), VarInt, ) ), ) ), ), VarInt, ) ), ( 'identifiers', ArrayType(String, VarInt, ) ), ( 'progressMapping', ArrayType(StructType(( 'key', String ), ( 'value', ArrayType(StructType(( 'criterionIdentifier', String ), ( 'criterionProgress', OptionalType(Long, ) ), ), VarInt, ) ), ), VarInt, ) ) ],
1073741839 : [ ( 'reset', Boolean ), ( 'advancementMapping', ArrayType(StructType(( 'key', String ), ( 'value', StructType(( 'parentId', OptionalType(String, ) ), ( 'displayData', OptionalType(StructType(( 'title', String ), ( 'description', String ), ( 'icon', Slot ), ( 'frameType', VarInt ), ( 'flags', Int ), ( 'backgroundTexture', SwitchType('has_background_texture', { 1 : String }, None, ) ), ( 'xCord', Float ), ( 'yCord', Float ), ), ) ), ( 'criteria', ArrayType(StructType(( 'key', String ), ( 'value', Void ), ), VarInt, ) ), ( 'requirements', ArrayType(ArrayType(String, VarInt, ), VarInt, ) ), ) ), ), VarInt, ) ), ( 'identifiers', ArrayType(String, VarInt, ) ), ( 'progressMapping', ArrayType(StructType(( 'key', String ), ( 'value', ArrayType(StructType(( 'criterionIdentifier', String ), ( 'criterionProgress', OptionalType(Long, ) ), ), VarInt, ) ), ), VarInt, ) ) ]
757 : [ ( 'reset', Boolean ), ( 'advancementMapping', ArrayType(StructType(( 'key', String ), ( 'value', StructType(( 'parentId', OptionalType(String, ) ), ( 'displayData', OptionalType(StructType(( 'title', String ), ( 'description', String ), ( 'icon', Slot ), ( 'frameType', VarInt ), ( 'flags', Int ), ( 'backgroundTexture', SwitchType('has_background_texture', { 1 : String }, None, ) ), ( 'xCord', Float ), ( 'yCord', Float ), ), ) ), ( 'criteria', ArrayType(StructType(( 'key', String ), ( 'value', Void ), ), VarInt, ) ), ( 'requirements', ArrayType(ArrayType(String, VarInt, ), VarInt, ) ), ) ), ), VarInt, ) ), ( 'identifiers', ArrayType(String, VarInt, ) ), ( 'progressMapping', ArrayType(StructType(( 'key', String ), ( 'value', ArrayType(StructType(( 'criterionIdentifier', String ), ( 'criterionProgress', OptionalType(Long, ) ), ), VarInt, ) ), ), VarInt, ) ) ]
}

View file

@ -10,10 +10,18 @@ class PacketAnimation(Packet):
animation : int
entityId : int
def __init__(self, proto:int,
animation:int=None,
entityId:int=None
):
super().__init__(proto,
animation=animation,
entityId=entityId
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 11,
47 : 11,
76 : 6,
107 : 6,
@ -50,11 +58,9 @@ class PacketAnimation(Packet):
751 : 5,
755 : 6,
756 : 6,
757 : 6,
1073741839 : 6
757 : 6
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ],
47 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ],
76 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ],
107 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ],
@ -91,6 +97,5 @@ class PacketAnimation(Packet):
751 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ],
755 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ],
756 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ],
757 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ]
757 : [ ( 'entityId', VarInt ), ( 'animation', Byte ) ]
}

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import *
class PacketAttachEntity(Packet):
__slots__ = ( 'id', 'vehicleId', 'entityId', 'leash' )
__slots__ = ( 'id', 'entityId', 'leash', 'vehicleId' )
vehicleId : int
entityId : int
leash : bool
vehicleId : int
def __init__(self, proto:int,
entityId:int=None,
leash:bool=None,
vehicleId:int=None
):
super().__init__(proto,
entityId=entityId,
leash=leash,
vehicleId=vehicleId
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 27,
47 : 27,
76 : 58,
107 : 58,
@ -51,11 +61,9 @@ class PacketAttachEntity(Packet):
751 : 69,
755 : 78,
756 : 78,
757 : 78,
1073741839 : 70
757 : 78
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'vehicleId', Int ), ( 'leash', Boolean ) ],
47 : [ ( 'entityId', Int ), ( 'vehicleId', Int ), ( 'leash', Boolean ) ],
76 : [ ( 'entityId', Int ), ( 'vehicleId', Int ), ( 'leash', Boolean ) ],
107 : [ ( 'entityId', Int ), ( 'vehicleId', Int ) ],
@ -92,6 +100,5 @@ class PacketAttachEntity(Packet):
751 : [ ( 'entityId', Int ), ( 'vehicleId', Int ) ],
755 : [ ( 'entityId', Int ), ( 'vehicleId', Int ) ],
756 : [ ( 'entityId', Int ), ( 'vehicleId', Int ) ],
757 : [ ( 'entityId', Int ), ( 'vehicleId', Int ) ],
1073741839 : [ ( 'entityId', Int ), ( 'vehicleId', Int ) ]
757 : [ ( 'entityId', Int ), ( 'vehicleId', Int ) ]
}

View file

@ -5,15 +5,23 @@ from ....packet import Packet
from ....types import *
class PacketBed(Packet):
__slots__ = ( 'id', 'location', 'entityId' )
__slots__ = ( 'id', 'entityId', 'location' )
location : Union[bytes,tuple]
entityId : int
location : tuple
def __init__(self, proto:int,
entityId:int=None,
location:tuple=None
):
super().__init__(proto,
entityId=entityId,
location=location
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 10,
47 : 10,
76 : 47,
107 : 47,
@ -38,7 +46,6 @@ class PacketBed(Packet):
404 : 51
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'location', TrailingData ) ],
47 : [ ( 'entityId', VarInt ), ( 'location', Position ) ],
76 : [ ( 'entityId', VarInt ), ( 'location', Position ) ],
107 : [ ( 'entityId', VarInt ), ( 'location', Position ) ],

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import *
class PacketBlockAction(Packet):
__slots__ = ( 'id', 'location', 'byte2', 'blockId', 'byte1' )
__slots__ = ( 'id', 'blockId', 'byte1', 'byte2', 'location' )
location : Union[bytes,tuple]
byte2 : int
blockId : int
byte1 : int
byte2 : int
location : tuple
def __init__(self, proto:int,
blockId:int=None,
byte1:int=None,
byte2:int=None,
location:tuple=None
):
super().__init__(proto,
blockId=blockId,
byte1=byte1,
byte2=byte2,
location=location
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 36,
47 : 36,
76 : 10,
107 : 10,
@ -52,11 +64,9 @@ class PacketBlockAction(Packet):
751 : 10,
755 : 11,
756 : 11,
757 : 11,
1073741839 : 11
757 : 11
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'location', TrailingData ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
47 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
76 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
107 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
@ -93,6 +103,5 @@ class PacketBlockAction(Packet):
751 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
755 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
756 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
757 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
1073741839 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ]
757 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ]
}

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import *
class PacketBlockBreakAnimation(Packet):
__slots__ = ( 'id', 'location', 'destroyStage', 'entityId' )
__slots__ = ( 'id', 'destroyStage', 'entityId', 'location' )
location : Union[bytes,tuple]
destroyStage : int
entityId : int
location : tuple
def __init__(self, proto:int,
destroyStage:int=None,
entityId:int=None,
location:tuple=None
):
super().__init__(proto,
destroyStage=destroyStage,
entityId=entityId,
location=location
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 37,
47 : 37,
76 : 8,
107 : 8,
@ -51,11 +61,9 @@ class PacketBlockBreakAnimation(Packet):
751 : 8,
755 : 9,
756 : 9,
757 : 9,
1073741839 : 9
757 : 9
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', VarInt ), ( 'location', TrailingData ), ( 'destroyStage', Byte ) ],
47 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
76 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
107 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
@ -92,6 +100,5 @@ class PacketBlockBreakAnimation(Packet):
751 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
755 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
756 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
757 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ]
757 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ]
}

View file

@ -5,16 +5,23 @@ from ....packet import Packet
from ....types import *
class PacketBlockChange(Packet):
__slots__ = ( 'id', 'location', 'type', 'metadata' )
__slots__ = ( 'id', 'location', 'type' )
location : Union[bytes,tuple]
location : tuple
type : int
metadata : int
def __init__(self, proto:int,
location:tuple=None,
type:int=None
):
super().__init__(proto,
location=location,
type=type
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 35,
47 : 35,
76 : 11,
107 : 11,
@ -51,11 +58,9 @@ class PacketBlockChange(Packet):
751 : 11,
755 : 12,
756 : 12,
757 : 12,
1073741839 : 12
757 : 12
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'location', TrailingData ), ( 'type', VarInt ), ( 'metadata', Byte ) ],
47 : [ ( 'location', Position ), ( 'type', VarInt ) ],
76 : [ ( 'location', Position ), ( 'type', VarInt ) ],
107 : [ ( 'location', Position ), ( 'type', VarInt ) ],
@ -92,6 +97,5 @@ class PacketBlockChange(Packet):
751 : [ ( 'location', Position ), ( 'type', VarInt ) ],
755 : [ ( 'location', Position ), ( 'type', VarInt ) ],
756 : [ ( 'location', Position ), ( 'type', VarInt ) ],
757 : [ ( 'location', Position ), ( 'type', VarInt ) ],
1073741839 : [ ( 'location', Position ), ( 'type', VarInt ) ]
757 : [ ( 'location', Position ), ( 'type', VarInt ) ]
}

View file

@ -5,16 +5,35 @@ from ....packet import Packet
from ....types import *
class PacketBossBar(Packet):
__slots__ = ( 'id', 'health', 'flags', 'dividers', 'entityUUID', 'action', 'color', 'title' )
__slots__ = ( 'id', 'action', 'color', 'dividers', 'entityUUID', 'flags', 'health', 'title' )
health : bytes
flags : bytes
dividers : bytes
entityUUID : str
action : int
color : bytes
dividers : bytes
entityUUID : str
flags : bytes
health : bytes
title : bytes
def __init__(self, proto:int,
action:int=None,
color:bytes=None,
dividers:bytes=None,
entityUUID:str=None,
flags:bytes=None,
health:bytes=None,
title:bytes=None
):
super().__init__(proto,
action=action,
color=color,
dividers=dividers,
entityUUID=entityUUID,
flags=flags,
health=health,
title=title
)
_state : int = 3
_ids : Dict[int, int] = {
@ -53,8 +72,7 @@ class PacketBossBar(Packet):
751 : 12,
755 : 13,
756 : 13,
757 : 13,
1073741839 : 13
757 : 13
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
76 : [ ( 'entityUUID', UUID ), ( 'action', VarInt ), ( 'title', SwitchType('action', { 0 : String, 3 : String }, None, ) ), ( 'health', SwitchType('action', { 0 : Float, 2 : Float }, None, ) ), ( 'color', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'dividers', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'flags', SwitchType('action', { 0 : Byte, 5 : Byte }, None, ) ) ],
@ -92,6 +110,5 @@ class PacketBossBar(Packet):
751 : [ ( 'entityUUID', UUID ), ( 'action', VarInt ), ( 'title', SwitchType('action', { 0 : String, 3 : String }, None, ) ), ( 'health', SwitchType('action', { 0 : Float, 2 : Float }, None, ) ), ( 'color', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'dividers', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'flags', SwitchType('action', { 0 : Byte, 5 : Byte }, None, ) ) ],
755 : [ ( 'entityUUID', UUID ), ( 'action', VarInt ), ( 'title', SwitchType('action', { 0 : String, 3 : String }, None, ) ), ( 'health', SwitchType('action', { 0 : Float, 2 : Float }, None, ) ), ( 'color', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'dividers', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'flags', SwitchType('action', { 0 : Byte, 5 : Byte }, None, ) ) ],
756 : [ ( 'entityUUID', UUID ), ( 'action', VarInt ), ( 'title', SwitchType('action', { 0 : String, 3 : String }, None, ) ), ( 'health', SwitchType('action', { 0 : Float, 2 : Float }, None, ) ), ( 'color', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'dividers', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'flags', SwitchType('action', { 0 : Byte, 5 : Byte }, None, ) ) ],
757 : [ ( 'entityUUID', UUID ), ( 'action', VarInt ), ( 'title', SwitchType('action', { 0 : String, 3 : String }, None, ) ), ( 'health', SwitchType('action', { 0 : Float, 2 : Float }, None, ) ), ( 'color', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'dividers', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'flags', SwitchType('action', { 0 : Byte, 5 : Byte }, None, ) ) ],
1073741839 : [ ( 'entityUUID', UUID ), ( 'action', VarInt ), ( 'title', SwitchType('action', { 0 : String, 3 : String }, None, ) ), ( 'health', SwitchType('action', { 0 : Float, 2 : Float }, None, ) ), ( 'color', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'dividers', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'flags', SwitchType('action', { 0 : Byte, 5 : Byte }, None, ) ) ]
757 : [ ( 'entityUUID', UUID ), ( 'action', VarInt ), ( 'title', SwitchType('action', { 0 : String, 3 : String }, None, ) ), ( 'health', SwitchType('action', { 0 : Float, 2 : Float }, None, ) ), ( 'color', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'dividers', SwitchType('action', { 0 : VarInt, 4 : VarInt }, None, ) ), ( 'flags', SwitchType('action', { 0 : Byte, 5 : Byte }, None, ) ) ]
}

View file

@ -9,6 +9,13 @@ class PacketCamera(Packet):
cameraId : int
def __init__(self, proto:int,
cameraId:int=None
):
super().__init__(proto,
cameraId=cameraId
)
_state : int = 3
_ids : Dict[int, int] = {
@ -48,8 +55,7 @@ class PacketCamera(Packet):
751 : 62,
755 : 71,
756 : 71,
757 : 71,
1073741839 : 63
757 : 71
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
47 : [ ( 'cameraId', VarInt ) ],
@ -88,6 +94,5 @@ class PacketCamera(Packet):
751 : [ ( 'cameraId', VarInt ) ],
755 : [ ( 'cameraId', VarInt ) ],
756 : [ ( 'cameraId', VarInt ) ],
757 : [ ( 'cameraId', VarInt ) ],
1073741839 : [ ( 'cameraId', VarInt ) ]
757 : [ ( 'cameraId', VarInt ) ]
}

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import *
class PacketChat(Packet):
__slots__ = ( 'id', 'message', 'sender', 'position' )
__slots__ = ( 'id', 'message', 'position', 'sender' )
message : str
sender : str
position : int
sender : str
def __init__(self, proto:int,
message:str=None,
position:int=None,
sender:str=None
):
super().__init__(proto,
message=message,
position=position,
sender=sender
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 2,
47 : 2,
76 : 15,
107 : 15,
@ -51,11 +61,9 @@ class PacketChat(Packet):
751 : 14,
755 : 15,
756 : 15,
757 : 15,
1073741839 : 15
757 : 15
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'message', String ) ],
47 : [ ( 'message', String ), ( 'position', Byte ) ],
76 : [ ( 'message', String ), ( 'position', Byte ) ],
107 : [ ( 'message', String ), ( 'position', Byte ) ],
@ -92,6 +100,5 @@ class PacketChat(Packet):
751 : [ ( 'message', String ), ( 'position', Byte ), ( 'sender', UUID ) ],
755 : [ ( 'message', String ), ( 'position', Byte ), ( 'sender', UUID ) ],
756 : [ ( 'message', String ), ( 'position', Byte ), ( 'sender', UUID ) ],
757 : [ ( 'message', String ), ( 'position', Byte ), ( 'sender', UUID ) ],
1073741839 : [ ( 'message', String ), ( 'position', Byte ), ( 'sender', UUID ) ]
757 : [ ( 'message', String ), ( 'position', Byte ), ( 'sender', UUID ) ]
}

View file

@ -9,6 +9,13 @@ class PacketClearTitles(Packet):
reset : bool
def __init__(self, proto:int,
reset:bool=None
):
super().__init__(proto,
reset=reset
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -9,10 +9,16 @@ class PacketCloseWindow(Packet):
windowId : int
def __init__(self, proto:int,
windowId:int=None
):
super().__init__(proto,
windowId=windowId
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 46,
47 : 46,
76 : 18,
107 : 18,
@ -49,11 +55,9 @@ class PacketCloseWindow(Packet):
751 : 18,
755 : 19,
756 : 19,
757 : 19,
1073741839 : 19
757 : 19
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'windowId', Byte ) ],
47 : [ ( 'windowId', Byte ) ],
76 : [ ( 'windowId', Byte ) ],
107 : [ ( 'windowId', Byte ) ],
@ -90,6 +94,5 @@ class PacketCloseWindow(Packet):
751 : [ ( 'windowId', Byte ) ],
755 : [ ( 'windowId', Byte ) ],
756 : [ ( 'windowId', Byte ) ],
757 : [ ( 'windowId', Byte ) ],
1073741839 : [ ( 'windowId', Byte ) ]
757 : [ ( 'windowId', Byte ) ]
}

View file

@ -11,10 +11,20 @@ class PacketCollect(Packet):
collectorEntityId : int
pickupItemCount : int
def __init__(self, proto:int,
collectedEntityId:int=None,
collectorEntityId:int=None,
pickupItemCount:int=None
):
super().__init__(proto,
collectedEntityId=collectedEntityId,
collectorEntityId=collectorEntityId,
pickupItemCount=pickupItemCount
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 13,
47 : 13,
76 : 71,
107 : 73,
@ -51,11 +61,9 @@ class PacketCollect(Packet):
751 : 85,
755 : 96,
756 : 96,
757 : 97,
1073741839 : 86
757 : 97
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'collectedEntityId', Int ), ( 'collectorEntityId', Int ) ],
47 : [ ( 'collectedEntityId', VarInt ), ( 'collectorEntityId', VarInt ) ],
76 : [ ( 'collectedEntityId', VarInt ), ( 'collectorEntityId', VarInt ) ],
107 : [ ( 'collectedEntityId', VarInt ), ( 'collectorEntityId', VarInt ) ],
@ -92,6 +100,5 @@ class PacketCollect(Packet):
751 : [ ( 'collectedEntityId', VarInt ), ( 'collectorEntityId', VarInt ), ( 'pickupItemCount', VarInt ) ],
755 : [ ( 'collectedEntityId', VarInt ), ( 'collectorEntityId', VarInt ), ( 'pickupItemCount', VarInt ) ],
756 : [ ( 'collectedEntityId', VarInt ), ( 'collectorEntityId', VarInt ), ( 'pickupItemCount', VarInt ) ],
757 : [ ( 'collectedEntityId', VarInt ), ( 'collectorEntityId', VarInt ), ( 'pickupItemCount', VarInt ) ],
1073741839 : [ ( 'collectedEntityId', VarInt ), ( 'collectorEntityId', VarInt ), ( 'pickupItemCount', VarInt ) ]
757 : [ ( 'collectedEntityId', VarInt ), ( 'collectorEntityId', VarInt ), ( 'pickupItemCount', VarInt ) ]
}

View file

@ -5,13 +5,28 @@ from ....packet import Packet
from ....types import *
class PacketCombatEvent(Packet):
__slots__ = ( 'id', 'entityId', 'event', 'message', 'playerId', 'duration' )
__slots__ = ( 'id', 'duration', 'entityId', 'event', 'message', 'playerId' )
duration : bytes
entityId : bytes
event : int
message : bytes
playerId : bytes
duration : bytes
def __init__(self, proto:int,
duration:bytes=None,
entityId:bytes=None,
event:int=None,
message:bytes=None,
playerId:bytes=None
):
super().__init__(proto,
duration=duration,
entityId=entityId,
event=event,
message=message,
playerId=playerId
)
_state : int = 3
@ -49,8 +64,7 @@ class PacketCombatEvent(Packet):
734 : 50,
735 : 50,
736 : 50,
751 : 49,
1073741839 : 50
751 : 49
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
47 : [ ( 'event', VarInt ), ( 'duration', SwitchType('event', { 1 : VarInt }, None, ) ), ( 'playerId', SwitchType('event', { 2 : VarInt }, None, ) ), ( 'entityId', SwitchType('event', { 1 : Int, 2 : Int }, None, ) ), ( 'message', SwitchType('event', { 2 : String }, None, ) ) ],
@ -86,6 +100,5 @@ class PacketCombatEvent(Packet):
734 : [ ( 'event', VarInt ), ( 'duration', SwitchType('event', { 1 : VarInt }, None, ) ), ( 'playerId', SwitchType('event', { 2 : VarInt }, None, ) ), ( 'entityId', SwitchType('event', { 1 : Int, 2 : Int }, None, ) ), ( 'message', SwitchType('event', { 2 : String }, None, ) ) ],
735 : [ ( 'event', VarInt ), ( 'duration', SwitchType('event', { 1 : VarInt }, None, ) ), ( 'playerId', SwitchType('event', { 2 : VarInt }, None, ) ), ( 'entityId', SwitchType('event', { 1 : Int, 2 : Int }, None, ) ), ( 'message', SwitchType('event', { 2 : String }, None, ) ) ],
736 : [ ( 'event', VarInt ), ( 'duration', SwitchType('event', { 1 : VarInt }, None, ) ), ( 'playerId', SwitchType('event', { 2 : VarInt }, None, ) ), ( 'entityId', SwitchType('event', { 1 : Int, 2 : Int }, None, ) ), ( 'message', SwitchType('event', { 2 : String }, None, ) ) ],
751 : [ ( 'event', VarInt ), ( 'duration', SwitchType('event', { 1 : VarInt }, None, ) ), ( 'playerId', SwitchType('event', { 2 : VarInt }, None, ) ), ( 'entityId', SwitchType('event', { 1 : Int, 2 : Int }, None, ) ), ( 'message', SwitchType('event', { 2 : String }, None, ) ) ],
1073741839 : [ ( 'event', VarInt ), ( 'duration', SwitchType('event', { 1 : VarInt }, None, ) ), ( 'playerId', SwitchType('event', { 2 : VarInt }, None, ) ), ( 'entityId', SwitchType('event', { 1 : Int, 2 : Int }, None, ) ), ( 'message', SwitchType('event', { 2 : String }, None, ) ) ]
751 : [ ( 'event', VarInt ), ( 'duration', SwitchType('event', { 1 : VarInt }, None, ) ), ( 'playerId', SwitchType('event', { 2 : VarInt }, None, ) ), ( 'entityId', SwitchType('event', { 1 : Int, 2 : Int }, None, ) ), ( 'message', SwitchType('event', { 2 : String }, None, ) ) ]
}

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import *
class PacketCraftProgressBar(Packet):
__slots__ = ( 'id', 'value', 'windowId', 'property' )
__slots__ = ( 'id', 'property', 'value', 'windowId' )
property : int
value : int
windowId : int
property : int
def __init__(self, proto:int,
property:int=None,
value:int=None,
windowId:int=None
):
super().__init__(proto,
property=property,
value=value,
windowId=windowId
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 49,
47 : 49,
76 : 21,
107 : 21,
@ -51,11 +61,9 @@ class PacketCraftProgressBar(Packet):
751 : 20,
755 : 21,
756 : 21,
757 : 21,
1073741839 : 21
757 : 21
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
47 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
76 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
107 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
@ -92,6 +100,5 @@ class PacketCraftProgressBar(Packet):
751 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
755 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
756 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
757 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
1073741839 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ]
757 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ]
}

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import *
class PacketCraftRecipeResponse(Packet):
__slots__ = ( 'id', 'windowId', 'recipe' )
__slots__ = ( 'id', 'recipe', 'windowId' )
recipe : Union[int,str]
windowId : int
recipe : Union[str,int]
def __init__(self, proto:int,
recipe:Union[int,str]=None,
windowId:int=None
):
super().__init__(proto,
recipe=recipe,
windowId=windowId
)
_state : int = 3
@ -35,8 +44,7 @@ class PacketCraftRecipeResponse(Packet):
751 : 47,
755 : 49,
756 : 49,
757 : 49,
1073741839 : 48
757 : 49
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
338 : [ ( 'windowId', Byte ), ( 'recipe', VarInt ) ],
@ -61,6 +69,5 @@ class PacketCraftRecipeResponse(Packet):
751 : [ ( 'windowId', Byte ), ( 'recipe', String ) ],
755 : [ ( 'windowId', Byte ), ( 'recipe', String ) ],
756 : [ ( 'windowId', Byte ), ( 'recipe', String ) ],
757 : [ ( 'windowId', Byte ), ( 'recipe', String ) ],
1073741839 : [ ( 'windowId', Byte ), ( 'recipe', String ) ]
757 : [ ( 'windowId', Byte ), ( 'recipe', String ) ]
}

View file

@ -10,10 +10,18 @@ class PacketCustomPayload(Packet):
channel : str
data : bytes
def __init__(self, proto:int,
channel:str=None,
data:bytes=None
):
super().__init__(proto,
channel=channel,
data=data
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 63,
47 : 63,
76 : 24,
107 : 24,
@ -50,11 +58,9 @@ class PacketCustomPayload(Packet):
751 : 23,
755 : 24,
756 : 24,
757 : 24,
1073741839 : 24
757 : 24
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'channel', String ), ( 'data', ByteArray ) ],
47 : [ ( 'channel', String ), ( 'data', TrailingData ) ],
76 : [ ( 'channel', String ), ( 'data', TrailingData ) ],
107 : [ ( 'channel', String ), ( 'data', TrailingData ) ],
@ -91,6 +97,5 @@ class PacketCustomPayload(Packet):
751 : [ ( 'channel', String ), ( 'data', TrailingData ) ],
755 : [ ( 'channel', String ), ( 'data', TrailingData ) ],
756 : [ ( 'channel', String ), ( 'data', TrailingData ) ],
757 : [ ( 'channel', String ), ( 'data', TrailingData ) ],
1073741839 : [ ( 'channel', String ), ( 'data', TrailingData ) ]
757 : [ ( 'channel', String ), ( 'data', TrailingData ) ]
}

View file

@ -5,12 +5,23 @@ from ....packet import Packet
from ....types import *
class PacketDeathCombatEvent(Packet):
__slots__ = ( 'id', 'message', 'entityId', 'playerId' )
__slots__ = ( 'id', 'entityId', 'message', 'playerId' )
message : str
entityId : int
message : str
playerId : int
def __init__(self, proto:int,
entityId:int=None,
message:str=None,
playerId:int=None
):
super().__init__(proto,
entityId=entityId,
message=message,
playerId=playerId
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -10,6 +10,15 @@ class PacketDeclareCommands(Packet):
nodes : list
rootIndex : int
def __init__(self, proto:int,
nodes:list=None,
rootIndex:int=None
):
super().__init__(proto,
nodes=nodes,
rootIndex=rootIndex
)
_state : int = 3
_ids : Dict[int, int] = {
@ -33,8 +42,7 @@ class PacketDeclareCommands(Packet):
751 : 16,
755 : 18,
756 : 18,
757 : 18,
1073741839 : 17
757 : 18
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
351 : [ ( 'nodes', ArrayType(StructType(( 'flags', Int ), ( 'children', ArrayType(VarInt, VarInt, ) ), ( 'redirectNode', SwitchType('has_redirect_node', { 1 : VarInt }, None, ) ), ( 'extraNodeData', SwitchType('command_node_type', { 0 : Void, 1 : String, 2 : StructType(( 'name', String ), ( 'parser', String ), ( 'properties', SwitchType('parser', { 'brigadier:double' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Double }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Double }, None, ) ), ), 'brigadier:float' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Float }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Float }, None, ) ), ), 'brigadier:integer' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Int }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Int }, None, ) ), ), 'brigadier:long' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Long }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Long }, None, ) ), ), 'brigadier:string' : VarInt, 'minecraft:entity' : Byte, 'minecraft:range' : Boolean, 'minecraft:score_holder' : Byte }, None, ) ), ( 'suggests', SwitchType('has_custom_suggestions', { 1 : String }, None, ) ), ) }, None, ) ), ), VarInt, ) ), ( 'rootIndex', VarInt ) ],
@ -57,6 +65,5 @@ class PacketDeclareCommands(Packet):
751 : [ ( 'nodes', ArrayType(StructType(( 'flags', Int ), ( 'children', ArrayType(VarInt, VarInt, ) ), ( 'redirectNode', SwitchType('has_redirect_node', { 1 : VarInt }, None, ) ), ( 'extraNodeData', SwitchType('command_node_type', { 0 : Void, 1 : String, 2 : StructType(( 'name', String ), ( 'parser', String ), ( 'properties', SwitchType('parser', { 'brigadier:double' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Double }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Double }, None, ) ), ), 'brigadier:float' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Float }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Float }, None, ) ), ), 'brigadier:integer' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Int }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Int }, None, ) ), ), 'brigadier:long' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Long }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Long }, None, ) ), ), 'brigadier:string' : VarInt, 'minecraft:entity' : Byte, 'minecraft:range' : Boolean, 'minecraft:score_holder' : Byte }, None, ) ), ( 'suggests', SwitchType('has_custom_suggestions', { 1 : String }, None, ) ), ) }, None, ) ), ), VarInt, ) ), ( 'rootIndex', VarInt ) ],
755 : [ ( 'nodes', ArrayType(StructType(( 'flags', Int ), ( 'children', ArrayType(VarInt, VarInt, ) ), ( 'redirectNode', SwitchType('has_redirect_node', { 1 : VarInt }, None, ) ), ( 'extraNodeData', SwitchType('command_node_type', { 0 : Void, 1 : String, 2 : StructType(( 'name', String ), ( 'parser', String ), ( 'properties', SwitchType('parser', { 'brigadier:double' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Double }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Double }, None, ) ), ), 'brigadier:float' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Float }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Float }, None, ) ), ), 'brigadier:integer' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Int }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Int }, None, ) ), ), 'brigadier:long' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Long }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Long }, None, ) ), ), 'brigadier:string' : VarInt, 'minecraft:entity' : Byte, 'minecraft:range' : Boolean, 'minecraft:score_holder' : Byte }, None, ) ), ( 'suggests', SwitchType('has_custom_suggestions', { 1 : String }, None, ) ), ) }, None, ) ), ), VarInt, ) ), ( 'rootIndex', VarInt ) ],
756 : [ ( 'nodes', ArrayType(StructType(( 'flags', Int ), ( 'children', ArrayType(VarInt, VarInt, ) ), ( 'redirectNode', SwitchType('has_redirect_node', { 1 : VarInt }, None, ) ), ( 'extraNodeData', SwitchType('command_node_type', { 0 : Void, 1 : String, 2 : StructType(( 'name', String ), ( 'parser', String ), ( 'properties', SwitchType('parser', { 'brigadier:double' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Double }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Double }, None, ) ), ), 'brigadier:float' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Float }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Float }, None, ) ), ), 'brigadier:integer' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Int }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Int }, None, ) ), ), 'brigadier:long' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Long }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Long }, None, ) ), ), 'brigadier:string' : VarInt, 'minecraft:entity' : Byte, 'minecraft:range' : Boolean, 'minecraft:score_holder' : Byte }, None, ) ), ( 'suggests', SwitchType('has_custom_suggestions', { 1 : String }, None, ) ), ) }, None, ) ), ), VarInt, ) ), ( 'rootIndex', VarInt ) ],
757 : [ ( 'nodes', ArrayType(StructType(( 'flags', Int ), ( 'children', ArrayType(VarInt, VarInt, ) ), ( 'redirectNode', SwitchType('has_redirect_node', { 1 : VarInt }, None, ) ), ( 'extraNodeData', SwitchType('command_node_type', { 0 : Void, 1 : String, 2 : StructType(( 'name', String ), ( 'parser', String ), ( 'properties', SwitchType('parser', { 'brigadier:double' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Double }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Double }, None, ) ), ), 'brigadier:float' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Float }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Float }, None, ) ), ), 'brigadier:integer' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Int }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Int }, None, ) ), ), 'brigadier:long' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Long }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Long }, None, ) ), ), 'brigadier:string' : VarInt, 'minecraft:entity' : Byte, 'minecraft:range' : Boolean, 'minecraft:score_holder' : Byte }, None, ) ), ( 'suggests', SwitchType('has_custom_suggestions', { 1 : String }, None, ) ), ) }, None, ) ), ), VarInt, ) ), ( 'rootIndex', VarInt ) ],
1073741839 : [ ( 'nodes', ArrayType(StructType(( 'flags', Int ), ( 'children', ArrayType(VarInt, VarInt, ) ), ( 'redirectNode', SwitchType('has_redirect_node', { 1 : VarInt }, None, ) ), ( 'extraNodeData', SwitchType('command_node_type', { 0 : Void, 1 : String, 2 : StructType(( 'name', String ), ( 'parser', String ), ( 'properties', SwitchType('parser', { 'brigadier:double' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Double }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Double }, None, ) ), ), 'brigadier:float' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Float }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Float }, None, ) ), ), 'brigadier:integer' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Int }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Int }, None, ) ), ), 'brigadier:long' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Long }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Long }, None, ) ), ), 'brigadier:string' : VarInt, 'minecraft:entity' : Byte, 'minecraft:range' : Boolean, 'minecraft:score_holder' : Byte }, None, ) ), ( 'suggests', SwitchType('has_custom_suggestions', { 1 : String }, None, ) ), ) }, None, ) ), ), VarInt, ) ), ( 'rootIndex', VarInt ) ]
757 : [ ( 'nodes', ArrayType(StructType(( 'flags', Int ), ( 'children', ArrayType(VarInt, VarInt, ) ), ( 'redirectNode', SwitchType('has_redirect_node', { 1 : VarInt }, None, ) ), ( 'extraNodeData', SwitchType('command_node_type', { 0 : Void, 1 : String, 2 : StructType(( 'name', String ), ( 'parser', String ), ( 'properties', SwitchType('parser', { 'brigadier:double' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Double }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Double }, None, ) ), ), 'brigadier:float' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Float }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Float }, None, ) ), ), 'brigadier:integer' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Int }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Int }, None, ) ), ), 'brigadier:long' : StructType(( 'flags', Int ), ( 'min', SwitchType('min_present', { 1 : Long }, None, ) ), ( 'max', SwitchType('max_present', { 1 : Long }, None, ) ), ), 'brigadier:string' : VarInt, 'minecraft:entity' : Byte, 'minecraft:range' : Boolean, 'minecraft:score_holder' : Byte }, None, ) ), ( 'suggests', SwitchType('has_custom_suggestions', { 1 : String }, None, ) ), ) }, None, ) ), ), VarInt, ) ), ( 'rootIndex', VarInt ) ]
}

View file

@ -9,6 +9,13 @@ class PacketDeclareRecipes(Packet):
recipes : list
def __init__(self, proto:int,
recipes:list=None
):
super().__init__(proto,
recipes=recipes
)
_state : int = 3
_ids : Dict[int, int] = {
@ -32,8 +39,7 @@ class PacketDeclareRecipes(Packet):
751 : 90,
755 : 101,
756 : 101,
757 : 102,
1073741839 : 91
757 : 102
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
351 : [ ( 'recipes', ArrayType(StructType(( 'recipeId', String ), ( 'type', String ), ( 'data', SwitchType('type', { 'crafting_shaped' : StructType(( 'width', VarInt ), ( 'height', VarInt ), ( 'group', String ), ( 'ingredients', ArrayType(ArrayType(ArrayType(Slot, VarInt, ), 'height', ), 'width', ) ), ( 'result', Slot ), ), 'crafting_shapeless' : StructType(( 'group', String ), ( 'ingredients', ArrayType(ArrayType(Slot, VarInt, ), VarInt, ) ), ( 'result', Slot ), ), 'crafting_special_armordye' : Void, 'crafting_special_banneraddpattern' : Void, 'crafting_special_bannerduplicate' : Void, 'crafting_special_bookcloning' : Void, 'crafting_special_firework_rocket' : Void, 'crafting_special_firework_star' : Void, 'crafting_special_firework_star_fade' : Void, 'crafting_special_mapcloning' : Void, 'crafting_special_mapextending' : Void, 'crafting_special_repairitem' : Void, 'crafting_special_shielddecoration' : Void, 'crafting_special_shulkerboxcoloring' : Void, 'crafting_special_tippedarrow' : Void }, None, ) ), ), VarInt, ) ) ],
@ -56,6 +62,5 @@ class PacketDeclareRecipes(Packet):
751 : [ ( 'recipes', ArrayType(StructType(( 'type', String ), ( 'recipeId', String ), ( 'data', SwitchType('type', { 'minecraft:blasting' : TrailingData, 'minecraft:campfire_cooking' : TrailingData, 'minecraft:crafting_shaped' : StructType(( 'width', VarInt ), ( 'height', VarInt ), ( 'group', String ), ( 'ingredients', ArrayType(ArrayType(TrailingData, 'width', ), 'height', ) ), ( 'result', Slot ), ), 'minecraft:crafting_shapeless' : StructType(( 'group', String ), ( 'ingredients', ArrayType(TrailingData, VarInt, ) ), ( 'result', Slot ), ), 'minecraft:crafting_special_armordye' : Void, 'minecraft:crafting_special_banneraddpattern' : Void, 'minecraft:crafting_special_bannerduplicate' : Void, 'minecraft:crafting_special_bookcloning' : Void, 'minecraft:crafting_special_firework_rocket' : Void, 'minecraft:crafting_special_firework_star' : Void, 'minecraft:crafting_special_firework_star_fade' : Void, 'minecraft:crafting_special_mapcloning' : Void, 'minecraft:crafting_special_mapextending' : Void, 'minecraft:crafting_special_repairitem' : Void, 'minecraft:crafting_special_shielddecoration' : Void, 'minecraft:crafting_special_shulkerboxcoloring' : Void, 'minecraft:crafting_special_suspiciousstew' : Void, 'minecraft:crafting_special_tippedarrow' : Void, 'minecraft:smelting' : TrailingData, 'minecraft:smithing' : StructType(( 'base', TrailingData ), ( 'addition', TrailingData ), ( 'result', Slot ), ), 'minecraft:smoking' : TrailingData, 'minecraft:stonecutting' : StructType(( 'group', String ), ( 'ingredient', TrailingData ), ( 'result', Slot ), ) }, None, ) ), ), VarInt, ) ) ],
755 : [ ( 'recipes', ArrayType(StructType(( 'type', String ), ( 'recipeId', String ), ( 'data', SwitchType('type', { 'minecraft:blasting' : TrailingData, 'minecraft:campfire_cooking' : TrailingData, 'minecraft:crafting_shaped' : StructType(( 'width', VarInt ), ( 'height', VarInt ), ( 'group', String ), ( 'ingredients', ArrayType(ArrayType(TrailingData, 'height', ), 'width', ) ), ( 'result', Slot ), ), 'minecraft:crafting_shapeless' : StructType(( 'group', String ), ( 'ingredients', ArrayType(TrailingData, VarInt, ) ), ( 'result', Slot ), ), 'minecraft:crafting_special_armordye' : Void, 'minecraft:crafting_special_banneraddpattern' : Void, 'minecraft:crafting_special_bannerduplicate' : Void, 'minecraft:crafting_special_bookcloning' : Void, 'minecraft:crafting_special_firework_rocket' : Void, 'minecraft:crafting_special_firework_star' : Void, 'minecraft:crafting_special_firework_star_fade' : Void, 'minecraft:crafting_special_mapcloning' : Void, 'minecraft:crafting_special_mapextending' : Void, 'minecraft:crafting_special_repairitem' : Void, 'minecraft:crafting_special_shielddecoration' : Void, 'minecraft:crafting_special_shulkerboxcoloring' : Void, 'minecraft:crafting_special_suspiciousstew' : Void, 'minecraft:crafting_special_tippedarrow' : Void, 'minecraft:smelting' : TrailingData, 'minecraft:smithing' : StructType(( 'base', TrailingData ), ( 'addition', TrailingData ), ( 'result', Slot ), ), 'minecraft:smoking' : TrailingData, 'minecraft:stonecutting' : StructType(( 'group', String ), ( 'ingredient', TrailingData ), ( 'result', Slot ), ) }, None, ) ), ), VarInt, ) ) ],
756 : [ ( 'recipes', ArrayType(StructType(( 'type', String ), ( 'recipeId', String ), ( 'data', SwitchType('type', { 'minecraft:blasting' : TrailingData, 'minecraft:campfire_cooking' : TrailingData, 'minecraft:crafting_shaped' : StructType(( 'width', VarInt ), ( 'height', VarInt ), ( 'group', String ), ( 'ingredients', ArrayType(ArrayType(TrailingData, 'height', ), 'width', ) ), ( 'result', Slot ), ), 'minecraft:crafting_shapeless' : StructType(( 'group', String ), ( 'ingredients', ArrayType(TrailingData, VarInt, ) ), ( 'result', Slot ), ), 'minecraft:crafting_special_armordye' : Void, 'minecraft:crafting_special_banneraddpattern' : Void, 'minecraft:crafting_special_bannerduplicate' : Void, 'minecraft:crafting_special_bookcloning' : Void, 'minecraft:crafting_special_firework_rocket' : Void, 'minecraft:crafting_special_firework_star' : Void, 'minecraft:crafting_special_firework_star_fade' : Void, 'minecraft:crafting_special_mapcloning' : Void, 'minecraft:crafting_special_mapextending' : Void, 'minecraft:crafting_special_repairitem' : Void, 'minecraft:crafting_special_shielddecoration' : Void, 'minecraft:crafting_special_shulkerboxcoloring' : Void, 'minecraft:crafting_special_suspiciousstew' : Void, 'minecraft:crafting_special_tippedarrow' : Void, 'minecraft:smelting' : TrailingData, 'minecraft:smithing' : StructType(( 'base', TrailingData ), ( 'addition', TrailingData ), ( 'result', Slot ), ), 'minecraft:smoking' : TrailingData, 'minecraft:stonecutting' : StructType(( 'group', String ), ( 'ingredient', TrailingData ), ( 'result', Slot ), ) }, None, ) ), ), VarInt, ) ) ],
757 : [ ( 'recipes', ArrayType(StructType(( 'type', String ), ( 'recipeId', String ), ( 'data', SwitchType('type', { 'minecraft:blasting' : TrailingData, 'minecraft:campfire_cooking' : TrailingData, 'minecraft:crafting_shaped' : StructType(( 'width', VarInt ), ( 'height', VarInt ), ( 'group', String ), ( 'ingredients', ArrayType(ArrayType(TrailingData, 'height', ), 'width', ) ), ( 'result', Slot ), ), 'minecraft:crafting_shapeless' : StructType(( 'group', String ), ( 'ingredients', ArrayType(TrailingData, VarInt, ) ), ( 'result', Slot ), ), 'minecraft:crafting_special_armordye' : Void, 'minecraft:crafting_special_banneraddpattern' : Void, 'minecraft:crafting_special_bannerduplicate' : Void, 'minecraft:crafting_special_bookcloning' : Void, 'minecraft:crafting_special_firework_rocket' : Void, 'minecraft:crafting_special_firework_star' : Void, 'minecraft:crafting_special_firework_star_fade' : Void, 'minecraft:crafting_special_mapcloning' : Void, 'minecraft:crafting_special_mapextending' : Void, 'minecraft:crafting_special_repairitem' : Void, 'minecraft:crafting_special_shielddecoration' : Void, 'minecraft:crafting_special_shulkerboxcoloring' : Void, 'minecraft:crafting_special_suspiciousstew' : Void, 'minecraft:crafting_special_tippedarrow' : Void, 'minecraft:smelting' : TrailingData, 'minecraft:smithing' : StructType(( 'base', TrailingData ), ( 'addition', TrailingData ), ( 'result', Slot ), ), 'minecraft:smoking' : TrailingData, 'minecraft:stonecutting' : StructType(( 'group', String ), ( 'ingredient', TrailingData ), ( 'result', Slot ), ) }, None, ) ), ), VarInt, ) ) ],
1073741839 : [ ( 'recipes', ArrayType(StructType(( 'type', String ), ( 'recipeId', String ), ( 'data', SwitchType('type', { 'minecraft:blasting' : TrailingData, 'minecraft:campfire_cooking' : TrailingData, 'minecraft:crafting_shaped' : StructType(( 'width', VarInt ), ( 'height', VarInt ), ( 'group', String ), ( 'ingredients', ArrayType(ArrayType(TrailingData, 'height', ), 'width', ) ), ( 'result', Slot ), ), 'minecraft:crafting_shapeless' : StructType(( 'group', String ), ( 'ingredients', ArrayType(TrailingData, VarInt, ) ), ( 'result', Slot ), ), 'minecraft:crafting_special_armordye' : Void, 'minecraft:crafting_special_banneraddpattern' : Void, 'minecraft:crafting_special_bannerduplicate' : Void, 'minecraft:crafting_special_bookcloning' : Void, 'minecraft:crafting_special_firework_rocket' : Void, 'minecraft:crafting_special_firework_star' : Void, 'minecraft:crafting_special_firework_star_fade' : Void, 'minecraft:crafting_special_mapcloning' : Void, 'minecraft:crafting_special_mapextending' : Void, 'minecraft:crafting_special_repairitem' : Void, 'minecraft:crafting_special_shielddecoration' : Void, 'minecraft:crafting_special_shulkerboxcoloring' : Void, 'minecraft:crafting_special_suspiciousstew' : Void, 'minecraft:crafting_special_tippedarrow' : Void, 'minecraft:smelting' : TrailingData, 'minecraft:smithing' : StructType(( 'base', TrailingData ), ( 'addition', TrailingData ), ( 'result', Slot ), ), 'minecraft:smoking' : TrailingData, 'minecraft:stonecutting' : StructType(( 'group', String ), ( 'ingredient', TrailingData ), ( 'result', Slot ), ) }, None, ) ), ), VarInt, ) ) ]
757 : [ ( 'recipes', ArrayType(StructType(( 'type', String ), ( 'recipeId', String ), ( 'data', SwitchType('type', { 'minecraft:blasting' : TrailingData, 'minecraft:campfire_cooking' : TrailingData, 'minecraft:crafting_shaped' : StructType(( 'width', VarInt ), ( 'height', VarInt ), ( 'group', String ), ( 'ingredients', ArrayType(ArrayType(TrailingData, 'height', ), 'width', ) ), ( 'result', Slot ), ), 'minecraft:crafting_shapeless' : StructType(( 'group', String ), ( 'ingredients', ArrayType(TrailingData, VarInt, ) ), ( 'result', Slot ), ), 'minecraft:crafting_special_armordye' : Void, 'minecraft:crafting_special_banneraddpattern' : Void, 'minecraft:crafting_special_bannerduplicate' : Void, 'minecraft:crafting_special_bookcloning' : Void, 'minecraft:crafting_special_firework_rocket' : Void, 'minecraft:crafting_special_firework_star' : Void, 'minecraft:crafting_special_firework_star_fade' : Void, 'minecraft:crafting_special_mapcloning' : Void, 'minecraft:crafting_special_mapextending' : Void, 'minecraft:crafting_special_repairitem' : Void, 'minecraft:crafting_special_shielddecoration' : Void, 'minecraft:crafting_special_shulkerboxcoloring' : Void, 'minecraft:crafting_special_suspiciousstew' : Void, 'minecraft:crafting_special_tippedarrow' : Void, 'minecraft:smelting' : TrailingData, 'minecraft:smithing' : StructType(( 'base', TrailingData ), ( 'addition', TrailingData ), ( 'result', Slot ), ), 'minecraft:smoking' : TrailingData, 'minecraft:stonecutting' : StructType(( 'group', String ), ( 'ingredient', TrailingData ), ( 'result', Slot ), ) }, None, ) ), ), VarInt, ) ) ]
}

View file

@ -9,6 +9,13 @@ class PacketDestroyEntity(Packet):
entityId : int
def __init__(self, proto:int,
entityId:int=None
):
super().__init__(proto,
entityId=entityId
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import *
class PacketDifficulty(Packet):
__slots__ = ( 'id', 'difficultyLocked', 'difficulty' )
__slots__ = ( 'id', 'difficulty', 'difficultyLocked' )
difficultyLocked : bool
difficulty : int
difficultyLocked : bool
def __init__(self, proto:int,
difficulty:int=None,
difficultyLocked:bool=None
):
super().__init__(proto,
difficulty=difficulty,
difficultyLocked=difficultyLocked
)
_state : int = 3
@ -49,8 +58,7 @@ class PacketDifficulty(Packet):
751 : 13,
755 : 14,
756 : 14,
757 : 14,
1073741839 : 14
757 : 14
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
47 : [ ( 'difficulty', Byte ) ],
@ -89,6 +97,5 @@ class PacketDifficulty(Packet):
751 : [ ( 'difficulty', Byte ), ( 'difficultyLocked', Boolean ) ],
755 : [ ( 'difficulty', Byte ), ( 'difficultyLocked', Boolean ) ],
756 : [ ( 'difficulty', Byte ), ( 'difficultyLocked', Boolean ) ],
757 : [ ( 'difficulty', Byte ), ( 'difficultyLocked', Boolean ) ],
1073741839 : [ ( 'difficulty', Byte ), ( 'difficultyLocked', Boolean ) ]
757 : [ ( 'difficulty', Byte ), ( 'difficultyLocked', Boolean ) ]
}

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import *
class PacketEndCombatEvent(Packet):
__slots__ = ( 'id', 'entityId', 'duration' )
__slots__ = ( 'id', 'duration', 'entityId' )
entityId : int
duration : int
entityId : int
def __init__(self, proto:int,
duration:int=None,
entityId:int=None
):
super().__init__(proto,
duration=duration,
entityId=entityId
)
_state : int = 3

View file

@ -9,6 +9,13 @@ class PacketEnterCombatEvent(Packet):
def __init__(self, proto:int,
):
super().__init__(proto,
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -9,10 +9,16 @@ class PacketEntity(Packet):
entityId : int
def __init__(self, proto:int,
entityId:int=None
):
super().__init__(proto,
entityId=entityId
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 20,
47 : 20,
76 : 41,
107 : 40,
@ -46,11 +52,9 @@ class PacketEntity(Packet):
734 : 43,
735 : 43,
736 : 43,
751 : 42,
1073741839 : 43
751 : 42
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ) ],
47 : [ ( 'entityId', VarInt ) ],
76 : [ ( 'entityId', VarInt ) ],
107 : [ ( 'entityId', VarInt ) ],
@ -84,6 +88,5 @@ class PacketEntity(Packet):
734 : [ ( 'entityId', VarInt ) ],
735 : [ ( 'entityId', VarInt ) ],
736 : [ ( 'entityId', VarInt ) ],
751 : [ ( 'entityId', VarInt ) ],
1073741839 : [ ( 'entityId', VarInt ) ]
751 : [ ( 'entityId', VarInt ) ]
}

View file

@ -9,10 +9,16 @@ class PacketEntityDestroy(Packet):
entityIds : list
def __init__(self, proto:int,
entityIds:list=None
):
super().__init__(proto,
entityIds=entityIds
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 19,
47 : 19,
76 : 48,
107 : 48,
@ -48,11 +54,9 @@ class PacketEntityDestroy(Packet):
736 : 55,
751 : 54,
756 : 58,
757 : 58,
1073741839 : 55
757 : 58
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityIds', ArrayType(Int, Byte, ) ) ],
47 : [ ( 'entityIds', ArrayType(VarInt, VarInt, ) ) ],
76 : [ ( 'entityIds', ArrayType(VarInt, VarInt, ) ) ],
107 : [ ( 'entityIds', ArrayType(VarInt, VarInt, ) ) ],
@ -88,6 +92,5 @@ class PacketEntityDestroy(Packet):
736 : [ ( 'entityIds', ArrayType(VarInt, VarInt, ) ) ],
751 : [ ( 'entityIds', ArrayType(VarInt, VarInt, ) ) ],
756 : [ ( 'entityIds', ArrayType(VarInt, VarInt, ) ) ],
757 : [ ( 'entityIds', ArrayType(VarInt, VarInt, ) ) ],
1073741839 : [ ( 'entityIds', ArrayType(VarInt, VarInt, ) ) ]
757 : [ ( 'entityIds', ArrayType(VarInt, VarInt, ) ) ]
}

View file

@ -5,18 +5,32 @@ from ....packet import Packet
from ....types import *
class PacketEntityEffect(Packet):
__slots__ = ( 'id', 'amplifier', 'entityId', 'effectId', 'duration', 'hideParticles' )
__slots__ = ( 'id', 'amplifier', 'duration', 'effectId', 'entityId', 'hideParticles' )
amplifier : int
entityId : int
effectId : int
duration : int
effectId : int
entityId : int
hideParticles : Union[int,bool]
def __init__(self, proto:int,
amplifier:int=None,
duration:int=None,
effectId:int=None,
entityId:int=None,
hideParticles:Union[int,bool]=None
):
super().__init__(proto,
amplifier=amplifier,
duration=duration,
effectId=effectId,
entityId=entityId,
hideParticles=hideParticles
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 29,
47 : 29,
76 : 74,
107 : 76,
@ -53,11 +67,9 @@ class PacketEntityEffect(Packet):
751 : 89,
755 : 100,
756 : 100,
757 : 101,
1073741839 : 90
757 : 101
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', Short ) ],
47 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Boolean ) ],
76 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Boolean ) ],
107 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Byte ) ],
@ -94,6 +106,5 @@ class PacketEntityEffect(Packet):
751 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Byte ) ],
755 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Byte ) ],
756 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Byte ) ],
757 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Byte ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Byte ) ]
757 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Byte ) ]
}

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import *
class PacketEntityEquipment(Packet):
__slots__ = ( 'id', 'equipments', 'item', 'entityId', 'slot' )
__slots__ = ( 'id', 'entityId', 'equipments', 'item', 'slot' )
entityId : int
equipments : bytes
item : dict
entityId : int
slot : int
def __init__(self, proto:int,
entityId:int=None,
equipments:bytes=None,
item:dict=None,
slot:int=None
):
super().__init__(proto,
entityId=entityId,
equipments=equipments,
item=item,
slot=slot
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 4,
47 : 4,
76 : 60,
107 : 60,
@ -52,11 +64,9 @@ class PacketEntityEquipment(Packet):
751 : 71,
755 : 80,
756 : 80,
757 : 80,
1073741839 : 72
757 : 80
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'slot', Short ), ( 'item', Slot ) ],
47 : [ ( 'entityId', VarInt ), ( 'slot', Short ), ( 'item', Slot ) ],
76 : [ ( 'entityId', VarInt ), ( 'slot', VarInt ), ( 'item', Slot ) ],
107 : [ ( 'entityId', VarInt ), ( 'slot', VarInt ), ( 'item', Slot ) ],
@ -93,6 +103,5 @@ class PacketEntityEquipment(Packet):
751 : [ ( 'entityId', VarInt ), ( 'equipments', TrailingData ) ],
755 : [ ( 'entityId', VarInt ), ( 'equipments', TrailingData ) ],
756 : [ ( 'entityId', VarInt ), ( 'equipments', TrailingData ) ],
757 : [ ( 'entityId', VarInt ), ( 'equipments', TrailingData ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'equipments', TrailingData ) ]
757 : [ ( 'entityId', VarInt ), ( 'equipments', TrailingData ) ]
}

View file

@ -10,10 +10,18 @@ class PacketEntityHeadRotation(Packet):
entityId : int
headYaw : int
def __init__(self, proto:int,
entityId:int=None,
headYaw:int=None
):
super().__init__(proto,
entityId=entityId,
headYaw=headYaw
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 25,
47 : 25,
76 : 52,
107 : 52,
@ -50,11 +58,9 @@ class PacketEntityHeadRotation(Packet):
751 : 58,
755 : 62,
756 : 62,
757 : 62,
1073741839 : 59
757 : 62
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'headYaw', Byte ) ],
47 : [ ( 'entityId', VarInt ), ( 'headYaw', Byte ) ],
76 : [ ( 'entityId', VarInt ), ( 'headYaw', Byte ) ],
107 : [ ( 'entityId', VarInt ), ( 'headYaw', Byte ) ],
@ -91,6 +97,5 @@ class PacketEntityHeadRotation(Packet):
751 : [ ( 'entityId', VarInt ), ( 'headYaw', Byte ) ],
755 : [ ( 'entityId', VarInt ), ( 'headYaw', Byte ) ],
756 : [ ( 'entityId', VarInt ), ( 'headYaw', Byte ) ],
757 : [ ( 'entityId', VarInt ), ( 'headYaw', Byte ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'headYaw', Byte ) ]
757 : [ ( 'entityId', VarInt ), ( 'headYaw', Byte ) ]
}

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import *
class PacketEntityLook(Packet):
__slots__ = ( 'id', 'onGround', 'entityId', 'yaw', 'pitch' )
__slots__ = ( 'id', 'entityId', 'onGround', 'pitch', 'yaw' )
onGround : bool
entityId : int
yaw : int
onGround : bool
pitch : int
yaw : int
def __init__(self, proto:int,
entityId:int=None,
onGround:bool=None,
pitch:int=None,
yaw:int=None
):
super().__init__(proto,
entityId=entityId,
onGround=onGround,
pitch=pitch,
yaw=yaw
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 22,
47 : 22,
76 : 40,
107 : 39,
@ -52,11 +64,9 @@ class PacketEntityLook(Packet):
751 : 41,
755 : 43,
756 : 43,
757 : 43,
1073741839 : 42
757 : 43
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'yaw', Byte ), ( 'pitch', Byte ) ],
47 : [ ( 'entityId', VarInt ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
76 : [ ( 'entityId', VarInt ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
107 : [ ( 'entityId', VarInt ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
@ -93,6 +103,5 @@ class PacketEntityLook(Packet):
751 : [ ( 'entityId', VarInt ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
755 : [ ( 'entityId', VarInt ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
756 : [ ( 'entityId', VarInt ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
757 : [ ( 'entityId', VarInt ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ]
757 : [ ( 'entityId', VarInt ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ]
}

View file

@ -10,10 +10,18 @@ class PacketEntityMetadata(Packet):
entityId : int
metadata : dict
def __init__(self, proto:int,
entityId:int=None,
metadata:dict=None
):
super().__init__(proto,
entityId=entityId,
metadata=metadata
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 28,
47 : 28,
76 : 57,
107 : 57,
@ -50,11 +58,9 @@ class PacketEntityMetadata(Packet):
751 : 68,
755 : 77,
756 : 77,
757 : 77,
1073741839 : 69
757 : 77
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'metadata', EntityMetadata ) ],
47 : [ ( 'entityId', VarInt ), ( 'metadata', EntityMetadata ) ],
76 : [ ( 'entityId', VarInt ), ( 'metadata', EntityMetadata ) ],
107 : [ ( 'entityId', VarInt ), ( 'metadata', EntityMetadata ) ],
@ -91,6 +97,5 @@ class PacketEntityMetadata(Packet):
751 : [ ( 'entityId', VarInt ), ( 'metadata', EntityMetadata ) ],
755 : [ ( 'entityId', VarInt ), ( 'metadata', EntityMetadata ) ],
756 : [ ( 'entityId', VarInt ), ( 'metadata', EntityMetadata ) ],
757 : [ ( 'entityId', VarInt ), ( 'metadata', EntityMetadata ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'metadata', EntityMetadata ) ]
757 : [ ( 'entityId', VarInt ), ( 'metadata', EntityMetadata ) ]
}

View file

@ -5,20 +5,38 @@ from ....packet import Packet
from ....types import *
class PacketEntityMoveLook(Packet):
__slots__ = ( 'id', 'entityId', 'onGround', 'dZ', 'dX', 'yaw', 'pitch', 'dY' )
__slots__ = ( 'id', 'dX', 'dY', 'dZ', 'entityId', 'onGround', 'pitch', 'yaw' )
dX : int
dY : int
dZ : int
entityId : int
onGround : bool
dZ : int
dX : int
yaw : int
pitch : int
dY : int
yaw : int
def __init__(self, proto:int,
dX:int=None,
dY:int=None,
dZ:int=None,
entityId:int=None,
onGround:bool=None,
pitch:int=None,
yaw:int=None
):
super().__init__(proto,
dX=dX,
dY=dY,
dZ=dZ,
entityId=entityId,
onGround=onGround,
pitch=pitch,
yaw=yaw
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 23,
47 : 23,
76 : 39,
107 : 38,
@ -55,11 +73,9 @@ class PacketEntityMoveLook(Packet):
751 : 40,
755 : 42,
756 : 42,
757 : 42,
1073741839 : 41
757 : 42
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'dX', Byte ), ( 'dY', Byte ), ( 'dZ', Byte ), ( 'yaw', Byte ), ( 'pitch', Byte ) ],
47 : [ ( 'entityId', VarInt ), ( 'dX', Byte ), ( 'dY', Byte ), ( 'dZ', Byte ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
76 : [ ( 'entityId', VarInt ), ( 'dX', Byte ), ( 'dY', Byte ), ( 'dZ', Byte ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
107 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
@ -96,6 +112,5 @@ class PacketEntityMoveLook(Packet):
751 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
755 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
756 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
757 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ]
757 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ]
}

View file

@ -5,13 +5,28 @@ from ....packet import Packet
from ....types import *
class PacketEntitySoundEffect(Packet):
__slots__ = ( 'id', 'entityId', 'soundCategory', 'volume', 'pitch', 'soundId' )
__slots__ = ( 'id', 'entityId', 'pitch', 'soundCategory', 'soundId', 'volume' )
entityId : int
soundCategory : int
volume : float
pitch : float
soundCategory : int
soundId : int
volume : float
def __init__(self, proto:int,
entityId:int=None,
pitch:float=None,
soundCategory:int=None,
soundId:int=None,
volume:float=None
):
super().__init__(proto,
entityId=entityId,
pitch=pitch,
soundCategory=soundCategory,
soundId=soundId,
volume=volume
)
_state : int = 3
@ -30,8 +45,7 @@ class PacketEntitySoundEffect(Packet):
751 : 80,
755 : 91,
756 : 91,
757 : 92,
1073741839 : 81
757 : 92
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
477 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ],
@ -48,6 +62,5 @@ class PacketEntitySoundEffect(Packet):
751 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ],
755 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ],
756 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ],
757 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ],
1073741839 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ]
757 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ]
}

View file

@ -5,15 +5,23 @@ from ....packet import Packet
from ....types import *
class PacketEntityStatus(Packet):
__slots__ = ( 'id', 'entityStatus', 'entityId' )
__slots__ = ( 'id', 'entityId', 'entityStatus' )
entityStatus : int
entityId : int
entityStatus : int
def __init__(self, proto:int,
entityId:int=None,
entityStatus:int=None
):
super().__init__(proto,
entityId=entityId,
entityStatus=entityStatus
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 26,
47 : 26,
76 : 26,
107 : 27,
@ -50,11 +58,9 @@ class PacketEntityStatus(Packet):
751 : 26,
755 : 27,
756 : 27,
757 : 27,
1073741839 : 27
757 : 27
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ],
47 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ],
76 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ],
107 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ],
@ -91,6 +97,5 @@ class PacketEntityStatus(Packet):
751 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ],
755 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ],
756 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ],
757 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ],
1073741839 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ]
757 : [ ( 'entityId', Int ), ( 'entityStatus', Byte ) ]
}

View file

@ -5,20 +5,38 @@ from ....packet import Packet
from ....types import *
class PacketEntityTeleport(Packet):
__slots__ = ( 'id', 'entityId', 'onGround', 'z', 'yaw', 'x', 'pitch', 'y' )
__slots__ = ( 'id', 'entityId', 'onGround', 'pitch', 'x', 'y', 'yaw', 'z' )
entityId : int
onGround : bool
z : Union[int,float]
yaw : int
x : Union[int,float]
pitch : int
y : Union[int,float]
x : Union[float,int]
y : Union[float,int]
yaw : int
z : Union[float,int]
def __init__(self, proto:int,
entityId:int=None,
onGround:bool=None,
pitch:int=None,
x:Union[float,int]=None,
y:Union[float,int]=None,
yaw:int=None,
z:Union[float,int]=None
):
super().__init__(proto,
entityId=entityId,
onGround=onGround,
pitch=pitch,
x=x,
y=y,
yaw=yaw,
z=z
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 24,
47 : 24,
76 : 72,
107 : 74,
@ -55,11 +73,9 @@ class PacketEntityTeleport(Packet):
751 : 86,
755 : 97,
756 : 97,
757 : 98,
1073741839 : 87
757 : 98
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'yaw', Byte ), ( 'pitch', Byte ) ],
47 : [ ( 'entityId', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
76 : [ ( 'entityId', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
107 : [ ( 'entityId', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
@ -96,6 +112,5 @@ class PacketEntityTeleport(Packet):
751 : [ ( 'entityId', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
755 : [ ( 'entityId', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
756 : [ ( 'entityId', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
757 : [ ( 'entityId', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ]
757 : [ ( 'entityId', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'onGround', Boolean ) ]
}

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import *
class PacketEntityUpdateAttributes(Packet):
__slots__ = ( 'id', 'properties', 'entityId' )
__slots__ = ( 'id', 'entityId', 'properties' )
properties : list
entityId : int
properties : list
def __init__(self, proto:int,
entityId:int=None,
properties:list=None
):
super().__init__(proto,
entityId=entityId,
properties=properties
)
_state : int = 3
@ -47,8 +56,7 @@ class PacketEntityUpdateAttributes(Packet):
751 : 88,
755 : 99,
756 : 99,
757 : 100,
1073741839 : 89
757 : 100
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
107 : [ ( 'entityId', VarInt ), ( 'properties', ArrayType(StructType(( 'key', String ), ( 'value', Double ), ( 'modifiers', ArrayType(StructType(( 'uuid', UUID ), ( 'amount', Double ), ( 'operation', Byte ), ), VarInt, ) ), ), Int, ) ) ],
@ -85,6 +93,5 @@ class PacketEntityUpdateAttributes(Packet):
751 : [ ( 'entityId', VarInt ), ( 'properties', ArrayType(StructType(( 'key', String ), ( 'value', Double ), ( 'modifiers', ArrayType(StructType(( 'uuid', UUID ), ( 'amount', Double ), ( 'operation', Byte ), ), VarInt, ) ), ), Int, ) ) ],
755 : [ ( 'entityId', VarInt ), ( 'properties', ArrayType(StructType(( 'key', String ), ( 'value', Double ), ( 'modifiers', ArrayType(StructType(( 'uuid', UUID ), ( 'amount', Double ), ( 'operation', Byte ), ), VarInt, ) ), ), VarInt, ) ) ],
756 : [ ( 'entityId', VarInt ), ( 'properties', ArrayType(StructType(( 'key', String ), ( 'value', Double ), ( 'modifiers', ArrayType(StructType(( 'uuid', UUID ), ( 'amount', Double ), ( 'operation', Byte ), ), VarInt, ) ), ), VarInt, ) ) ],
757 : [ ( 'entityId', VarInt ), ( 'properties', ArrayType(StructType(( 'key', String ), ( 'value', Double ), ( 'modifiers', ArrayType(StructType(( 'uuid', UUID ), ( 'amount', Double ), ( 'operation', Byte ), ), VarInt, ) ), ), VarInt, ) ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'properties', ArrayType(StructType(( 'key', String ), ( 'value', Double ), ( 'modifiers', ArrayType(StructType(( 'uuid', UUID ), ( 'amount', Double ), ( 'operation', Byte ), ), VarInt, ) ), ), Int, ) ) ]
757 : [ ( 'entityId', VarInt ), ( 'properties', ArrayType(StructType(( 'key', String ), ( 'value', Double ), ( 'modifiers', ArrayType(StructType(( 'uuid', UUID ), ( 'amount', Double ), ( 'operation', Byte ), ), VarInt, ) ), ), VarInt, ) ) ]
}

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import *
class PacketEntityVelocity(Packet):
__slots__ = ( 'id', 'velocityX', 'velocityZ', 'entityId', 'velocityY' )
__slots__ = ( 'id', 'entityId', 'velocityX', 'velocityY', 'velocityZ' )
velocityX : int
velocityZ : int
entityId : int
velocityX : int
velocityY : int
velocityZ : int
def __init__(self, proto:int,
entityId:int=None,
velocityX:int=None,
velocityY:int=None,
velocityZ:int=None
):
super().__init__(proto,
entityId=entityId,
velocityX=velocityX,
velocityY=velocityY,
velocityZ=velocityZ
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 18,
47 : 18,
76 : 59,
107 : 59,
@ -52,11 +64,9 @@ class PacketEntityVelocity(Packet):
751 : 70,
755 : 79,
756 : 79,
757 : 79,
1073741839 : 71
757 : 79
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
47 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
76 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
107 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
@ -93,6 +103,5 @@ class PacketEntityVelocity(Packet):
751 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
755 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
756 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
757 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ]
757 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ]
}

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import *
class PacketExperience(Packet):
__slots__ = ( 'id', 'level', 'experienceBar', 'totalExperience' )
__slots__ = ( 'id', 'experienceBar', 'level', 'totalExperience' )
level : int
experienceBar : float
level : int
totalExperience : int
def __init__(self, proto:int,
experienceBar:float=None,
level:int=None,
totalExperience:int=None
):
super().__init__(proto,
experienceBar=experienceBar,
level=level,
totalExperience=totalExperience
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 31,
47 : 31,
76 : 61,
107 : 61,
@ -51,11 +61,9 @@ class PacketExperience(Packet):
751 : 72,
755 : 81,
756 : 81,
757 : 81,
1073741839 : 73
757 : 81
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'experienceBar', Float ), ( 'level', Short ), ( 'totalExperience', Short ) ],
47 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
76 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
107 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
@ -92,6 +100,5 @@ class PacketExperience(Packet):
751 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
755 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
756 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
757 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
1073741839 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ]
757 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ]
}

View file

@ -5,21 +5,41 @@ from ....packet import Packet
from ....types import *
class PacketExplosion(Packet):
__slots__ = ( 'id', 'affectedBlockOffsets', 'z', 'x', 'radius', 'playerMotionX', 'y', 'playerMotionZ', 'playerMotionY' )
__slots__ = ( 'id', 'affectedBlockOffsets', 'playerMotionX', 'playerMotionY', 'playerMotionZ', 'radius', 'x', 'y', 'z' )
affectedBlockOffsets : list
z : float
x : float
radius : float
playerMotionX : float
y : float
playerMotionZ : float
playerMotionY : float
playerMotionZ : float
radius : float
x : float
y : float
z : float
def __init__(self, proto:int,
affectedBlockOffsets:list=None,
playerMotionX:float=None,
playerMotionY:float=None,
playerMotionZ:float=None,
radius:float=None,
x:float=None,
y:float=None,
z:float=None
):
super().__init__(proto,
affectedBlockOffsets=affectedBlockOffsets,
playerMotionX=playerMotionX,
playerMotionY=playerMotionY,
playerMotionZ=playerMotionZ,
radius=radius,
x=x,
y=y,
z=z
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 39,
47 : 39,
76 : 27,
107 : 28,
@ -56,11 +76,9 @@ class PacketExplosion(Packet):
751 : 27,
755 : 28,
756 : 28,
757 : 28,
1073741839 : 28
757 : 28
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), Int, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ],
47 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), Int, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ],
76 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), Int, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ],
107 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), Int, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ],
@ -97,6 +115,5 @@ class PacketExplosion(Packet):
751 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), Int, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ],
755 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), VarInt, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ],
756 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), VarInt, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ],
757 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), VarInt, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ],
1073741839 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), Int, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ]
757 : [ ( 'x', Float ), ( 'y', Float ), ( 'z', Float ), ( 'radius', Float ), ( 'affectedBlockOffsets', ArrayType(StructType(( 'x', Byte ), ( 'y', Byte ), ( 'z', Byte ), ), VarInt, ) ), ( 'playerMotionX', Float ), ( 'playerMotionY', Float ), ( 'playerMotionZ', Float ) ]
}

View file

@ -5,15 +5,34 @@ from ....packet import Packet
from ....types import *
class PacketFacePlayer(Packet):
__slots__ = ( 'id', 'entityId', 'isEntity', 'z', 'feet_eyes', 'x', 'entity_feet_eyes', 'y' )
__slots__ = ( 'id', 'entityId', 'entity_feet_eyes', 'feet_eyes', 'isEntity', 'x', 'y', 'z' )
entityId : bytes
isEntity : bool
z : float
feet_eyes : int
x : float
entity_feet_eyes : bytes
feet_eyes : int
isEntity : bool
x : float
y : float
z : float
def __init__(self, proto:int,
entityId:bytes=None,
entity_feet_eyes:bytes=None,
feet_eyes:int=None,
isEntity:bool=None,
x:float=None,
y:float=None,
z:float=None
):
super().__init__(proto,
entityId=entityId,
entity_feet_eyes=entity_feet_eyes,
feet_eyes=feet_eyes,
isEntity=isEntity,
x=x,
y=y,
z=z
)
_state : int = 3
@ -37,8 +56,7 @@ class PacketFacePlayer(Packet):
751 : 51,
755 : 55,
756 : 55,
757 : 55,
1073741839 : 52
757 : 55
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
393 : [ ( 'feet_eyes', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'isEntity', Boolean ), ( 'entityId', SwitchType('isEntity', { 'true' : VarInt }, None, ) ), ( 'entity_feet_eyes', SwitchType('isEntity', { 'true' : String }, None, ) ) ],
@ -60,6 +78,5 @@ class PacketFacePlayer(Packet):
751 : [ ( 'feet_eyes', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'isEntity', Boolean ), ( 'entityId', SwitchType('isEntity', { 'true' : VarInt }, None, ) ), ( 'entity_feet_eyes', SwitchType('isEntity', { 'true' : String }, None, ) ) ],
755 : [ ( 'feet_eyes', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'isEntity', Boolean ), ( 'entityId', SwitchType('isEntity', { 'true' : VarInt }, None, ) ), ( 'entity_feet_eyes', SwitchType('isEntity', { 'true' : String }, None, ) ) ],
756 : [ ( 'feet_eyes', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'isEntity', Boolean ), ( 'entityId', SwitchType('isEntity', { 'true' : VarInt }, None, ) ), ( 'entity_feet_eyes', SwitchType('isEntity', { 'true' : String }, None, ) ) ],
757 : [ ( 'feet_eyes', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'isEntity', Boolean ), ( 'entityId', SwitchType('isEntity', { 'true' : VarInt }, None, ) ), ( 'entity_feet_eyes', SwitchType('isEntity', { 'true' : String }, None, ) ) ],
1073741839 : [ ( 'feet_eyes', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'isEntity', Boolean ), ( 'entityId', SwitchType('isEntity', { 'true' : VarInt }, None, ) ), ( 'entity_feet_eyes', SwitchType('isEntity', { 'true' : String }, None, ) ) ]
757 : [ ( 'feet_eyes', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'isEntity', Boolean ), ( 'entityId', SwitchType('isEntity', { 'true' : VarInt }, None, ) ), ( 'entity_feet_eyes', SwitchType('isEntity', { 'true' : String }, None, ) ) ]
}

View file

@ -5,15 +5,23 @@ from ....packet import Packet
from ....types import *
class PacketGameStateChange(Packet):
__slots__ = ( 'id', 'reason', 'gameMode' )
__slots__ = ( 'id', 'gameMode', 'reason' )
reason : int
gameMode : float
reason : int
def __init__(self, proto:int,
gameMode:float=None,
reason:int=None
):
super().__init__(proto,
gameMode=gameMode,
reason=reason
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 43,
47 : 43,
76 : 30,
107 : 30,
@ -50,11 +58,9 @@ class PacketGameStateChange(Packet):
751 : 29,
755 : 30,
756 : 30,
757 : 30,
1073741839 : 30
757 : 30
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ],
47 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ],
76 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ],
107 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ],
@ -91,6 +97,5 @@ class PacketGameStateChange(Packet):
751 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ],
755 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ],
756 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ],
757 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ],
1073741839 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ]
757 : [ ( 'reason', Byte ), ( 'gameMode', Float ) ]
}

View file

@ -9,10 +9,16 @@ class PacketHeldItemSlot(Packet):
slot : int
def __init__(self, proto:int,
slot:int=None
):
super().__init__(proto,
slot=slot
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 9,
47 : 9,
76 : 55,
107 : 55,
@ -49,11 +55,9 @@ class PacketHeldItemSlot(Packet):
751 : 63,
755 : 72,
756 : 72,
757 : 72,
1073741839 : 64
757 : 72
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'slot', Byte ) ],
47 : [ ( 'slot', Byte ) ],
76 : [ ( 'slot', Byte ) ],
107 : [ ( 'slot', Byte ) ],
@ -90,6 +94,5 @@ class PacketHeldItemSlot(Packet):
751 : [ ( 'slot', Byte ) ],
755 : [ ( 'slot', Byte ) ],
756 : [ ( 'slot', Byte ) ],
757 : [ ( 'slot', Byte ) ],
1073741839 : [ ( 'slot', Byte ) ]
757 : [ ( 'slot', Byte ) ]
}

View file

@ -5,16 +5,37 @@ from ....packet import Packet
from ....types import *
class PacketInitializeWorldBorder(Packet):
__slots__ = ( 'id', 'warningTime', 'z', 'oldDiameter', 'x', 'portalTeleportBoundary', 'warningBlocks', 'speed', 'newDiameter' )
__slots__ = ( 'id', 'newDiameter', 'oldDiameter', 'portalTeleportBoundary', 'speed', 'warningBlocks', 'warningTime', 'x', 'z' )
warningTime : int
z : float
oldDiameter : float
x : float
portalTeleportBoundary : int
warningBlocks : int
speed : int
newDiameter : float
oldDiameter : float
portalTeleportBoundary : int
speed : int
warningBlocks : int
warningTime : int
x : float
z : float
def __init__(self, proto:int,
newDiameter:float=None,
oldDiameter:float=None,
portalTeleportBoundary:int=None,
speed:int=None,
warningBlocks:int=None,
warningTime:int=None,
x:float=None,
z:float=None
):
super().__init__(proto,
newDiameter=newDiameter,
oldDiameter=oldDiameter,
portalTeleportBoundary=portalTeleportBoundary,
speed=speed,
warningBlocks=warningBlocks,
warningTime=warningTime,
x=x,
z=z
)
_state : int = 3

View file

@ -9,10 +9,16 @@ class PacketKeepAlive(Packet):
keepAliveId : int
def __init__(self, proto:int,
keepAliveId:int=None
):
super().__init__(proto,
keepAliveId=keepAliveId
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 0,
47 : 0,
76 : 31,
107 : 31,
@ -49,11 +55,9 @@ class PacketKeepAlive(Packet):
751 : 31,
755 : 33,
756 : 33,
757 : 33,
1073741839 : 32
757 : 33
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'keepAliveId', Int ) ],
47 : [ ( 'keepAliveId', VarInt ) ],
76 : [ ( 'keepAliveId', VarInt ) ],
107 : [ ( 'keepAliveId', VarInt ) ],
@ -90,6 +94,5 @@ class PacketKeepAlive(Packet):
751 : [ ( 'keepAliveId', Long ) ],
755 : [ ( 'keepAliveId', Long ) ],
756 : [ ( 'keepAliveId', Long ) ],
757 : [ ( 'keepAliveId', Long ) ],
1073741839 : [ ( 'keepAliveId', Long ) ]
757 : [ ( 'keepAliveId', Long ) ]
}

View file

@ -9,10 +9,16 @@ class PacketKickDisconnect(Packet):
reason : str
def __init__(self, proto:int,
reason:str=None
):
super().__init__(proto,
reason=reason
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 64,
47 : 64,
76 : 25,
107 : 26,
@ -49,11 +55,9 @@ class PacketKickDisconnect(Packet):
751 : 25,
755 : 26,
756 : 26,
757 : 26,
1073741839 : 26
757 : 26
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'reason', String ) ],
47 : [ ( 'reason', String ) ],
76 : [ ( 'reason', String ) ],
107 : [ ( 'reason', String ) ],
@ -90,6 +94,5 @@ class PacketKickDisconnect(Packet):
751 : [ ( 'reason', String ) ],
755 : [ ( 'reason', String ) ],
756 : [ ( 'reason', String ) ],
757 : [ ( 'reason', String ) ],
1073741839 : [ ( 'reason', String ) ]
757 : [ ( 'reason', String ) ]
}

View file

@ -5,31 +5,71 @@ from ....packet import Packet
from ....types import *
class PacketLogin(Packet):
__slots__ = ( 'id', 'worldNames', 'reducedDebugInfo', 'entityId', 'gameMode', 'viewDistance', 'isHardcore', 'enableRespawnScreen', 'simulationDistance', 'dimensionCodec', 'isFlat', 'isDebug', 'hashedSeed', 'dimension', 'difficulty', 'levelType', 'maxPlayers', 'previousGameMode', 'worldName' )
__slots__ = ( 'id', 'difficulty', 'dimension', 'dimensionCodec', 'enableRespawnScreen', 'entityId', 'gameMode', 'hashedSeed', 'isDebug', 'isFlat', 'isHardcore', 'levelType', 'maxPlayers', 'previousGameMode', 'reducedDebugInfo', 'simulationDistance', 'viewDistance', 'worldName', 'worldNames' )
worldNames : list
reducedDebugInfo : bool
difficulty : int
dimension : Union[int,bytes,str]
dimensionCodec : bytes
enableRespawnScreen : bool
entityId : int
gameMode : int
viewDistance : int
isHardcore : bool
enableRespawnScreen : bool
simulationDistance : int
dimensionCodec : bytes
isFlat : bool
isDebug : bool
hashedSeed : int
dimension : Union[int,bytes,str]
difficulty : int
isDebug : bool
isFlat : bool
isHardcore : bool
levelType : str
maxPlayers : int
previousGameMode : int
reducedDebugInfo : bool
simulationDistance : int
viewDistance : int
worldName : str
worldNames : list
def __init__(self, proto:int,
difficulty:int=None,
dimension:Union[int,bytes,str]=None,
dimensionCodec:bytes=None,
enableRespawnScreen:bool=None,
entityId:int=None,
gameMode:int=None,
hashedSeed:int=None,
isDebug:bool=None,
isFlat:bool=None,
isHardcore:bool=None,
levelType:str=None,
maxPlayers:int=None,
previousGameMode:int=None,
reducedDebugInfo:bool=None,
simulationDistance:int=None,
viewDistance:int=None,
worldName:str=None,
worldNames:list=None
):
super().__init__(proto,
difficulty=difficulty,
dimension=dimension,
dimensionCodec=dimensionCodec,
enableRespawnScreen=enableRespawnScreen,
entityId=entityId,
gameMode=gameMode,
hashedSeed=hashedSeed,
isDebug=isDebug,
isFlat=isFlat,
isHardcore=isHardcore,
levelType=levelType,
maxPlayers=maxPlayers,
previousGameMode=previousGameMode,
reducedDebugInfo=reducedDebugInfo,
simulationDistance=simulationDistance,
viewDistance=viewDistance,
worldName=worldName,
worldNames=worldNames
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 1,
47 : 1,
76 : 36,
107 : 35,
@ -66,11 +106,9 @@ class PacketLogin(Packet):
751 : 36,
755 : 38,
756 : 38,
757 : 38,
1073741839 : 37
757 : 38
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'gameMode', Byte ), ( 'dimension', Byte ), ( 'difficulty', Byte ), ( 'maxPlayers', Byte ), ( 'levelType', String ) ],
47 : [ ( 'entityId', Int ), ( 'gameMode', Byte ), ( 'dimension', Byte ), ( 'difficulty', Byte ), ( 'maxPlayers', Byte ), ( 'levelType', String ), ( 'reducedDebugInfo', Boolean ) ],
76 : [ ( 'entityId', Int ), ( 'gameMode', Byte ), ( 'dimension', Byte ), ( 'difficulty', Byte ), ( 'maxPlayers', Byte ), ( 'levelType', String ), ( 'reducedDebugInfo', Boolean ) ],
107 : [ ( 'entityId', Int ), ( 'gameMode', Byte ), ( 'dimension', Byte ), ( 'difficulty', Byte ), ( 'maxPlayers', Byte ), ( 'levelType', String ), ( 'reducedDebugInfo', Boolean ) ],
@ -107,6 +145,5 @@ class PacketLogin(Packet):
751 : [ ( 'entityId', Int ), ( 'isHardcore', Boolean ), ( 'gameMode', Byte ), ( 'previousGameMode', Byte ), ( 'worldNames', ArrayType(String, VarInt, ) ), ( 'dimensionCodec', NBTTag ), ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'maxPlayers', VarInt ), ( 'viewDistance', VarInt ), ( 'reducedDebugInfo', Boolean ), ( 'enableRespawnScreen', Boolean ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ) ],
755 : [ ( 'entityId', Int ), ( 'isHardcore', Boolean ), ( 'gameMode', Byte ), ( 'previousGameMode', Byte ), ( 'worldNames', ArrayType(String, VarInt, ) ), ( 'dimensionCodec', NBTTag ), ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'maxPlayers', VarInt ), ( 'viewDistance', VarInt ), ( 'reducedDebugInfo', Boolean ), ( 'enableRespawnScreen', Boolean ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ) ],
756 : [ ( 'entityId', Int ), ( 'isHardcore', Boolean ), ( 'gameMode', Byte ), ( 'previousGameMode', Byte ), ( 'worldNames', ArrayType(String, VarInt, ) ), ( 'dimensionCodec', NBTTag ), ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'maxPlayers', VarInt ), ( 'viewDistance', VarInt ), ( 'reducedDebugInfo', Boolean ), ( 'enableRespawnScreen', Boolean ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ) ],
757 : [ ( 'entityId', Int ), ( 'isHardcore', Boolean ), ( 'gameMode', Byte ), ( 'previousGameMode', Byte ), ( 'worldNames', ArrayType(String, VarInt, ) ), ( 'dimensionCodec', NBTTag ), ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'maxPlayers', VarInt ), ( 'viewDistance', VarInt ), ( 'simulationDistance', VarInt ), ( 'reducedDebugInfo', Boolean ), ( 'enableRespawnScreen', Boolean ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ) ],
1073741839 : [ ( 'entityId', Int ), ( 'isHardcore', Boolean ), ( 'gameMode', Byte ), ( 'previousGameMode', Byte ), ( 'worldNames', ArrayType(String, VarInt, ) ), ( 'dimensionCodec', NBTTag ), ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'maxPlayers', VarInt ), ( 'viewDistance', VarInt ), ( 'reducedDebugInfo', Boolean ), ( 'enableRespawnScreen', Boolean ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ) ]
757 : [ ( 'entityId', Int ), ( 'isHardcore', Boolean ), ( 'gameMode', Byte ), ( 'previousGameMode', Byte ), ( 'worldNames', ArrayType(String, VarInt, ) ), ( 'dimensionCodec', NBTTag ), ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'maxPlayers', VarInt ), ( 'viewDistance', VarInt ), ( 'simulationDistance', VarInt ), ( 'reducedDebugInfo', Boolean ), ( 'enableRespawnScreen', Boolean ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ) ]
}

View file

@ -5,23 +5,47 @@ from ....packet import Packet
from ....types import *
class PacketMap(Packet):
__slots__ = ( 'id', 'rows', 'itemDamage', 'columns', 'scale', 'x', 'locked', 'trackingPosition', 'y', 'data', 'icons' )
__slots__ = ( 'id', 'columns', 'data', 'icons', 'itemDamage', 'locked', 'rows', 'scale', 'trackingPosition', 'x', 'y' )
rows : bytes
itemDamage : int
columns : int
scale : int
x : bytes
locked : bool
trackingPosition : bool
y : bytes
data : bytes
icons : Union[list,tuple]
icons : Union[tuple,list]
itemDamage : int
locked : bool
rows : bytes
scale : int
trackingPosition : bool
x : bytes
y : bytes
def __init__(self, proto:int,
columns:int=None,
data:bytes=None,
icons:Union[tuple,list]=None,
itemDamage:int=None,
locked:bool=None,
rows:bytes=None,
scale:int=None,
trackingPosition:bool=None,
x:bytes=None,
y:bytes=None
):
super().__init__(proto,
columns=columns,
data=data,
icons=icons,
itemDamage=itemDamage,
locked=locked,
rows=rows,
scale=scale,
trackingPosition=trackingPosition,
x=x,
y=y
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 52,
47 : 52,
76 : 37,
107 : 36,
@ -58,11 +82,9 @@ class PacketMap(Packet):
751 : 37,
755 : 39,
756 : 39,
757 : 39,
1073741839 : 38
757 : 39
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'itemDamage', VarInt ), ( 'data', ByteArray ) ],
47 : [ ( 'itemDamage', VarInt ), ( 'scale', Byte ), ( 'icons', ArrayType(StructType(( 'directionAndType', Byte ), ( 'x', Byte ), ( 'z', Byte ), ), VarInt, ) ), ( 'columns', Byte ), ( 'rows', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'x', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'y', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'data', SwitchType('columns', { 0 : Void }, ByteArray, ) ) ],
76 : [ ( 'itemDamage', VarInt ), ( 'scale', Byte ), ( 'trackingPosition', Boolean ), ( 'icons', ArrayType(StructType(( 'directionAndType', Byte ), ( 'x', Byte ), ( 'z', Byte ), ), VarInt, ) ), ( 'columns', Byte ), ( 'rows', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'x', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'y', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'data', SwitchType('columns', { 0 : Void }, ByteArray, ) ) ],
107 : [ ( 'itemDamage', VarInt ), ( 'scale', Byte ), ( 'trackingPosition', Boolean ), ( 'icons', ArrayType(StructType(( 'directionAndType', Byte ), ( 'x', Byte ), ( 'z', Byte ), ), VarInt, ) ), ( 'columns', Byte ), ( 'rows', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'x', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'y', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'data', SwitchType('columns', { 0 : Void }, ByteArray, ) ) ],
@ -99,6 +121,5 @@ class PacketMap(Packet):
751 : [ ( 'itemDamage', VarInt ), ( 'scale', Byte ), ( 'trackingPosition', Boolean ), ( 'locked', Boolean ), ( 'icons', ArrayType(StructType(( 'type', VarInt ), ( 'x', Byte ), ( 'z', Byte ), ( 'direction', Byte ), ( 'displayName', OptionalType(String, ) ), ), VarInt, ) ), ( 'columns', Byte ), ( 'rows', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'x', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'y', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'data', SwitchType('columns', { 0 : Void }, ByteArray, ) ) ],
755 : [ ( 'itemDamage', VarInt ), ( 'scale', Byte ), ( 'locked', Boolean ), ( 'icons', OptionalType(ArrayType(StructType(( 'type', VarInt ), ( 'x', Byte ), ( 'z', Byte ), ( 'direction', Byte ), ( 'displayName', OptionalType(String, ) ), ), VarInt, ), ) ), ( 'columns', Byte ), ( 'rows', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'x', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'y', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'data', SwitchType('columns', { 0 : Void }, ByteArray, ) ) ],
756 : [ ( 'itemDamage', VarInt ), ( 'scale', Byte ), ( 'locked', Boolean ), ( 'icons', OptionalType(ArrayType(StructType(( 'type', VarInt ), ( 'x', Byte ), ( 'z', Byte ), ( 'direction', Byte ), ( 'displayName', OptionalType(String, ) ), ), VarInt, ), ) ), ( 'columns', Byte ), ( 'rows', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'x', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'y', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'data', SwitchType('columns', { 0 : Void }, ByteArray, ) ) ],
757 : [ ( 'itemDamage', VarInt ), ( 'scale', Byte ), ( 'locked', Boolean ), ( 'icons', OptionalType(ArrayType(StructType(( 'type', VarInt ), ( 'x', Byte ), ( 'z', Byte ), ( 'direction', Byte ), ( 'displayName', OptionalType(String, ) ), ), VarInt, ), ) ), ( 'columns', Byte ), ( 'rows', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'x', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'y', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'data', SwitchType('columns', { 0 : Void }, ByteArray, ) ) ],
1073741839 : [ ( 'itemDamage', VarInt ), ( 'scale', Byte ), ( 'trackingPosition', Boolean ), ( 'locked', Boolean ), ( 'icons', ArrayType(StructType(( 'type', VarInt ), ( 'x', Byte ), ( 'z', Byte ), ( 'direction', Byte ), ( 'displayName', OptionalType(String, ) ), ), VarInt, ) ), ( 'columns', Byte ), ( 'rows', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'x', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'y', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'data', SwitchType('columns', { 0 : Void }, ByteArray, ) ) ]
757 : [ ( 'itemDamage', VarInt ), ( 'scale', Byte ), ( 'locked', Boolean ), ( 'icons', OptionalType(ArrayType(StructType(( 'type', VarInt ), ( 'x', Byte ), ( 'z', Byte ), ( 'direction', Byte ), ( 'displayName', OptionalType(String, ) ), ), VarInt, ), ) ), ( 'columns', Byte ), ( 'rows', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'x', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'y', SwitchType('columns', { 0 : Void }, Byte, ) ), ( 'data', SwitchType('columns', { 0 : Void }, ByteArray, ) ) ]
}

View file

@ -5,32 +5,65 @@ from ....packet import Packet
from ....types import *
class PacketMapChunk(Packet):
__slots__ = ( 'id', 'skyLightMask', 'z', 'blockLight', 'emptySkyLightMask', 'x', 'compressedChunkData', 'primaryBitMask', 'blockEntities', 'chunkData', 'groundUp', 'emptyBlockLightMask', 'bitMap', 'addBitMap', 'ignoreOldData', 'skyLight', 'biomes', 'blockLightMask', 'trustEdges', 'heightmaps' )
__slots__ = ( 'id', 'biomes', 'bitMap', 'blockEntities', 'blockLight', 'blockLightMask', 'chunkData', 'emptyBlockLightMask', 'emptySkyLightMask', 'groundUp', 'heightmaps', 'ignoreOldData', 'skyLight', 'skyLightMask', 'trustEdges', 'x', 'z' )
skyLightMask : list
z : int
blockLight : list
emptySkyLightMask : list
x : int
compressedChunkData : bytes
primaryBitMask : list
blockEntities : list
chunkData : bytes
groundUp : bool
emptyBlockLightMask : list
biomes : Union[bytes,list]
bitMap : Union[int,list]
addBitMap : int
blockEntities : list
blockLight : list
blockLightMask : list
chunkData : bytes
emptyBlockLightMask : list
emptySkyLightMask : list
groundUp : bool
heightmaps : bytes
ignoreOldData : bool
skyLight : list
biomes : Union[bytes,list]
blockLightMask : list
skyLightMask : list
trustEdges : bool
heightmaps : bytes
x : int
z : int
def __init__(self, proto:int,
biomes:Union[bytes,list]=None,
bitMap:Union[int,list]=None,
blockEntities:list=None,
blockLight:list=None,
blockLightMask:list=None,
chunkData:bytes=None,
emptyBlockLightMask:list=None,
emptySkyLightMask:list=None,
groundUp:bool=None,
heightmaps:bytes=None,
ignoreOldData:bool=None,
skyLight:list=None,
skyLightMask:list=None,
trustEdges:bool=None,
x:int=None,
z:int=None
):
super().__init__(proto,
biomes=biomes,
bitMap=bitMap,
blockEntities=blockEntities,
blockLight=blockLight,
blockLightMask=blockLightMask,
chunkData=chunkData,
emptyBlockLightMask=emptyBlockLightMask,
emptySkyLightMask=emptySkyLightMask,
groundUp=groundUp,
heightmaps=heightmaps,
ignoreOldData=ignoreOldData,
skyLight=skyLight,
skyLightMask=skyLightMask,
trustEdges=trustEdges,
x=x,
z=z
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 33,
47 : 33,
76 : 32,
107 : 32,
@ -67,11 +100,9 @@ class PacketMapChunk(Packet):
751 : 32,
755 : 34,
756 : 34,
757 : 34,
1073741839 : 33
757 : 34
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'x', Int ), ( 'z', Int ), ( 'groundUp', Boolean ), ( 'bitMap', UnsignedShort ), ( 'addBitMap', UnsignedShort ), ( 'compressedChunkData', ByteArray ) ],
47 : [ ( 'x', Int ), ( 'z', Int ), ( 'groundUp', Boolean ), ( 'bitMap', UnsignedShort ), ( 'chunkData', ByteArray ) ],
76 : [ ( 'x', Int ), ( 'z', Int ), ( 'groundUp', Boolean ), ( 'bitMap', VarInt ), ( 'chunkData', ByteArray ) ],
107 : [ ( 'x', Int ), ( 'z', Int ), ( 'groundUp', Boolean ), ( 'bitMap', VarInt ), ( 'chunkData', ByteArray ) ],
@ -108,6 +139,5 @@ class PacketMapChunk(Packet):
751 : [ ( 'x', Int ), ( 'z', Int ), ( 'groundUp', Boolean ), ( 'bitMap', VarInt ), ( 'heightmaps', NBTTag ), ( 'biomes', SwitchType('groundUp', { 'false' : Void, 'true' : ArrayType(VarInt, VarInt, ) }, None, ) ), ( 'chunkData', ByteArray ), ( 'blockEntities', ArrayType(NBTTag, VarInt, ) ) ],
755 : [ ( 'x', Int ), ( 'z', Int ), ( 'bitMap', ArrayType(Long, VarInt, ) ), ( 'heightmaps', NBTTag ), ( 'biomes', ArrayType(VarInt, VarInt, ) ), ( 'chunkData', ByteArray ), ( 'blockEntities', ArrayType(NBTTag, VarInt, ) ) ],
756 : [ ( 'x', Int ), ( 'z', Int ), ( 'bitMap', ArrayType(Long, VarInt, ) ), ( 'heightmaps', NBTTag ), ( 'biomes', ArrayType(VarInt, VarInt, ) ), ( 'chunkData', ByteArray ), ( 'blockEntities', ArrayType(NBTTag, VarInt, ) ) ],
757 : [ ( 'x', Int ), ( 'z', Int ), ( 'heightmaps', NBTTag ), ( 'chunkData', ByteArray ), ( 'blockEntities', ArrayType(TrailingData, VarInt, ) ), ( 'trustEdges', Boolean ), ( 'skyLightMask', ArrayType(Long, VarInt, ) ), ( 'blockLightMask', ArrayType(Long, VarInt, ) ), ( 'emptySkyLightMask', ArrayType(Long, VarInt, ) ), ( 'emptyBlockLightMask', ArrayType(Long, VarInt, ) ), ( 'skyLight', ArrayType(ArrayType(Byte, VarInt, ), VarInt, ) ), ( 'blockLight', ArrayType(ArrayType(Byte, VarInt, ), VarInt, ) ) ],
1073741839 : [ ( 'x', Int ), ( 'z', Int ), ( 'primaryBitMask', ArrayType(Long, VarInt, ) ), ( 'heightmaps', NBTTag ), ( 'biomes', ArrayType(VarInt, VarInt, ) ), ( 'chunkData', ByteArray ), ( 'blockEntities', ArrayType(NBTTag, VarInt, ) ) ]
757 : [ ( 'x', Int ), ( 'z', Int ), ( 'heightmaps', NBTTag ), ( 'chunkData', ByteArray ), ( 'blockEntities', ArrayType(TrailingData, VarInt, ) ), ( 'trustEdges', Boolean ), ( 'skyLightMask', ArrayType(Long, VarInt, ) ), ( 'blockLightMask', ArrayType(Long, VarInt, ) ), ( 'emptySkyLightMask', ArrayType(Long, VarInt, ) ), ( 'emptyBlockLightMask', ArrayType(Long, VarInt, ) ), ( 'skyLight', ArrayType(ArrayType(Byte, VarInt, ), VarInt, ) ), ( 'blockLight', ArrayType(ArrayType(Byte, VarInt, ), VarInt, ) ) ]
}

View file

@ -5,22 +5,28 @@ from ....packet import Packet
from ....types import *
class PacketMapChunkBulk(Packet):
__slots__ = ( 'id', 'meta', 'skyLightSent', 'dataLength', 'chunkColumnCount', 'compressedChunkData', 'data' )
__slots__ = ( 'id', 'data', 'meta', 'skyLightSent' )
data : bytes
meta : list
skyLightSent : bool
dataLength : bytes
chunkColumnCount : bytes
compressedChunkData : bytes
data : bytes
def __init__(self, proto:int,
data:bytes=None,
meta:list=None,
skyLightSent:bool=None
):
super().__init__(proto,
data=data,
meta=meta,
skyLightSent=skyLightSent
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 38,
47 : 38
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'chunkColumnCount', TrailingData ), ( 'dataLength', TrailingData ), ( 'skyLightSent', Boolean ), ( 'compressedChunkData', ByteArray ), ( 'meta', ArrayType(StructType(( 'x', Int ), ( 'z', Int ), ( 'bitMap', UnsignedShort ), ( 'addBitMap', UnsignedShort ), ), 'chunkColumnCount', ) ) ],
47 : [ ( 'skyLightSent', Boolean ), ( 'meta', ArrayType(StructType(( 'x', Int ), ( 'z', Int ), ( 'bitMap', UnsignedShort ), ), VarInt, ) ), ( 'data', TrailingData ) ]
}

View file

@ -5,20 +5,32 @@ from ....packet import Packet
from ....types import *
class PacketMultiBlockChange(Packet):
__slots__ = ( 'id', 'chunkX', 'recordCount', 'records', 'dataLength', 'notTrustEdges', 'chunkZ', 'chunkCoordinates' )
__slots__ = ( 'id', 'chunkCoordinates', 'chunkX', 'chunkZ', 'notTrustEdges', 'records' )
chunkX : int
recordCount : bytes
records : list
dataLength : int
notTrustEdges : bool
chunkZ : int
chunkCoordinates : bytes
chunkX : int
chunkZ : int
notTrustEdges : bool
records : list
def __init__(self, proto:int,
chunkCoordinates:bytes=None,
chunkX:int=None,
chunkZ:int=None,
notTrustEdges:bool=None,
records:list=None
):
super().__init__(proto,
chunkCoordinates=chunkCoordinates,
chunkX=chunkX,
chunkZ=chunkZ,
notTrustEdges=notTrustEdges,
records=records
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 34,
47 : 34,
76 : 16,
107 : 16,
@ -55,11 +67,9 @@ class PacketMultiBlockChange(Packet):
751 : 59,
755 : 63,
756 : 63,
757 : 63,
1073741839 : 60
757 : 63
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'chunkX', Int ), ( 'chunkZ', Int ), ( 'recordCount', TrailingData ), ( 'dataLength', Int ), ( 'records', ArrayType(StructType(( 'y', Byte ), ), 'recordCount', ) ) ],
47 : [ ( 'chunkX', Int ), ( 'chunkZ', Int ), ( 'records', ArrayType(StructType(( 'horizontalPos', Byte ), ( 'y', Byte ), ( 'blockId', VarInt ), ), VarInt, ) ) ],
76 : [ ( 'chunkX', Int ), ( 'chunkZ', Int ), ( 'records', ArrayType(StructType(( 'horizontalPos', Byte ), ( 'y', Byte ), ( 'blockId', VarInt ), ), VarInt, ) ) ],
107 : [ ( 'chunkX', Int ), ( 'chunkZ', Int ), ( 'records', ArrayType(StructType(( 'horizontalPos', Byte ), ( 'y', Byte ), ( 'blockId', VarInt ), ), VarInt, ) ) ],
@ -96,6 +106,5 @@ class PacketMultiBlockChange(Packet):
751 : [ ( 'chunkCoordinates', Int ), ( 'notTrustEdges', Boolean ), ( 'records', ArrayType(VarInt, VarInt, ) ) ],
755 : [ ( 'chunkCoordinates', Int ), ( 'notTrustEdges', Boolean ), ( 'records', ArrayType(VarInt, VarInt, ) ) ],
756 : [ ( 'chunkCoordinates', Int ), ( 'notTrustEdges', Boolean ), ( 'records', ArrayType(VarInt, VarInt, ) ) ],
757 : [ ( 'chunkCoordinates', Int ), ( 'notTrustEdges', Boolean ), ( 'records', ArrayType(VarInt, VarInt, ) ) ],
1073741839 : [ ( 'chunkCoordinates', Int ), ( 'notTrustEdges', Boolean ), ( 'records', ArrayType(VarInt, VarInt, ) ) ]
757 : [ ( 'chunkCoordinates', Int ), ( 'notTrustEdges', Boolean ), ( 'records', ArrayType(VarInt, VarInt, ) ) ]
}

View file

@ -5,24 +5,44 @@ from ....packet import Packet
from ....types import *
class PacketNamedEntitySpawn(Packet):
__slots__ = ( 'id', 'currentItem', 'entityId', 'z', 'playerName', 'x', 'yaw', 'pitch', 'playerUUID', 'metadata', 'y', 'data' )
__slots__ = ( 'id', 'currentItem', 'entityId', 'metadata', 'pitch', 'playerUUID', 'x', 'y', 'yaw', 'z' )
currentItem : int
entityId : int
z : Union[int,float]
playerName : str
x : Union[int,float]
yaw : int
metadata : dict
pitch : int
playerUUID : str
metadata : dict
y : Union[int,float]
data : list
x : Union[float,int]
y : Union[float,int]
yaw : int
z : Union[float,int]
def __init__(self, proto:int,
currentItem:int=None,
entityId:int=None,
metadata:dict=None,
pitch:int=None,
playerUUID:str=None,
x:Union[float,int]=None,
y:Union[float,int]=None,
yaw:int=None,
z:Union[float,int]=None
):
super().__init__(proto,
currentItem=currentItem,
entityId=entityId,
metadata=metadata,
pitch=pitch,
playerUUID=playerUUID,
x=x,
y=y,
yaw=yaw,
z=z
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 12,
47 : 12,
76 : 5,
107 : 5,
@ -59,11 +79,9 @@ class PacketNamedEntitySpawn(Packet):
751 : 4,
755 : 4,
756 : 4,
757 : 4,
1073741839 : 4
757 : 4
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', VarInt ), ( 'playerUUID', String ), ( 'playerName', String ), ( 'data', ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', String ), ), VarInt, ) ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'currentItem', Short ), ( 'metadata', EntityMetadata ) ],
47 : [ ( 'entityId', VarInt ), ( 'playerUUID', UUID ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'currentItem', Short ), ( 'metadata', EntityMetadata ) ],
76 : [ ( 'entityId', VarInt ), ( 'playerUUID', UUID ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'metadata', EntityMetadata ) ],
107 : [ ( 'entityId', VarInt ), ( 'playerUUID', UUID ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ), ( 'metadata', EntityMetadata ) ],
@ -100,6 +118,5 @@ class PacketNamedEntitySpawn(Packet):
751 : [ ( 'entityId', VarInt ), ( 'playerUUID', UUID ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ) ],
755 : [ ( 'entityId', VarInt ), ( 'playerUUID', UUID ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ) ],
756 : [ ( 'entityId', VarInt ), ( 'playerUUID', UUID ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ) ],
757 : [ ( 'entityId', VarInt ), ( 'playerUUID', UUID ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'playerUUID', UUID ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ) ]
757 : [ ( 'entityId', VarInt ), ( 'playerUUID', UUID ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Byte ), ( 'pitch', Byte ) ]
}

View file

@ -5,20 +5,38 @@ from ....packet import Packet
from ....types import *
class PacketNamedSoundEffect(Packet):
__slots__ = ( 'id', 'z', 'soundCategory', 'volume', 'x', 'pitch', 'y', 'soundName' )
__slots__ = ( 'id', 'pitch', 'soundCategory', 'soundName', 'volume', 'x', 'y', 'z' )
z : int
pitch : Union[float,int]
soundCategory : int
soundName : str
volume : float
x : int
pitch : Union[int,float]
y : int
soundName : str
z : int
def __init__(self, proto:int,
pitch:Union[float,int]=None,
soundCategory:int=None,
soundName:str=None,
volume:float=None,
x:int=None,
y:int=None,
z:int=None
):
super().__init__(proto,
pitch=pitch,
soundCategory=soundCategory,
soundName=soundName,
volume=volume,
x=x,
y=y,
z=z
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 41,
47 : 41,
76 : 35,
107 : 25,
@ -55,11 +73,9 @@ class PacketNamedSoundEffect(Packet):
751 : 24,
755 : 25,
756 : 25,
757 : 25,
1073741839 : 25
757 : 25
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'soundName', String ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Byte ) ],
47 : [ ( 'soundName', String ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Byte ) ],
76 : [ ( 'soundName', String ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Byte ) ],
107 : [ ( 'soundName', String ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Byte ) ],
@ -96,6 +112,5 @@ class PacketNamedSoundEffect(Packet):
751 : [ ( 'soundName', String ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ],
755 : [ ( 'soundName', String ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ],
756 : [ ( 'soundName', String ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ],
757 : [ ( 'soundName', String ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ],
1073741839 : [ ( 'soundName', String ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ]
757 : [ ( 'soundName', String ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ]
}

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import *
class PacketNbtQueryResponse(Packet):
__slots__ = ( 'id', 'transactionId', 'nbt' )
__slots__ = ( 'id', 'nbt', 'transactionId' )
transactionId : int
nbt : bytes
transactionId : int
def __init__(self, proto:int,
nbt:bytes=None,
transactionId:int=None
):
super().__init__(proto,
nbt=nbt,
transactionId=transactionId
)
_state : int = 3
@ -32,8 +41,7 @@ class PacketNbtQueryResponse(Packet):
751 : 84,
755 : 95,
756 : 95,
757 : 96,
1073741839 : 85
757 : 96
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
393 : [ ( 'transactionId', VarInt ), ( 'nbt', OptionalType(NBTTag) ) ],
@ -55,6 +63,5 @@ class PacketNbtQueryResponse(Packet):
751 : [ ( 'transactionId', VarInt ), ( 'nbt', OptionalType(NBTTag) ) ],
755 : [ ( 'transactionId', VarInt ), ( 'nbt', OptionalType(NBTTag) ) ],
756 : [ ( 'transactionId', VarInt ), ( 'nbt', OptionalType(NBTTag) ) ],
757 : [ ( 'transactionId', VarInt ), ( 'nbt', OptionalType(NBTTag) ) ],
1073741839 : [ ( 'transactionId', VarInt ), ( 'nbt', OptionalType(NBTTag) ) ]
757 : [ ( 'transactionId', VarInt ), ( 'nbt', OptionalType(NBTTag) ) ]
}

View file

@ -9,6 +9,13 @@ class PacketOpenBook(Packet):
hand : int
def __init__(self, proto:int,
hand:int=None
):
super().__init__(proto,
hand=hand
)
_state : int = 3
_ids : Dict[int, int] = {
@ -26,8 +33,7 @@ class PacketOpenBook(Packet):
751 : 44,
755 : 45,
756 : 45,
757 : 45,
1073741839 : 45
757 : 45
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
477 : [ ( 'hand', VarInt ) ],
@ -44,6 +50,5 @@ class PacketOpenBook(Packet):
751 : [ ( 'hand', VarInt ) ],
755 : [ ( 'hand', VarInt ) ],
756 : [ ( 'hand', VarInt ) ],
757 : [ ( 'hand', VarInt ) ],
1073741839 : [ ( 'hand', VarInt ) ]
757 : [ ( 'hand', VarInt ) ]
}

View file

@ -5,11 +5,22 @@ from ....packet import Packet
from ....types import *
class PacketOpenHorseWindow(Packet):
__slots__ = ( 'id', 'nbSlots', 'windowId', 'entityId' )
__slots__ = ( 'id', 'entityId', 'nbSlots', 'windowId' )
entityId : int
nbSlots : int
windowId : int
entityId : int
def __init__(self, proto:int,
entityId:int=None,
nbSlots:int=None,
windowId:int=None
):
super().__init__(proto,
entityId=entityId,
nbSlots=nbSlots,
windowId=windowId
)
_state : int = 3
@ -28,8 +39,7 @@ class PacketOpenHorseWindow(Packet):
751 : 30,
755 : 31,
756 : 31,
757 : 31,
1073741839 : 31
757 : 31
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
477 : [ ( 'windowId', Byte ), ( 'nbSlots', VarInt ), ( 'entityId', Int ) ],
@ -46,6 +56,5 @@ class PacketOpenHorseWindow(Packet):
751 : [ ( 'windowId', Byte ), ( 'nbSlots', VarInt ), ( 'entityId', Int ) ],
755 : [ ( 'windowId', Byte ), ( 'nbSlots', VarInt ), ( 'entityId', Int ) ],
756 : [ ( 'windowId', Byte ), ( 'nbSlots', VarInt ), ( 'entityId', Int ) ],
757 : [ ( 'windowId', Byte ), ( 'nbSlots', VarInt ), ( 'entityId', Int ) ],
1073741839 : [ ( 'windowId', Byte ), ( 'nbSlots', VarInt ), ( 'entityId', Int ) ]
757 : [ ( 'windowId', Byte ), ( 'nbSlots', VarInt ), ( 'entityId', Int ) ]
}

View file

@ -7,12 +7,18 @@ from ....types import *
class PacketOpenSignEntity(Packet):
__slots__ = ( 'id', 'location' )
location : Union[bytes,tuple]
location : tuple
def __init__(self, proto:int,
location:tuple=None
):
super().__init__(proto,
location=location
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 54,
47 : 54,
76 : 42,
107 : 42,
@ -49,11 +55,9 @@ class PacketOpenSignEntity(Packet):
751 : 46,
755 : 47,
756 : 47,
757 : 47,
1073741839 : 47
757 : 47
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'location', TrailingData ) ],
47 : [ ( 'location', Position ) ],
76 : [ ( 'location', Position ) ],
107 : [ ( 'location', Position ) ],
@ -90,6 +94,5 @@ class PacketOpenSignEntity(Packet):
751 : [ ( 'location', Position ) ],
755 : [ ( 'location', Position ) ],
756 : [ ( 'location', Position ) ],
757 : [ ( 'location', Position ) ],
1073741839 : [ ( 'location', Position ) ]
757 : [ ( 'location', Position ) ]
}

View file

@ -5,19 +5,32 @@ from ....packet import Packet
from ....types import *
class PacketOpenWindow(Packet):
__slots__ = ( 'id', 'slotCount', 'windowTitle', 'entityId', 'inventoryType', 'windowId', 'useProvidedTitle' )
__slots__ = ( 'id', 'entityId', 'inventoryType', 'slotCount', 'windowId', 'windowTitle' )
slotCount : int
windowTitle : str
entityId : bytes
inventoryType : Union[str,int]
inventoryType : Union[int,str]
slotCount : int
windowId : int
useProvidedTitle : bool
windowTitle : str
def __init__(self, proto:int,
entityId:bytes=None,
inventoryType:Union[int,str]=None,
slotCount:int=None,
windowId:int=None,
windowTitle:str=None
):
super().__init__(proto,
entityId=entityId,
inventoryType=inventoryType,
slotCount=slotCount,
windowId=windowId,
windowTitle=windowTitle
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 45,
47 : 45,
76 : 19,
107 : 19,
@ -54,11 +67,9 @@ class PacketOpenWindow(Packet):
751 : 45,
755 : 46,
756 : 46,
757 : 46,
1073741839 : 46
757 : 46
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'windowId', Byte ), ( 'inventoryType', Byte ), ( 'windowTitle', String ), ( 'slotCount', Byte ), ( 'useProvidedTitle', Boolean ), ( 'entityId', SwitchType('inventoryType', { 11 : Int }, None, ) ) ],
47 : [ ( 'windowId', Byte ), ( 'inventoryType', String ), ( 'windowTitle', String ), ( 'slotCount', Byte ), ( 'entityId', SwitchType('inventoryType', { 'EntityHorse' : Int }, None, ) ) ],
76 : [ ( 'windowId', Byte ), ( 'inventoryType', String ), ( 'windowTitle', String ), ( 'slotCount', Byte ), ( 'entityId', SwitchType('inventoryType', { 'EntityHorse' : Int }, None, ) ) ],
107 : [ ( 'windowId', Byte ), ( 'inventoryType', String ), ( 'windowTitle', String ), ( 'slotCount', Byte ), ( 'entityId', SwitchType('inventoryType', { 'EntityHorse' : Int }, None, ) ) ],
@ -95,6 +106,5 @@ class PacketOpenWindow(Packet):
751 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ],
755 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ],
756 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ],
757 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ],
1073741839 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ]
757 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ]
}

View file

@ -9,6 +9,13 @@ class PacketPing(Packet):
id : int
def __init__(self, proto:int,
id:int=None
):
super().__init__(proto,
id=id
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -5,18 +5,23 @@ from ....packet import Packet
from ....types import *
class PacketPlayerInfo(Packet):
__slots__ = ( 'id', 'online', 'ping', 'playerName', 'action', 'data' )
__slots__ = ( 'id', 'action', 'data' )
online : bool
ping : int
playerName : str
action : int
data : list
def __init__(self, proto:int,
action:int=None,
data:list=None
):
super().__init__(proto,
action=action,
data=data
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 56,
47 : 56,
76 : 45,
107 : 45,
@ -53,11 +58,9 @@ class PacketPlayerInfo(Packet):
751 : 50,
755 : 54,
756 : 54,
757 : 54,
1073741839 : 51
757 : 54
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'playerName', String ), ( 'online', Boolean ), ( 'ping', Short ) ],
47 : [ ( 'action', VarInt ), ( 'data', ArrayType(StructType(( 'UUID', UUID ), ( 'name', SwitchType('action', { 0 : String }, None, ) ), ( 'properties', SwitchType('action', { 0 : ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', OptionalType(String, ) ), ), VarInt, ) }, None, ) ), ( 'gamemode', SwitchType('action', { 0 : VarInt, 1 : VarInt }, None, ) ), ( 'ping', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ), ( 'displayName', SwitchType('action', { 0 : OptionalType(String, ), 3 : OptionalType(String, ) }, None, ) ), ), VarInt, ) ) ],
76 : [ ( 'action', VarInt ), ( 'data', ArrayType(StructType(( 'UUID', UUID ), ( 'name', SwitchType('action', { 0 : String }, None, ) ), ( 'properties', SwitchType('action', { 0 : ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', OptionalType(String, ) ), ), VarInt, ) }, None, ) ), ( 'gamemode', SwitchType('action', { 0 : VarInt, 1 : VarInt }, None, ) ), ( 'ping', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ), ( 'displayName', SwitchType('action', { 0 : OptionalType(String, ), 3 : OptionalType(String, ) }, None, ) ), ), VarInt, ) ) ],
107 : [ ( 'action', VarInt ), ( 'data', ArrayType(StructType(( 'UUID', UUID ), ( 'name', SwitchType('action', { 0 : String }, None, ) ), ( 'properties', SwitchType('action', { 0 : ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', OptionalType(String, ) ), ), VarInt, ) }, None, ) ), ( 'gamemode', SwitchType('action', { 0 : VarInt, 1 : VarInt }, None, ) ), ( 'ping', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ), ( 'displayName', SwitchType('action', { 0 : OptionalType(String, ), 3 : OptionalType(String, ) }, None, ) ), ), VarInt, ) ) ],
@ -94,6 +97,5 @@ class PacketPlayerInfo(Packet):
751 : [ ( 'action', VarInt ), ( 'data', ArrayType(StructType(( 'UUID', UUID ), ( 'name', SwitchType('action', { 0 : String }, None, ) ), ( 'properties', SwitchType('action', { 0 : ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', OptionalType(String, ) ), ), VarInt, ) }, None, ) ), ( 'gamemode', SwitchType('action', { 0 : VarInt, 1 : VarInt }, None, ) ), ( 'ping', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ), ( 'displayName', SwitchType('action', { 0 : OptionalType(String, ), 3 : OptionalType(String, ) }, None, ) ), ), VarInt, ) ) ],
755 : [ ( 'action', VarInt ), ( 'data', ArrayType(StructType(( 'UUID', UUID ), ( 'name', SwitchType('action', { 0 : String }, None, ) ), ( 'properties', SwitchType('action', { 0 : ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', OptionalType(String, ) ), ), VarInt, ) }, None, ) ), ( 'gamemode', SwitchType('action', { 0 : VarInt, 1 : VarInt }, None, ) ), ( 'ping', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ), ( 'displayName', SwitchType('action', { 0 : OptionalType(String, ), 3 : OptionalType(String, ) }, None, ) ), ), VarInt, ) ) ],
756 : [ ( 'action', VarInt ), ( 'data', ArrayType(StructType(( 'UUID', UUID ), ( 'name', SwitchType('action', { 0 : String }, None, ) ), ( 'properties', SwitchType('action', { 0 : ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', OptionalType(String, ) ), ), VarInt, ) }, None, ) ), ( 'gamemode', SwitchType('action', { 0 : VarInt, 1 : VarInt }, None, ) ), ( 'ping', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ), ( 'displayName', SwitchType('action', { 0 : OptionalType(String, ), 3 : OptionalType(String, ) }, None, ) ), ), VarInt, ) ) ],
757 : [ ( 'action', VarInt ), ( 'data', ArrayType(StructType(( 'UUID', UUID ), ( 'name', SwitchType('action', { 0 : String }, None, ) ), ( 'properties', SwitchType('action', { 0 : ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', OptionalType(String, ) ), ), VarInt, ) }, None, ) ), ( 'gamemode', SwitchType('action', { 0 : VarInt, 1 : VarInt }, None, ) ), ( 'ping', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ), ( 'displayName', SwitchType('action', { 0 : OptionalType(String, ), 3 : OptionalType(String, ) }, None, ) ), ), VarInt, ) ) ],
1073741839 : [ ( 'action', VarInt ), ( 'data', ArrayType(StructType(( 'UUID', UUID ), ( 'name', SwitchType('action', { 0 : String }, None, ) ), ( 'properties', SwitchType('action', { 0 : ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', OptionalType(String, ) ), ), VarInt, ) }, None, ) ), ( 'gamemode', SwitchType('action', { 0 : VarInt, 1 : VarInt }, None, ) ), ( 'ping', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ), ( 'displayName', SwitchType('action', { 0 : OptionalType(String, ), 3 : OptionalType(String, ) }, None, ) ), ), VarInt, ) ) ]
757 : [ ( 'action', VarInt ), ( 'data', ArrayType(StructType(( 'UUID', UUID ), ( 'name', SwitchType('action', { 0 : String }, None, ) ), ( 'properties', SwitchType('action', { 0 : ArrayType(StructType(( 'name', String ), ( 'value', String ), ( 'signature', OptionalType(String, ) ), ), VarInt, ) }, None, ) ), ( 'gamemode', SwitchType('action', { 0 : VarInt, 1 : VarInt }, None, ) ), ( 'ping', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ), ( 'displayName', SwitchType('action', { 0 : OptionalType(String, ), 3 : OptionalType(String, ) }, None, ) ), ), VarInt, ) ) ]
}

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import *
class PacketPlayerlistHeader(Packet):
__slots__ = ( 'id', 'header', 'footer' )
__slots__ = ( 'id', 'footer', 'header' )
header : str
footer : str
header : str
def __init__(self, proto:int,
footer:str=None,
header:str=None
):
super().__init__(proto,
footer=footer,
header=header
)
_state : int = 3
@ -49,8 +58,7 @@ class PacketPlayerlistHeader(Packet):
751 : 83,
755 : 94,
756 : 94,
757 : 95,
1073741839 : 84
757 : 95
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
47 : [ ( 'header', String ), ( 'footer', String ) ],
@ -89,6 +97,5 @@ class PacketPlayerlistHeader(Packet):
751 : [ ( 'header', String ), ( 'footer', String ) ],
755 : [ ( 'header', String ), ( 'footer', String ) ],
756 : [ ( 'header', String ), ( 'footer', String ) ],
757 : [ ( 'header', String ), ( 'footer', String ) ],
1073741839 : [ ( 'header', String ), ( 'footer', String ) ]
757 : [ ( 'header', String ), ( 'footer', String ) ]
}

View file

@ -5,22 +5,41 @@ from ....packet import Packet
from ....types import *
class PacketPosition(Packet):
__slots__ = ( 'id', 'flags', 'onGround', 'z', 'yaw', 'x', 'pitch', 'dismountVehicle', 'teleportId', 'y' )
__slots__ = ( 'id', 'dismountVehicle', 'flags', 'pitch', 'teleportId', 'x', 'y', 'yaw', 'z' )
flags : int
onGround : bool
z : float
yaw : float
x : float
pitch : float
dismountVehicle : bool
flags : int
pitch : float
teleportId : int
x : float
y : float
yaw : float
z : float
def __init__(self, proto:int,
dismountVehicle:bool=None,
flags:int=None,
pitch:float=None,
teleportId:int=None,
x:float=None,
y:float=None,
yaw:float=None,
z:float=None
):
super().__init__(proto,
dismountVehicle=dismountVehicle,
flags=flags,
pitch=pitch,
teleportId=teleportId,
x=x,
y=y,
yaw=yaw,
z=z
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 8,
47 : 8,
76 : 46,
107 : 46,
@ -57,11 +76,9 @@ class PacketPosition(Packet):
751 : 52,
755 : 56,
756 : 56,
757 : 56,
1073741839 : 53
757 : 56
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'onGround', Boolean ) ],
47 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'flags', Byte ) ],
76 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'flags', Byte ) ],
107 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'flags', Byte ), ( 'teleportId', VarInt ) ],
@ -98,6 +115,5 @@ class PacketPosition(Packet):
751 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'flags', Byte ), ( 'teleportId', VarInt ) ],
755 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'flags', Byte ), ( 'teleportId', VarInt ), ( 'dismountVehicle', Boolean ) ],
756 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'flags', Byte ), ( 'teleportId', VarInt ), ( 'dismountVehicle', Boolean ) ],
757 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'flags', Byte ), ( 'teleportId', VarInt ), ( 'dismountVehicle', Boolean ) ],
1073741839 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'flags', Byte ), ( 'teleportId', VarInt ), ( 'dismountVehicle', Boolean ) ]
757 : [ ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'yaw', Float ), ( 'pitch', Float ), ( 'flags', Byte ), ( 'teleportId', VarInt ), ( 'dismountVehicle', Boolean ) ]
}

View file

@ -5,18 +5,32 @@ from ....packet import Packet
from ....types import *
class PacketRelEntityMove(Packet):
__slots__ = ( 'id', 'entityId', 'onGround', 'dZ', 'dX', 'dY' )
__slots__ = ( 'id', 'dX', 'dY', 'dZ', 'entityId', 'onGround' )
entityId : int
onGround : bool
dZ : int
dX : int
dY : int
dZ : int
entityId : int
onGround : bool
def __init__(self, proto:int,
dX:int=None,
dY:int=None,
dZ:int=None,
entityId:int=None,
onGround:bool=None
):
super().__init__(proto,
dX=dX,
dY=dY,
dZ=dZ,
entityId=entityId,
onGround=onGround
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 21,
47 : 21,
76 : 38,
107 : 37,
@ -53,11 +67,9 @@ class PacketRelEntityMove(Packet):
751 : 39,
755 : 41,
756 : 41,
757 : 41,
1073741839 : 40
757 : 41
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'dX', Byte ), ( 'dY', Byte ), ( 'dZ', Byte ) ],
47 : [ ( 'entityId', VarInt ), ( 'dX', Byte ), ( 'dY', Byte ), ( 'dZ', Byte ), ( 'onGround', Boolean ) ],
76 : [ ( 'entityId', VarInt ), ( 'dX', Byte ), ( 'dY', Byte ), ( 'dZ', Byte ), ( 'onGround', Boolean ) ],
107 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'onGround', Boolean ) ],
@ -94,6 +106,5 @@ class PacketRelEntityMove(Packet):
751 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'onGround', Boolean ) ],
755 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'onGround', Boolean ) ],
756 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'onGround', Boolean ) ],
757 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'onGround', Boolean ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'onGround', Boolean ) ]
757 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'onGround', Boolean ) ]
}

View file

@ -10,10 +10,18 @@ class PacketRemoveEntityEffect(Packet):
effectId : int
entityId : int
def __init__(self, proto:int,
effectId:int=None,
entityId:int=None
):
super().__init__(proto,
effectId=effectId,
entityId=entityId
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 30,
47 : 30,
76 : 49,
107 : 49,
@ -50,11 +58,9 @@ class PacketRemoveEntityEffect(Packet):
751 : 55,
755 : 59,
756 : 59,
757 : 59,
1073741839 : 56
757 : 59
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', Int ), ( 'effectId', Byte ) ],
47 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ) ],
76 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ) ],
107 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ) ],
@ -91,6 +97,5 @@ class PacketRemoveEntityEffect(Packet):
751 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ) ],
755 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ) ],
756 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ) ],
757 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ) ]
757 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ) ]
}

View file

@ -5,13 +5,26 @@ from ....packet import Packet
from ....types import *
class PacketResourcePackSend(Packet):
__slots__ = ( 'id', 'forced', 'promptMessage', 'hash', 'url' )
__slots__ = ( 'id', 'forced', 'hash', 'promptMessage', 'url' )
forced : bool
promptMessage : tuple
hash : str
promptMessage : tuple
url : str
def __init__(self, proto:int,
forced:bool=None,
hash:str=None,
promptMessage:tuple=None,
url:str=None
):
super().__init__(proto,
forced=forced,
hash=hash,
promptMessage=promptMessage,
url=url
)
_state : int = 3
_ids : Dict[int, int] = {
@ -51,8 +64,7 @@ class PacketResourcePackSend(Packet):
751 : 56,
755 : 60,
756 : 60,
757 : 60,
1073741839 : 57
757 : 60
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
47 : [ ( 'url', String ), ( 'hash', String ) ],
@ -91,6 +103,5 @@ class PacketResourcePackSend(Packet):
751 : [ ( 'url', String ), ( 'hash', String ) ],
755 : [ ( 'url', String ), ( 'hash', String ), ( 'forced', Boolean ), ( 'promptMessage', OptionalType(String, ) ) ],
756 : [ ( 'url', String ), ( 'hash', String ), ( 'forced', Boolean ), ( 'promptMessage', OptionalType(String, ) ) ],
757 : [ ( 'url', String ), ( 'hash', String ), ( 'forced', Boolean ), ( 'promptMessage', OptionalType(String, ) ) ],
1073741839 : [ ( 'url', String ), ( 'hash', String ), ( 'forced', Boolean ) ]
757 : [ ( 'url', String ), ( 'hash', String ), ( 'forced', Boolean ), ( 'promptMessage', OptionalType(String, ) ) ]
}

View file

@ -5,23 +5,47 @@ from ....packet import Packet
from ....types import *
class PacketRespawn(Packet):
__slots__ = ( 'id', 'copyMetadata', 'isFlat', 'isDebug', 'hashedSeed', 'dimension', 'gamemode', 'difficulty', 'levelType', 'previousGamemode', 'worldName' )
__slots__ = ( 'id', 'copyMetadata', 'difficulty', 'dimension', 'gamemode', 'hashedSeed', 'isDebug', 'isFlat', 'levelType', 'previousGamemode', 'worldName' )
copyMetadata : bool
isFlat : bool
isDebug : bool
hashedSeed : int
difficulty : int
dimension : Union[int,bytes,str]
gamemode : int
difficulty : int
hashedSeed : int
isDebug : bool
isFlat : bool
levelType : str
previousGamemode : int
worldName : str
def __init__(self, proto:int,
copyMetadata:bool=None,
difficulty:int=None,
dimension:Union[int,bytes,str]=None,
gamemode:int=None,
hashedSeed:int=None,
isDebug:bool=None,
isFlat:bool=None,
levelType:str=None,
previousGamemode:int=None,
worldName:str=None
):
super().__init__(proto,
copyMetadata=copyMetadata,
difficulty=difficulty,
dimension=dimension,
gamemode=gamemode,
hashedSeed=hashedSeed,
isDebug=isDebug,
isFlat=isFlat,
levelType=levelType,
previousGamemode=previousGamemode,
worldName=worldName
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 7,
47 : 7,
76 : 51,
107 : 51,
@ -58,11 +82,9 @@ class PacketRespawn(Packet):
751 : 57,
755 : 61,
756 : 61,
757 : 61,
1073741839 : 58
757 : 61
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'dimension', Int ), ( 'difficulty', Byte ), ( 'gamemode', Byte ), ( 'levelType', String ) ],
47 : [ ( 'dimension', Int ), ( 'difficulty', Byte ), ( 'gamemode', Byte ), ( 'levelType', String ) ],
76 : [ ( 'dimension', Int ), ( 'difficulty', Byte ), ( 'gamemode', Byte ), ( 'levelType', String ) ],
107 : [ ( 'dimension', Int ), ( 'difficulty', Byte ), ( 'gamemode', Byte ), ( 'levelType', String ) ],
@ -99,6 +121,5 @@ class PacketRespawn(Packet):
751 : [ ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'gamemode', Byte ), ( 'previousGamemode', Byte ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ), ( 'copyMetadata', Boolean ) ],
755 : [ ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'gamemode', Byte ), ( 'previousGamemode', Byte ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ), ( 'copyMetadata', Boolean ) ],
756 : [ ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'gamemode', Byte ), ( 'previousGamemode', Byte ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ), ( 'copyMetadata', Boolean ) ],
757 : [ ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'gamemode', Byte ), ( 'previousGamemode', Byte ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ), ( 'copyMetadata', Boolean ) ],
1073741839 : [ ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'gamemode', Byte ), ( 'previousGamemode', Byte ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ), ( 'copyMetadata', Boolean ) ]
757 : [ ( 'dimension', NBTTag ), ( 'worldName', String ), ( 'hashedSeed', Long ), ( 'gamemode', Byte ), ( 'previousGamemode', Byte ), ( 'isDebug', Boolean ), ( 'isFlat', Boolean ), ( 'copyMetadata', Boolean ) ]
}

View file

@ -10,10 +10,18 @@ class PacketScoreboardDisplayObjective(Packet):
name : str
position : int
def __init__(self, proto:int,
name:str=None,
position:int=None
):
super().__init__(proto,
name=name,
position=position
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 61,
47 : 61,
76 : 56,
107 : 56,
@ -50,11 +58,9 @@ class PacketScoreboardDisplayObjective(Packet):
751 : 67,
755 : 76,
756 : 76,
757 : 76,
1073741839 : 68
757 : 76
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'position', Byte ), ( 'name', String ) ],
47 : [ ( 'position', Byte ), ( 'name', String ) ],
76 : [ ( 'position', Byte ), ( 'name', String ) ],
107 : [ ( 'position', Byte ), ( 'name', String ) ],
@ -91,6 +97,5 @@ class PacketScoreboardDisplayObjective(Packet):
751 : [ ( 'position', Byte ), ( 'name', String ) ],
755 : [ ( 'position', Byte ), ( 'name', String ) ],
756 : [ ( 'position', Byte ), ( 'name', String ) ],
757 : [ ( 'position', Byte ), ( 'name', String ) ],
1073741839 : [ ( 'position', Byte ), ( 'name', String ) ]
757 : [ ( 'position', Byte ), ( 'name', String ) ]
}

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import *
class PacketScoreboardObjective(Packet):
__slots__ = ( 'id', 'name', 'type', 'action', 'displayText' )
__slots__ = ( 'id', 'action', 'displayText', 'name', 'type' )
action : int
displayText : bytes
name : str
type : bytes
action : int
displayText : Union[str,bytes]
def __init__(self, proto:int,
action:int=None,
displayText:bytes=None,
name:str=None,
type:bytes=None
):
super().__init__(proto,
action=action,
displayText=displayText,
name=name,
type=type
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 59,
47 : 59,
76 : 63,
107 : 63,
@ -52,11 +64,9 @@ class PacketScoreboardObjective(Packet):
751 : 74,
755 : 83,
756 : 83,
757 : 83,
1073741839 : 75
757 : 83
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'name', String ), ( 'displayText', String ), ( 'action', Byte ) ],
47 : [ ( 'name', String ), ( 'action', Byte ), ( 'displayText', SwitchType('action', { 0 : String, 2 : String }, None, ) ), ( 'type', SwitchType('action', { 0 : String, 2 : String }, None, ) ) ],
76 : [ ( 'name', String ), ( 'action', Byte ), ( 'displayText', SwitchType('action', { 0 : String, 2 : String }, None, ) ), ( 'type', SwitchType('action', { 0 : String, 2 : String }, None, ) ) ],
107 : [ ( 'name', String ), ( 'action', Byte ), ( 'displayText', SwitchType('action', { 0 : String, 2 : String }, None, ) ), ( 'type', SwitchType('action', { 0 : String, 2 : String }, None, ) ) ],
@ -93,6 +103,5 @@ class PacketScoreboardObjective(Packet):
751 : [ ( 'name', String ), ( 'action', Byte ), ( 'displayText', SwitchType('action', { 0 : String, 2 : String }, None, ) ), ( 'type', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ) ],
755 : [ ( 'name', String ), ( 'action', Byte ), ( 'displayText', SwitchType('action', { 0 : String, 2 : String }, None, ) ), ( 'type', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ) ],
756 : [ ( 'name', String ), ( 'action', Byte ), ( 'displayText', SwitchType('action', { 0 : String, 2 : String }, None, ) ), ( 'type', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ) ],
757 : [ ( 'name', String ), ( 'action', Byte ), ( 'displayText', SwitchType('action', { 0 : String, 2 : String }, None, ) ), ( 'type', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ) ],
1073741839 : [ ( 'name', String ), ( 'action', Byte ), ( 'displayText', SwitchType('action', { 0 : String, 2 : String }, None, ) ), ( 'type', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ) ]
757 : [ ( 'name', String ), ( 'action', Byte ), ( 'displayText', SwitchType('action', { 0 : String, 2 : String }, None, ) ), ( 'type', SwitchType('action', { 0 : VarInt, 2 : VarInt }, None, ) ) ]
}

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import *
class PacketScoreboardScore(Packet):
__slots__ = ( 'id', 'value', 'action', 'itemName', 'scoreName' )
__slots__ = ( 'id', 'action', 'itemName', 'scoreName', 'value' )
value : bytes
action : int
itemName : str
scoreName : Union[str,bytes]
scoreName : str
value : bytes
def __init__(self, proto:int,
action:int=None,
itemName:str=None,
scoreName:str=None,
value:bytes=None
):
super().__init__(proto,
action=action,
itemName=itemName,
scoreName=scoreName,
value=value
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 60,
47 : 60,
76 : 65,
107 : 66,
@ -52,11 +64,9 @@ class PacketScoreboardScore(Packet):
751 : 77,
755 : 86,
756 : 86,
757 : 86,
1073741839 : 78
757 : 86
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', SwitchType('action', { 1 : Void }, String, ) ), ( 'value', SwitchType('action', { 1 : Void }, Int, ) ) ],
47 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', String ), ( 'value', SwitchType('action', { 1 : Void }, VarInt, ) ) ],
76 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', String ), ( 'value', SwitchType('action', { 1 : Void }, VarInt, ) ) ],
107 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', String ), ( 'value', SwitchType('action', { 1 : Void }, VarInt, ) ) ],
@ -93,6 +103,5 @@ class PacketScoreboardScore(Packet):
751 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', String ), ( 'value', SwitchType('action', { 1 : Void }, VarInt, ) ) ],
755 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', String ), ( 'value', SwitchType('action', { 1 : Void }, VarInt, ) ) ],
756 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', String ), ( 'value', SwitchType('action', { 1 : Void }, VarInt, ) ) ],
757 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', String ), ( 'value', SwitchType('action', { 1 : Void }, VarInt, ) ) ],
1073741839 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', String ), ( 'value', SwitchType('action', { 1 : Void }, VarInt, ) ) ]
757 : [ ( 'itemName', String ), ( 'action', Byte ), ( 'scoreName', String ), ( 'value', SwitchType('action', { 1 : Void }, VarInt, ) ) ]
}

View file

@ -5,28 +5,51 @@ from ....packet import Packet
from ....types import *
class PacketScoreboardTeam(Packet):
__slots__ = ( 'id', 'collisionRule', 'name', 'friendlyFire', 'players', 'prefix', 'suffix', 'nameTagVisibility', 'color', 'team', 'mode' )
__slots__ = ( 'id', 'collisionRule', 'color', 'friendlyFire', 'mode', 'name', 'nameTagVisibility', 'players', 'prefix', 'suffix', 'team' )
collisionRule : bytes
name : bytes
color : bytes
friendlyFire : bytes
mode : int
name : bytes
nameTagVisibility : bytes
players : bytes
prefix : bytes
suffix : bytes
nameTagVisibility : bytes
color : bytes
team : str
mode : int
def __init__(self, proto:int,
collisionRule:bytes=None,
color:bytes=None,
friendlyFire:bytes=None,
mode:int=None,
name:bytes=None,
nameTagVisibility:bytes=None,
players:bytes=None,
prefix:bytes=None,
suffix:bytes=None,
team:str=None
):
super().__init__(proto,
collisionRule=collisionRule,
color=color,
friendlyFire=friendlyFire,
mode=mode,
name=name,
nameTagVisibility=nameTagVisibility,
players=players,
prefix=prefix,
suffix=suffix,
team=team
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 62,
47 : 62,
76 : 64
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'team', String ), ( 'mode', Byte ), ( 'name', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'prefix', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'suffix', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'friendlyFire', SwitchType('mode', { 0 : Byte, 2 : Byte }, None, ) ), ( 'players', SwitchType('mode', { 0 : ArrayType(String, Short, ), 3 : ArrayType(String, Short, ), 4 : ArrayType(String, Short, ) }, None, ) ) ],
47 : [ ( 'team', String ), ( 'mode', Byte ), ( 'name', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'prefix', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'suffix', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'friendlyFire', SwitchType('mode', { 0 : Byte, 2 : Byte }, None, ) ), ( 'nameTagVisibility', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'color', SwitchType('mode', { 0 : Byte, 2 : Byte }, None, ) ), ( 'players', SwitchType('mode', { 0 : ArrayType(String, VarInt, ), 3 : ArrayType(String, VarInt, ), 4 : ArrayType(String, VarInt, ) }, None, ) ) ],
76 : [ ( 'team', String ), ( 'mode', Byte ), ( 'name', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'prefix', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'suffix', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'friendlyFire', SwitchType('mode', { 0 : Byte, 2 : Byte }, None, ) ), ( 'nameTagVisibility', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'collisionRule', SwitchType('mode', { 0 : String, 2 : String }, None, ) ), ( 'color', SwitchType('mode', { 0 : Byte, 2 : Byte }, None, ) ), ( 'players', SwitchType('mode', { 0 : ArrayType(String, VarInt, ), 3 : ArrayType(String, VarInt, ), 4 : ArrayType(String, VarInt, ) }, None, ) ) ]
}

View file

@ -5,24 +5,35 @@ from ....packet import Packet
from ....types import *
class PacketSculkVibrationSignal(Packet):
__slots__ = ( 'id', 'destination', 'arrivalTicks', 'destinationIdentifier', 'sourcePosition' )
__slots__ = ( 'id', 'arrivalTicks', 'destination', 'destinationIdentifier', 'sourcePosition' )
destination : bytes
arrivalTicks : int
destination : bytes
destinationIdentifier : str
sourcePosition : tuple
def __init__(self, proto:int,
arrivalTicks:int=None,
destination:bytes=None,
destinationIdentifier:str=None,
sourcePosition:tuple=None
):
super().__init__(proto,
arrivalTicks=arrivalTicks,
destination=destination,
destinationIdentifier=destinationIdentifier,
sourcePosition=sourcePosition
)
_state : int = 3
_ids : Dict[int, int] = {
755 : 5,
756 : 5,
757 : 5,
1073741839 : 5
757 : 5
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
755 : [ ( 'sourcePosition', Position ), ( 'destinationIdentifier', String ), ( 'destination', SwitchType('destinationIdentifier', { 'block' : Position, 'entityId' : VarInt }, None, ) ), ( 'arrivalTicks', VarInt ) ],
756 : [ ( 'sourcePosition', Position ), ( 'destinationIdentifier', String ), ( 'destination', SwitchType('destinationIdentifier', { 'block' : Position, 'entityId' : VarInt }, None, ) ), ( 'arrivalTicks', VarInt ) ],
757 : [ ( 'sourcePosition', Position ), ( 'destinationIdentifier', String ), ( 'destination', SwitchType('destinationIdentifier', { 'block' : Position, 'entityId' : VarInt }, None, ) ), ( 'arrivalTicks', VarInt ) ],
1073741839 : [ ( 'sourcePosition', Position ), ( 'destinationIdentifier', String ), ( 'destination', SwitchType('destinationIdentifier', { 'block' : Position, 'entityId' : VarInt }, None, ) ), ( 'arrivalTicks', VarInt ) ]
757 : [ ( 'sourcePosition', Position ), ( 'destinationIdentifier', String ), ( 'destination', SwitchType('destinationIdentifier', { 'block' : Position, 'entityId' : VarInt }, None, ) ), ( 'arrivalTicks', VarInt ) ]
}

View file

@ -9,6 +9,13 @@ class PacketSelectAdvancementTab(Packet):
id : tuple
def __init__(self, proto:int,
id:tuple=None
):
super().__init__(proto,
id=id
)
_state : int = 3
_ids : Dict[int, int] = {
@ -35,8 +42,7 @@ class PacketSelectAdvancementTab(Packet):
751 : 60,
755 : 64,
756 : 64,
757 : 64,
1073741839 : 61
757 : 64
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
335 : [ ( 'id', OptionalType(String, ) ) ],
@ -62,6 +68,5 @@ class PacketSelectAdvancementTab(Packet):
751 : [ ( 'id', OptionalType(String, ) ) ],
755 : [ ( 'id', OptionalType(String, ) ) ],
756 : [ ( 'id', OptionalType(String, ) ) ],
757 : [ ( 'id', OptionalType(String, ) ) ],
1073741839 : [ ( 'id', OptionalType(String, ) ) ]
757 : [ ( 'id', OptionalType(String, ) ) ]
}

View file

@ -9,6 +9,13 @@ class PacketSetCompression(Packet):
threshold : int
def __init__(self, proto:int,
threshold:int=None
):
super().__init__(proto,
threshold=threshold
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import *
class PacketSetCooldown(Packet):
__slots__ = ( 'id', 'itemID', 'cooldownTicks' )
__slots__ = ( 'id', 'cooldownTicks', 'itemID' )
itemID : int
cooldownTicks : int
itemID : int
def __init__(self, proto:int,
cooldownTicks:int=None,
itemID:int=None
):
super().__init__(proto,
cooldownTicks=cooldownTicks,
itemID=itemID
)
_state : int = 3
@ -48,8 +57,7 @@ class PacketSetCooldown(Packet):
751 : 22,
755 : 23,
756 : 23,
757 : 23,
1073741839 : 23
757 : 23
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
76 : [ ( 'itemID', VarInt ), ( 'cooldownTicks', VarInt ) ],
@ -87,6 +95,5 @@ class PacketSetCooldown(Packet):
751 : [ ( 'itemID', VarInt ), ( 'cooldownTicks', VarInt ) ],
755 : [ ( 'itemID', VarInt ), ( 'cooldownTicks', VarInt ) ],
756 : [ ( 'itemID', VarInt ), ( 'cooldownTicks', VarInt ) ],
757 : [ ( 'itemID', VarInt ), ( 'cooldownTicks', VarInt ) ],
1073741839 : [ ( 'itemID', VarInt ), ( 'cooldownTicks', VarInt ) ]
757 : [ ( 'itemID', VarInt ), ( 'cooldownTicks', VarInt ) ]
}

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import *
class PacketSetPassengers(Packet):
__slots__ = ( 'id', 'passengers', 'entityId' )
__slots__ = ( 'id', 'entityId', 'passengers' )
passengers : list
entityId : int
passengers : list
def __init__(self, proto:int,
entityId:int=None,
passengers:list=None
):
super().__init__(proto,
entityId=entityId,
passengers=passengers
)
_state : int = 3
@ -47,8 +56,7 @@ class PacketSetPassengers(Packet):
751 : 75,
755 : 84,
756 : 84,
757 : 84,
1073741839 : 76
757 : 84
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
107 : [ ( 'entityId', VarInt ), ( 'passengers', ArrayType(VarInt, VarInt, ) ) ],
@ -85,6 +93,5 @@ class PacketSetPassengers(Packet):
751 : [ ( 'entityId', VarInt ), ( 'passengers', ArrayType(VarInt, VarInt, ) ) ],
755 : [ ( 'entityId', VarInt ), ( 'passengers', ArrayType(VarInt, VarInt, ) ) ],
756 : [ ( 'entityId', VarInt ), ( 'passengers', ArrayType(VarInt, VarInt, ) ) ],
757 : [ ( 'entityId', VarInt ), ( 'passengers', ArrayType(VarInt, VarInt, ) ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'passengers', ArrayType(VarInt, VarInt, ) ) ]
757 : [ ( 'entityId', VarInt ), ( 'passengers', ArrayType(VarInt, VarInt, ) ) ]
}

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import *
class PacketSetSlot(Packet):
__slots__ = ( 'id', 'windowId', 'item', 'slot', 'stateId' )
__slots__ = ( 'id', 'item', 'slot', 'stateId', 'windowId' )
windowId : int
item : dict
slot : int
stateId : int
windowId : int
def __init__(self, proto:int,
item:dict=None,
slot:int=None,
stateId:int=None,
windowId:int=None
):
super().__init__(proto,
item=item,
slot=slot,
stateId=stateId,
windowId=windowId
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 47,
47 : 47,
76 : 22,
107 : 22,
@ -52,11 +64,9 @@ class PacketSetSlot(Packet):
751 : 21,
755 : 22,
756 : 22,
757 : 22,
1073741839 : 22
757 : 22
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
47 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
76 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
107 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
@ -93,6 +103,5 @@ class PacketSetSlot(Packet):
751 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
755 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
756 : [ ( 'windowId', Byte ), ( 'stateId', VarInt ), ( 'slot', Short ), ( 'item', Slot ) ],
757 : [ ( 'windowId', Byte ), ( 'stateId', VarInt ), ( 'slot', Short ), ( 'item', Slot ) ],
1073741839 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ]
757 : [ ( 'windowId', Byte ), ( 'stateId', VarInt ), ( 'slot', Short ), ( 'item', Slot ) ]
}

View file

@ -9,6 +9,13 @@ class PacketSetTitleSubtitle(Packet):
text : str
def __init__(self, proto:int,
text:str=None
):
super().__init__(proto,
text=text
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -9,6 +9,13 @@ class PacketSetTitleText(Packet):
text : str
def __init__(self, proto:int,
text:str=None
):
super().__init__(proto,
text=text
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -5,11 +5,22 @@ from ....packet import Packet
from ....types import *
class PacketSetTitleTime(Packet):
__slots__ = ( 'id', 'fadeOut', 'stay', 'fadeIn' )
__slots__ = ( 'id', 'fadeIn', 'fadeOut', 'stay' )
fadeIn : int
fadeOut : int
stay : int
fadeIn : int
def __init__(self, proto:int,
fadeIn:int=None,
fadeOut:int=None,
stay:int=None
):
super().__init__(proto,
fadeIn=fadeIn,
fadeOut=fadeOut,
stay=stay
)
_state : int = 3

View file

@ -9,6 +9,13 @@ class PacketSimulationDistance(Packet):
distance : int
def __init__(self, proto:int,
distance:int=None
):
super().__init__(proto,
distance=distance
)
_state : int = 3
_ids : Dict[int, int] = {

View file

@ -5,16 +5,37 @@ from ....packet import Packet
from ....types import *
class PacketSoundEffect(Packet):
__slots__ = ( 'id', 'z', 'soundCategory', 'volume', 'x', 'pitch', 'soundId', 'parrottedEntityType', 'y' )
__slots__ = ( 'id', 'parrottedEntityType', 'pitch', 'soundCategory', 'soundId', 'volume', 'x', 'y', 'z' )
z : int
parrottedEntityType : str
pitch : Union[float,int]
soundCategory : int
soundId : int
volume : float
x : int
pitch : Union[int,float]
soundId : int
parrottedEntityType : str
y : int
z : int
def __init__(self, proto:int,
parrottedEntityType:str=None,
pitch:Union[float,int]=None,
soundCategory:int=None,
soundId:int=None,
volume:float=None,
x:int=None,
y:int=None,
z:int=None
):
super().__init__(proto,
parrottedEntityType=parrottedEntityType,
pitch=pitch,
soundCategory=soundCategory,
soundId=soundId,
volume=volume,
x=x,
y=y,
z=z
)
_state : int = 3
@ -53,8 +74,7 @@ class PacketSoundEffect(Packet):
751 : 81,
755 : 92,
756 : 92,
757 : 93,
1073741839 : 82
757 : 93
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
107 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Byte ) ],
@ -91,6 +111,5 @@ class PacketSoundEffect(Packet):
751 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ],
755 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ],
756 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ],
757 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ],
1073741839 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ]
757 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Float ) ]
}

View file

@ -5,26 +5,56 @@ from ....packet import Packet
from ....types import *
class PacketSpawnEntity(Packet):
__slots__ = ( 'id', 'velocityZ', 'entityId', 'objectData', 'velocityY', 'z', 'velocityX', 'objectUUID', 'entityUUID', 'x', 'pitch', 'yaw', 'y', 'type' )
__slots__ = ( 'id', 'entityId', 'entityUUID', 'objectData', 'objectUUID', 'pitch', 'type', 'velocityX', 'velocityY', 'velocityZ', 'x', 'y', 'yaw', 'z' )
velocityZ : int
entityId : int
objectData : Union[int,dict]
velocityY : int
z : Union[int,float]
velocityX : int
objectUUID : str
entityUUID : str
x : Union[int,float]
objectData : Union[int,dict]
objectUUID : str
pitch : int
yaw : int
y : Union[int,float]
type : int
velocityX : int
velocityY : int
velocityZ : int
x : Union[float,int]
y : Union[float,int]
yaw : int
z : Union[float,int]
def __init__(self, proto:int,
entityId:int=None,
entityUUID:str=None,
objectData:Union[int,dict]=None,
objectUUID:str=None,
pitch:int=None,
type:int=None,
velocityX:int=None,
velocityY:int=None,
velocityZ:int=None,
x:Union[float,int]=None,
y:Union[float,int]=None,
yaw:int=None,
z:Union[float,int]=None
):
super().__init__(proto,
entityId=entityId,
entityUUID=entityUUID,
objectData=objectData,
objectUUID=objectUUID,
pitch=pitch,
type=type,
velocityX=velocityX,
velocityY=velocityY,
velocityZ=velocityZ,
x=x,
y=y,
yaw=yaw,
z=z
)
_state : int = 3
_ids : Dict[int, int] = {
5 : 14,
47 : 14,
76 : 0,
107 : 0,
@ -61,11 +91,9 @@ class PacketSpawnEntity(Packet):
751 : 0,
755 : 0,
756 : 0,
757 : 0,
1073741839 : 0
757 : 0
}
_definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', VarInt ), ( 'type', Byte ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', StructType(( 'intField', Int ), ( 'velocityX', SwitchType('intField', { 0 : Void }, Short, ) ), ( 'velocityY', SwitchType('intField', { 0 : Void }, Short, ) ), ( 'velocityZ', SwitchType('intField', { 0 : Void }, Short, ) ), ) ) ],
47 : [ ( 'entityId', VarInt ), ( 'type', Byte ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', StructType(( 'intField', Int ), ( 'velocityX', SwitchType('intField', { 0 : Void }, Short, ) ), ( 'velocityY', SwitchType('intField', { 0 : Void }, Short, ) ), ( 'velocityZ', SwitchType('intField', { 0 : Void }, Short, ) ), ) ) ],
76 : [ ( 'entityId', VarInt ), ( 'entityUUID', UUID ), ( 'type', Byte ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', Int ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
107 : [ ( 'entityId', VarInt ), ( 'objectUUID', UUID ), ( 'type', Byte ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', Int ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
@ -102,6 +130,5 @@ class PacketSpawnEntity(Packet):
751 : [ ( 'entityId', VarInt ), ( 'objectUUID', UUID ), ( 'type', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', Int ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
755 : [ ( 'entityId', VarInt ), ( 'objectUUID', UUID ), ( 'type', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', Int ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
756 : [ ( 'entityId', VarInt ), ( 'objectUUID', UUID ), ( 'type', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', Int ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
757 : [ ( 'entityId', VarInt ), ( 'objectUUID', UUID ), ( 'type', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', Int ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
1073741839 : [ ( 'entityId', VarInt ), ( 'objectUUID', UUID ), ( 'type', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', Int ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ]
757 : [ ( 'entityId', VarInt ), ( 'objectUUID', UUID ), ( 'type', VarInt ), ( 'x', Double ), ( 'y', Double ), ( 'z', Double ), ( 'pitch', Byte ), ( 'yaw', Byte ), ( 'objectData', Int ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ]
}

Some files were not shown because too many files have changed in this diff Show more