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 ADVENTURE = 2
SPECTATOR = 3 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): class ConnectionState(Enum):
NONE = -1 NONE = -1
HANDSHAKING = 0 HANDSHAKING = 0

View file

@ -4,43 +4,41 @@ from .packet_set_protocol import PacketSetProtocol
from .packet_legacy_server_list_ping import PacketLegacyServerListPing from .packet_legacy_server_list_ping import PacketLegacyServerListPing
REGISTRY = { 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 }, 757 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
327 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing }, 498 : { 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 },
335 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing }, 335 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
338 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing }, 315 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
331 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
480 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
735 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
109 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing }, 109 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing },
709 : { 0:PacketSetProtocol, 254:PacketLegacyServerListPing }, 401 : { 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 },
76 : { 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 }, 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 }, 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 payload : int
def __init__(self, proto:int,
payload:int=None
):
super().__init__(proto,
payload=payload
)
_state : int = 0 _state : int = 0
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 254,
47 : 254, 47 : 254,
76 : 254, 76 : 254,
107 : 254, 107 : 254,
@ -49,11 +55,9 @@ class PacketLegacyServerListPing(Packet):
751 : 254, 751 : 254,
755 : 254, 755 : 254,
756 : 254, 756 : 254,
757 : 254, 757 : 254
1073741839 : 254
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'payload', Byte ) ],
47 : [ ( 'payload', Byte ) ], 47 : [ ( 'payload', Byte ) ],
76 : [ ( 'payload', Byte ) ], 76 : [ ( 'payload', Byte ) ],
107 : [ ( 'payload', Byte ) ], 107 : [ ( 'payload', Byte ) ],
@ -90,6 +94,5 @@ class PacketLegacyServerListPing(Packet):
751 : [ ( 'payload', Byte ) ], 751 : [ ( 'payload', Byte ) ],
755 : [ ( 'payload', Byte ) ], 755 : [ ( 'payload', Byte ) ],
756 : [ ( 'payload', Byte ) ], 756 : [ ( 'payload', Byte ) ],
757 : [ ( 'payload', Byte ) ], 757 : [ ( 'payload', Byte ) ]
1073741839 : [ ( 'payload', Byte ) ]
} }

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketSetProtocol(Packet): class PacketSetProtocol(Packet):
__slots__ = ( 'id', 'nextState', 'serverPort', 'protocolVersion', 'serverHost' ) __slots__ = ( 'id', 'nextState', 'protocolVersion', 'serverHost', 'serverPort' )
nextState : int nextState : int
serverPort : int
protocolVersion : int protocolVersion : int
serverHost : str 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 _state : int = 0
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 0,
47 : 0, 47 : 0,
76 : 0, 76 : 0,
107 : 0, 107 : 0,
@ -52,11 +64,9 @@ class PacketSetProtocol(Packet):
751 : 0, 751 : 0,
755 : 0, 755 : 0,
756 : 0, 756 : 0,
757 : 0, 757 : 0
1073741839 : 0
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 47 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
76 : [ ( '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 ) ], 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 ) ], 751 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
755 : [ ( '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 ) ], 756 : [ ( 'protocolVersion', VarInt ), ( 'serverHost', String ), ( 'serverPort', UnsignedShort ), ( 'nextState', VarInt ) ],
757 : [ ( '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 ) ]
} }

View file

@ -7,43 +7,41 @@ from .packet_compress import PacketCompress
from .packet_login_plugin_request import PacketLoginPluginRequest from .packet_login_plugin_request import PacketLoginPluginRequest
REGISTRY = { 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 }, 757 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
327 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress }, 498 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress, 4:PacketLoginPluginRequest },
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 },
335 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress }, 335 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress },
338 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress }, 315 : { 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 },
109 : { 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 }, 401 : { 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 },
76 : { 0:PacketDisconnect, 1:PacketEncryptionBegin, 2:PacketSuccess, 3:PacketCompress }, 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 }, 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 }, 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 threshold : int
def __init__(self, proto:int,
threshold:int=None
):
super().__init__(proto,
threshold=threshold
)
_state : int = 2 _state : int = 2
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
@ -48,8 +55,7 @@ class PacketCompress(Packet):
751 : 3, 751 : 3,
755 : 3, 755 : 3,
756 : 3, 756 : 3,
757 : 3, 757 : 3
1073741839 : 3
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
47 : [ ( 'threshold', VarInt ) ], 47 : [ ( 'threshold', VarInt ) ],
@ -88,6 +94,5 @@ class PacketCompress(Packet):
751 : [ ( 'threshold', VarInt ) ], 751 : [ ( 'threshold', VarInt ) ],
755 : [ ( 'threshold', VarInt ) ], 755 : [ ( 'threshold', VarInt ) ],
756 : [ ( 'threshold', VarInt ) ], 756 : [ ( 'threshold', VarInt ) ],
757 : [ ( 'threshold', VarInt ) ], 757 : [ ( 'threshold', VarInt ) ]
1073741839 : [ ( 'threshold', VarInt ) ]
} }

View file

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

View file

@ -11,10 +11,20 @@ class PacketEncryptionBegin(Packet):
serverId : str serverId : str
verifyToken : bytes 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 _state : int = 2
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 1,
47 : 1, 47 : 1,
76 : 1, 76 : 1,
107 : 1, 107 : 1,
@ -51,11 +61,9 @@ class PacketEncryptionBegin(Packet):
751 : 1, 751 : 1,
755 : 1, 755 : 1,
756 : 1, 756 : 1,
757 : 1, 757 : 1
1073741839 : 1
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
47 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ], 47 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
76 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ], 76 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
107 : [ ( '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 ) ], 751 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
755 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ], 755 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
756 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ], 756 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ],
757 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ], 757 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ]
1073741839 : [ ( 'serverId', String ), ( 'publicKey', ByteArray ), ( 'verifyToken', ByteArray ) ]
} }

View file

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

View file

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

View file

@ -5,43 +5,41 @@ from .packet_encryption_begin import PacketEncryptionBegin
from .packet_login_plugin_response import PacketLoginPluginResponse from .packet_login_plugin_response import PacketLoginPluginResponse
REGISTRY = { 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 }, 757 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
327 : { 0:PacketLoginStart, 1:PacketEncryptionBegin }, 498 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
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 },
335 : { 0:PacketLoginStart, 1:PacketEncryptionBegin }, 335 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
338 : { 0:PacketLoginStart, 1:PacketEncryptionBegin }, 315 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
331 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
480 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
735 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse },
109 : { 0:PacketLoginStart, 1:PacketEncryptionBegin }, 109 : { 0:PacketLoginStart, 1:PacketEncryptionBegin },
709 : { 0:PacketLoginStart, 1:PacketEncryptionBegin, 2:PacketLoginPluginResponse }, 401 : { 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 },
76 : { 0:PacketLoginStart, 1:PacketEncryptionBegin }, 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 }, 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 }, 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 sharedSecret : bytes
verifyToken : bytes verifyToken : bytes
def __init__(self, proto:int,
sharedSecret:bytes=None,
verifyToken:bytes=None
):
super().__init__(proto,
sharedSecret=sharedSecret,
verifyToken=verifyToken
)
_state : int = 2 _state : int = 2
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 1,
47 : 1, 47 : 1,
76 : 1, 76 : 1,
107 : 1, 107 : 1,
@ -50,11 +58,9 @@ class PacketEncryptionBegin(Packet):
751 : 1, 751 : 1,
755 : 1, 755 : 1,
756 : 1, 756 : 1,
757 : 1, 757 : 1
1073741839 : 1
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
47 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ], 47 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
76 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ], 76 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
107 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ], 107 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
@ -91,6 +97,5 @@ class PacketEncryptionBegin(Packet):
751 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ], 751 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
755 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ], 755 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
756 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ], 756 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ],
757 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ], 757 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ]
1073741839 : [ ( 'sharedSecret', ByteArray ), ( 'verifyToken', ByteArray ) ]
} }

View file

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

View file

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

View file

@ -2,12 +2,12 @@
from .packet_spawn_entity import PacketSpawnEntity from .packet_spawn_entity import PacketSpawnEntity
from .packet_spawn_entity_experience_orb import PacketSpawnEntityExperienceOrb 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_living import PacketSpawnEntityLiving
from .packet_spawn_entity_painting import PacketSpawnEntityPainting from .packet_spawn_entity_painting import PacketSpawnEntityPainting
from .packet_named_entity_spawn import PacketNamedEntitySpawn from .packet_named_entity_spawn import PacketNamedEntitySpawn
from .packet_animation import PacketAnimation from .packet_animation import PacketAnimation
from .packet_statistics import PacketStatistics from .packet_statistics import PacketStatistics
from .packet_advancements import PacketAdvancements
from .packet_block_break_animation import PacketBlockBreakAnimation from .packet_block_break_animation import PacketBlockBreakAnimation
from .packet_tile_entity_data import PacketTileEntityData from .packet_tile_entity_data import PacketTileEntityData
from .packet_block_action import PacketBlockAction from .packet_block_action import PacketBlockAction
@ -15,9 +15,11 @@ from .packet_block_change import PacketBlockChange
from .packet_boss_bar import PacketBossBar from .packet_boss_bar import PacketBossBar
from .packet_difficulty import PacketDifficulty from .packet_difficulty import PacketDifficulty
from .packet_tab_complete import PacketTabComplete 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_chat import PacketChat
from .packet_multi_block_change import PacketMultiBlockChange from .packet_multi_block_change import PacketMultiBlockChange
from .packet_transaction import PacketTransaction
from .packet_close_window import PacketCloseWindow from .packet_close_window import PacketCloseWindow
from .packet_open_window import PacketOpenWindow from .packet_open_window import PacketOpenWindow
from .packet_window_items import PacketWindowItems from .packet_window_items import PacketWindowItems
@ -31,31 +33,38 @@ from .packet_entity_status import PacketEntityStatus
from .packet_explosion import PacketExplosion from .packet_explosion import PacketExplosion
from .packet_unload_chunk import PacketUnloadChunk from .packet_unload_chunk import PacketUnloadChunk
from .packet_game_state_change import PacketGameStateChange from .packet_game_state_change import PacketGameStateChange
from .packet_open_horse_window import PacketOpenHorseWindow
from .packet_keep_alive import PacketKeepAlive from .packet_keep_alive import PacketKeepAlive
from .packet_map_chunk import PacketMapChunk from .packet_map_chunk import PacketMapChunk
from .packet_world_event import PacketWorldEvent from .packet_world_event import PacketWorldEvent
from .packet_world_particles import PacketWorldParticles from .packet_world_particles import PacketWorldParticles
from .packet_update_light import PacketUpdateLight
from .packet_login import PacketLogin from .packet_login import PacketLogin
from .packet_map import PacketMap from .packet_map import PacketMap
from .packet_trade_list import PacketTradeList
from .packet_rel_entity_move import PacketRelEntityMove from .packet_rel_entity_move import PacketRelEntityMove
from .packet_entity_move_look import PacketEntityMoveLook from .packet_entity_move_look import PacketEntityMoveLook
from .packet_entity_look import PacketEntityLook from .packet_entity_look import PacketEntityLook
from .packet_entity import PacketEntity
from .packet_vehicle_move import PacketVehicleMove from .packet_vehicle_move import PacketVehicleMove
from .packet_open_book import PacketOpenBook
from .packet_open_sign_entity import PacketOpenSignEntity from .packet_open_sign_entity import PacketOpenSignEntity
from .packet_craft_recipe_response import PacketCraftRecipeResponse
from .packet_abilities import PacketAbilities 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_player_info import PacketPlayerInfo
from .packet_position import PacketPosition from .packet_position import PacketPosition
from .packet_bed import PacketBed from .packet_unlock_recipes import PacketUnlockRecipes
from .packet_entity_destroy import PacketEntityDestroy from .packet_entity_destroy import PacketEntityDestroy
from .packet_remove_entity_effect import PacketRemoveEntityEffect from .packet_remove_entity_effect import PacketRemoveEntityEffect
from .packet_resource_pack_send import PacketResourcePackSend from .packet_resource_pack_send import PacketResourcePackSend
from .packet_respawn import PacketRespawn from .packet_respawn import PacketRespawn
from .packet_entity_head_rotation import PacketEntityHeadRotation from .packet_entity_head_rotation import PacketEntityHeadRotation
from .packet_world_border import PacketWorldBorder
from .packet_camera import PacketCamera from .packet_camera import PacketCamera
from .packet_held_item_slot import PacketHeldItemSlot 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_scoreboard_display_objective import PacketScoreboardDisplayObjective
from .packet_entity_metadata import PacketEntityMetadata from .packet_entity_metadata import PacketEntityMetadata
from .packet_attach_entity import PacketAttachEntity from .packet_attach_entity import PacketAttachEntity
@ -69,41 +78,18 @@ from .packet_teams import PacketTeams
from .packet_scoreboard_score import PacketScoreboardScore from .packet_scoreboard_score import PacketScoreboardScore
from .packet_spawn_position import PacketSpawnPosition from .packet_spawn_position import PacketSpawnPosition
from .packet_update_time import PacketUpdateTime 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_sound_effect import PacketSoundEffect
from .packet_playerlist_header import PacketPlayerlistHeader from .packet_playerlist_header import PacketPlayerlistHeader
from .packet_collect import PacketCollect from .packet_collect import PacketCollect
from .packet_entity_teleport import PacketEntityTeleport from .packet_entity_teleport import PacketEntityTeleport
from .packet_entity_update_attributes import PacketEntityUpdateAttributes from .packet_entity_update_attributes import PacketEntityUpdateAttributes
from .packet_entity_effect import PacketEntityEffect 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_select_advancement_tab import PacketSelectAdvancementTab
from .packet_declare_recipes import PacketDeclareRecipes from .packet_declare_recipes import PacketDeclareRecipes
from .packet_tags import PacketTags from .packet_tags import PacketTags
from .packet_acknowledge_player_digging import PacketAcknowledgePlayerDigging 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_sculk_vibration_signal import PacketSculkVibrationSignal
from .packet_clear_titles import PacketClearTitles from .packet_clear_titles import PacketClearTitles
from .packet_initialize_world_border import PacketInitializeWorldBorder 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_text import PacketSetTitleText
from .packet_set_title_time import PacketSetTitleTime from .packet_set_title_time import PacketSetTitleTime
from .packet_simulation_distance import PacketSimulationDistance 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_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 = { 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 }, 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 },
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 }, 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 },
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 }, 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 },
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, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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, 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 },
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 }, 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 },
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 }, 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 },
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, 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 },
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 }, 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 },
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 }, 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, 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, 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 },
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 }, 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 },
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, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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, 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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 },
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 }, 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 }
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 }
} }

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketAbilities(Packet): class PacketAbilities(Packet):
__slots__ = ( 'id', 'flyingSpeed', 'flags', 'walkingSpeed' ) __slots__ = ( 'id', 'flags', 'flyingSpeed', 'walkingSpeed' )
flyingSpeed : float
flags : int flags : int
flyingSpeed : float
walkingSpeed : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 57,
47 : 57, 47 : 57,
76 : 43, 76 : 43,
107 : 43, 107 : 43,
@ -51,11 +61,9 @@ class PacketAbilities(Packet):
751 : 48, 751 : 48,
755 : 50, 755 : 50,
756 : 50, 756 : 50,
757 : 50, 757 : 50
1073741839 : 49
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
47 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ], 47 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
76 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ], 76 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
107 : [ ( '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 ) ], 751 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
755 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ], 755 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
756 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ], 756 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ],
757 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ], 757 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ]
1073741839 : [ ( 'flags', Byte ), ( 'flyingSpeed', Float ), ( 'walkingSpeed', Float ) ]
} }

View file

@ -5,12 +5,25 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketAcknowledgePlayerDigging(Packet): class PacketAcknowledgePlayerDigging(Packet):
__slots__ = ( 'id', 'location', 'status', 'successful', 'block' ) __slots__ = ( 'id', 'block', 'location', 'status', 'successful' )
block : int
location : tuple location : tuple
status : int status : int
successful : bool 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 _state : int = 3
@ -26,8 +39,7 @@ class PacketAcknowledgePlayerDigging(Packet):
751 : 7, 751 : 7,
755 : 8, 755 : 8,
756 : 8, 756 : 8,
757 : 8, 757 : 8
1073741839 : 8
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
498 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ], 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 ) ], 751 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ],
755 : [ ( '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 ) ], 756 : [ ( 'location', Position ), ( 'block', VarInt ), ( 'status', VarInt ), ( 'successful', Boolean ) ],
757 : [ ( '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 ) ]
} }

View file

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

View file

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

View file

@ -5,12 +5,25 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketAdvancements(Packet): class PacketAdvancements(Packet):
__slots__ = ( 'id', 'reset', 'progressMapping', 'advancementMapping', 'identifiers' ) __slots__ = ( 'id', 'advancementMapping', 'identifiers', 'progressMapping', 'reset' )
reset : bool
progressMapping : list
advancementMapping : list advancementMapping : list
identifiers : 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 _state : int = 3
@ -41,8 +54,7 @@ class PacketAdvancements(Packet):
751 : 87, 751 : 87,
755 : 98, 755 : 98,
756 : 98, 756 : 98,
757 : 99, 757 : 99
1073741839 : 88
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

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

View file

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

View file

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

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketBlockAction(Packet): class PacketBlockAction(Packet):
__slots__ = ( 'id', 'location', 'byte2', 'blockId', 'byte1' ) __slots__ = ( 'id', 'blockId', 'byte1', 'byte2', 'location' )
location : Union[bytes,tuple]
byte2 : int
blockId : int blockId : int
byte1 : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 36,
47 : 36, 47 : 36,
76 : 10, 76 : 10,
107 : 10, 107 : 10,
@ -52,11 +64,9 @@ class PacketBlockAction(Packet):
751 : 10, 751 : 10,
755 : 11, 755 : 11,
756 : 11, 756 : 11,
757 : 11, 757 : 11
1073741839 : 11
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 47 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
76 : [ ( '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 ) ], 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 ) ], 751 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
755 : [ ( '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 ) ], 756 : [ ( 'location', Position ), ( 'byte1', Byte ), ( 'byte2', Byte ), ( 'blockId', VarInt ) ],
757 : [ ( '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 ) ]
} }

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketBlockBreakAnimation(Packet): class PacketBlockBreakAnimation(Packet):
__slots__ = ( 'id', 'location', 'destroyStage', 'entityId' ) __slots__ = ( 'id', 'destroyStage', 'entityId', 'location' )
location : Union[bytes,tuple]
destroyStage : int destroyStage : int
entityId : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 37,
47 : 37, 47 : 37,
76 : 8, 76 : 8,
107 : 8, 107 : 8,
@ -51,11 +61,9 @@ class PacketBlockBreakAnimation(Packet):
751 : 8, 751 : 8,
755 : 9, 755 : 9,
756 : 9, 756 : 9,
757 : 9, 757 : 9
1073741839 : 9
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'entityId', VarInt ), ( 'location', TrailingData ), ( 'destroyStage', Byte ) ],
47 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ], 47 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
76 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ], 76 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
107 : [ ( '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 ) ], 751 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
755 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ], 755 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
756 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ], 756 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ],
757 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ], 757 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ]
1073741839 : [ ( 'entityId', VarInt ), ( 'location', Position ), ( 'destroyStage', Byte ) ]
} }

View file

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

View file

@ -5,16 +5,35 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketBossBar(Packet): 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 action : int
color : bytes color : bytes
dividers : bytes
entityUUID : str
flags : bytes
health : bytes
title : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
@ -53,8 +72,7 @@ class PacketBossBar(Packet):
751 : 12, 751 : 12,
755 : 13, 755 : 13,
756 : 13, 756 : 13,
757 : 13, 757 : 13
1073741839 : 13
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -5,13 +5,28 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketCombatEvent(Packet): class PacketCombatEvent(Packet):
__slots__ = ( 'id', 'entityId', 'event', 'message', 'playerId', 'duration' ) __slots__ = ( 'id', 'duration', 'entityId', 'event', 'message', 'playerId' )
duration : bytes
entityId : bytes entityId : bytes
event : int event : int
message : bytes message : bytes
playerId : 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 _state : int = 3
@ -49,8 +64,7 @@ class PacketCombatEvent(Packet):
734 : 50, 734 : 50,
735 : 50, 735 : 50,
736 : 50, 736 : 50,
751 : 49, 751 : 49
1073741839 : 50
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketCraftProgressBar(Packet): class PacketCraftProgressBar(Packet):
__slots__ = ( 'id', 'value', 'windowId', 'property' ) __slots__ = ( 'id', 'property', 'value', 'windowId' )
property : int
value : int value : int
windowId : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 49,
47 : 49, 47 : 49,
76 : 21, 76 : 21,
107 : 21, 107 : 21,
@ -51,11 +61,9 @@ class PacketCraftProgressBar(Packet):
751 : 20, 751 : 20,
755 : 21, 755 : 21,
756 : 21, 756 : 21,
757 : 21, 757 : 21
1073741839 : 21
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
47 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ], 47 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
76 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ], 76 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
107 : [ ( '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 ) ], 751 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
755 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ], 755 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
756 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ], 756 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ],
757 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ], 757 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ]
1073741839 : [ ( 'windowId', Byte ), ( 'property', Short ), ( 'value', Short ) ]
} }

View file

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

View file

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

View file

@ -5,12 +5,23 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketDeathCombatEvent(Packet): class PacketDeathCombatEvent(Packet):
__slots__ = ( 'id', 'message', 'entityId', 'playerId' ) __slots__ = ( 'id', 'entityId', 'message', 'playerId' )
message : str
entityId : int entityId : int
message : str
playerId : int 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {

View file

@ -10,6 +10,15 @@ class PacketDeclareCommands(Packet):
nodes : list nodes : list
rootIndex : int rootIndex : int
def __init__(self, proto:int,
nodes:list=None,
rootIndex:int=None
):
super().__init__(proto,
nodes=nodes,
rootIndex=rootIndex
)
_state : int = 3 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
@ -33,8 +42,7 @@ class PacketDeclareCommands(Packet):
751 : 16, 751 : 16,
755 : 18, 755 : 18,
756 : 18, 756 : 18,
757 : 18, 757 : 18
1073741839 : 17
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

@ -9,6 +9,13 @@ class PacketDeclareRecipes(Packet):
recipes : list recipes : list
def __init__(self, proto:int,
recipes:list=None
):
super().__init__(proto,
recipes=recipes
)
_state : int = 3 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
@ -32,8 +39,7 @@ class PacketDeclareRecipes(Packet):
751 : 90, 751 : 90,
755 : 101, 755 : 101,
756 : 101, 756 : 101,
757 : 102, 757 : 102
1073741839 : 91
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

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

View file

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

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketEndCombatEvent(Packet): class PacketEndCombatEvent(Packet):
__slots__ = ( 'id', 'entityId', 'duration' ) __slots__ = ( 'id', 'duration', 'entityId' )
entityId : int
duration : 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 _state : int = 3

View file

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

View file

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

View file

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

View file

@ -5,18 +5,32 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketEntityEffect(Packet): class PacketEntityEffect(Packet):
__slots__ = ( 'id', 'amplifier', 'entityId', 'effectId', 'duration', 'hideParticles' ) __slots__ = ( 'id', 'amplifier', 'duration', 'effectId', 'entityId', 'hideParticles' )
amplifier : int amplifier : int
entityId : int
effectId : int
duration : int duration : int
effectId : int
entityId : int
hideParticles : Union[int,bool] 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 29,
47 : 29, 47 : 29,
76 : 74, 76 : 74,
107 : 76, 107 : 76,
@ -53,11 +67,9 @@ class PacketEntityEffect(Packet):
751 : 89, 751 : 89,
755 : 100, 755 : 100,
756 : 100, 756 : 100,
757 : 101, 757 : 101
1073741839 : 90
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 47 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Boolean ) ],
76 : [ ( '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 ) ], 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 ) ], 751 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Byte ) ],
755 : [ ( '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 ) ], 756 : [ ( 'entityId', VarInt ), ( 'effectId', Byte ), ( 'amplifier', Byte ), ( 'duration', VarInt ), ( 'hideParticles', Byte ) ],
757 : [ ( '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 ) ]
} }

View file

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

View file

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

View file

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

View file

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

View file

@ -5,20 +5,38 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketEntityMoveLook(Packet): 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 entityId : int
onGround : bool onGround : bool
dZ : int
dX : int
yaw : int
pitch : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 23,
47 : 23, 47 : 23,
76 : 39, 76 : 39,
107 : 38, 107 : 38,
@ -55,11 +73,9 @@ class PacketEntityMoveLook(Packet):
751 : 40, 751 : 40,
755 : 42, 755 : 42,
756 : 42, 756 : 42,
757 : 42, 757 : 42
1073741839 : 41
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

@ -5,13 +5,28 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketEntitySoundEffect(Packet): class PacketEntitySoundEffect(Packet):
__slots__ = ( 'id', 'entityId', 'soundCategory', 'volume', 'pitch', 'soundId' ) __slots__ = ( 'id', 'entityId', 'pitch', 'soundCategory', 'soundId', 'volume' )
entityId : int entityId : int
soundCategory : int
volume : float
pitch : float pitch : float
soundCategory : int
soundId : 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 _state : int = 3
@ -30,8 +45,7 @@ class PacketEntitySoundEffect(Packet):
751 : 80, 751 : 80,
755 : 91, 755 : 91,
756 : 91, 756 : 91,
757 : 92, 757 : 92
1073741839 : 81
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
477 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ], 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 ) ], 751 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ],
755 : [ ( '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 ) ], 756 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'entityId', VarInt ), ( 'volume', Float ), ( 'pitch', Float ) ],
757 : [ ( '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 ) ]
} }

View file

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

View file

@ -5,20 +5,38 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketEntityTeleport(Packet): class PacketEntityTeleport(Packet):
__slots__ = ( 'id', 'entityId', 'onGround', 'z', 'yaw', 'x', 'pitch', 'y' ) __slots__ = ( 'id', 'entityId', 'onGround', 'pitch', 'x', 'y', 'yaw', 'z' )
entityId : int entityId : int
onGround : bool onGround : bool
z : Union[int,float]
yaw : int
x : Union[int,float]
pitch : int 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 24,
47 : 24, 47 : 24,
76 : 72, 76 : 72,
107 : 74, 107 : 74,
@ -55,11 +73,9 @@ class PacketEntityTeleport(Packet):
751 : 86, 751 : 86,
755 : 97, 755 : 97,
756 : 97, 756 : 97,
757 : 98, 757 : 98
1073741839 : 87
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

@ -5,10 +5,19 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketEntityUpdateAttributes(Packet): class PacketEntityUpdateAttributes(Packet):
__slots__ = ( 'id', 'properties', 'entityId' ) __slots__ = ( 'id', 'entityId', 'properties' )
properties : list
entityId : int 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 _state : int = 3
@ -47,8 +56,7 @@ class PacketEntityUpdateAttributes(Packet):
751 : 88, 751 : 88,
755 : 99, 755 : 99,
756 : 99, 756 : 99,
757 : 100, 757 : 100
1073741839 : 89
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketEntityVelocity(Packet): class PacketEntityVelocity(Packet):
__slots__ = ( 'id', 'velocityX', 'velocityZ', 'entityId', 'velocityY' ) __slots__ = ( 'id', 'entityId', 'velocityX', 'velocityY', 'velocityZ' )
velocityX : int
velocityZ : int
entityId : int entityId : int
velocityX : int
velocityY : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 18,
47 : 18, 47 : 18,
76 : 59, 76 : 59,
107 : 59, 107 : 59,
@ -52,11 +64,9 @@ class PacketEntityVelocity(Packet):
751 : 70, 751 : 70,
755 : 79, 755 : 79,
756 : 79, 756 : 79,
757 : 79, 757 : 79
1073741839 : 71
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 47 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
76 : [ ( '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 ) ], 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 ) ], 751 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
755 : [ ( '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 ) ], 756 : [ ( 'entityId', VarInt ), ( 'velocityX', Short ), ( 'velocityY', Short ), ( 'velocityZ', Short ) ],
757 : [ ( '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 ) ]
} }

View file

@ -5,16 +5,26 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketExperience(Packet): class PacketExperience(Packet):
__slots__ = ( 'id', 'level', 'experienceBar', 'totalExperience' ) __slots__ = ( 'id', 'experienceBar', 'level', 'totalExperience' )
level : int
experienceBar : float experienceBar : float
level : int
totalExperience : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 31,
47 : 31, 47 : 31,
76 : 61, 76 : 61,
107 : 61, 107 : 61,
@ -51,11 +61,9 @@ class PacketExperience(Packet):
751 : 72, 751 : 72,
755 : 81, 755 : 81,
756 : 81, 756 : 81,
757 : 81, 757 : 81
1073741839 : 73
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'experienceBar', Float ), ( 'level', Short ), ( 'totalExperience', Short ) ],
47 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ], 47 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
76 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ], 76 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
107 : [ ( '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 ) ], 751 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
755 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ], 755 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
756 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ], 756 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ],
757 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ], 757 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ]
1073741839 : [ ( 'experienceBar', Float ), ( 'level', VarInt ), ( 'totalExperience', VarInt ) ]
} }

View file

@ -5,21 +5,41 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketExplosion(Packet): 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 affectedBlockOffsets : list
z : float
x : float
radius : float
playerMotionX : float playerMotionX : float
y : float
playerMotionZ : float
playerMotionY : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 39,
47 : 39, 47 : 39,
76 : 27, 76 : 27,
107 : 28, 107 : 28,
@ -56,11 +76,9 @@ class PacketExplosion(Packet):
751 : 27, 751 : 27,
755 : 28, 755 : 28,
756 : 28, 756 : 28,
757 : 28, 757 : 28
1073741839 : 28
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

@ -5,15 +5,34 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketFacePlayer(Packet): 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 entityId : bytes
isEntity : bool
z : float
feet_eyes : int
x : float
entity_feet_eyes : bytes entity_feet_eyes : bytes
feet_eyes : int
isEntity : bool
x : float
y : 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 _state : int = 3
@ -37,8 +56,7 @@ class PacketFacePlayer(Packet):
751 : 51, 751 : 51,
755 : 55, 755 : 55,
756 : 55, 756 : 55,
757 : 55, 757 : 55
1073741839 : 52
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

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

View file

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

View file

@ -5,16 +5,37 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketInitializeWorldBorder(Packet): 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 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 _state : int = 3

View file

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

View file

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

View file

@ -5,31 +5,71 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketLogin(Packet): 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 difficulty : int
reducedDebugInfo : bool dimension : Union[int,bytes,str]
dimensionCodec : bytes
enableRespawnScreen : bool
entityId : int entityId : int
gameMode : int gameMode : int
viewDistance : int
isHardcore : bool
enableRespawnScreen : bool
simulationDistance : int
dimensionCodec : bytes
isFlat : bool
isDebug : bool
hashedSeed : int hashedSeed : int
dimension : Union[int,bytes,str] isDebug : bool
difficulty : int isFlat : bool
isHardcore : bool
levelType : str levelType : str
maxPlayers : int maxPlayers : int
previousGameMode : int previousGameMode : int
reducedDebugInfo : bool
simulationDistance : int
viewDistance : int
worldName : str 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 1,
47 : 1, 47 : 1,
76 : 36, 76 : 36,
107 : 35, 107 : 35,
@ -66,11 +106,9 @@ class PacketLogin(Packet):
751 : 36, 751 : 36,
755 : 38, 755 : 38,
756 : 38, 756 : 38,
757 : 38, 757 : 38
1073741839 : 37
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 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 ) ], 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 : [ ( '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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

@ -5,23 +5,47 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketMap(Packet): 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 columns : int
scale : int
x : bytes
locked : bool
trackingPosition : bool
y : bytes
data : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 52,
47 : 52, 47 : 52,
76 : 37, 76 : 37,
107 : 36, 107 : 36,
@ -58,11 +82,9 @@ class PacketMap(Packet):
751 : 37, 751 : 37,
755 : 39, 755 : 39,
756 : 39, 756 : 39,
757 : 39, 757 : 39
1073741839 : 38
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

@ -5,32 +5,65 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketMapChunk(Packet): 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 biomes : Union[bytes,list]
z : int
blockLight : list
emptySkyLightMask : list
x : int
compressedChunkData : bytes
primaryBitMask : list
blockEntities : list
chunkData : bytes
groundUp : bool
emptyBlockLightMask : list
bitMap : Union[int,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 ignoreOldData : bool
skyLight : list skyLight : list
biomes : Union[bytes,list] skyLightMask : list
blockLightMask : list
trustEdges : bool 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 33,
47 : 33, 47 : 33,
76 : 32, 76 : 32,
107 : 32, 107 : 32,
@ -67,11 +100,9 @@ class PacketMapChunk(Packet):
751 : 32, 751 : 32,
755 : 34, 755 : 34,
756 : 34, 756 : 34,
757 : 34, 757 : 34
1073741839 : 33
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 47 : [ ( 'x', Int ), ( 'z', Int ), ( 'groundUp', Boolean ), ( 'bitMap', UnsignedShort ), ( 'chunkData', ByteArray ) ],
76 : [ ( 'x', Int ), ( 'z', Int ), ( 'groundUp', Boolean ), ( 'bitMap', VarInt ), ( 'chunkData', ByteArray ) ], 76 : [ ( 'x', Int ), ( 'z', Int ), ( 'groundUp', Boolean ), ( 'bitMap', VarInt ), ( 'chunkData', ByteArray ) ],
107 : [ ( '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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

@ -5,22 +5,28 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketMapChunkBulk(Packet): class PacketMapChunkBulk(Packet):
__slots__ = ( 'id', 'meta', 'skyLightSent', 'dataLength', 'chunkColumnCount', 'compressedChunkData', 'data' ) __slots__ = ( 'id', 'data', 'meta', 'skyLightSent' )
data : bytes
meta : list meta : list
skyLightSent : bool skyLightSent : bool
dataLength : bytes
chunkColumnCount : bytes def __init__(self, proto:int,
compressedChunkData : bytes data:bytes=None,
data : bytes meta:list=None,
skyLightSent:bool=None
):
super().__init__(proto,
data=data,
meta=meta,
skyLightSent=skyLightSent
)
_state : int = 3 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 38,
47 : 38 47 : 38
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ] 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 * from ....types import *
class PacketMultiBlockChange(Packet): 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 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 34,
47 : 34, 47 : 34,
76 : 16, 76 : 16,
107 : 16, 107 : 16,
@ -55,11 +67,9 @@ class PacketMultiBlockChange(Packet):
751 : 59, 751 : 59,
755 : 63, 755 : 63,
756 : 63, 756 : 63,
757 : 63, 757 : 63
1073741839 : 60
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 751 : [ ( 'chunkCoordinates', Int ), ( 'notTrustEdges', Boolean ), ( 'records', ArrayType(VarInt, VarInt, ) ) ],
755 : [ ( '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, ) ) ], 756 : [ ( 'chunkCoordinates', Int ), ( 'notTrustEdges', Boolean ), ( 'records', ArrayType(VarInt, VarInt, ) ) ],
757 : [ ( '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, ) ) ]
} }

View file

@ -5,24 +5,44 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketNamedEntitySpawn(Packet): 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 currentItem : int
entityId : int entityId : int
z : Union[int,float] metadata : dict
playerName : str
x : Union[int,float]
yaw : int
pitch : int pitch : int
playerUUID : str playerUUID : str
metadata : dict x : Union[float,int]
y : Union[int,float] y : Union[float,int]
data : list 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 12,
47 : 12, 47 : 12,
76 : 5, 76 : 5,
107 : 5, 107 : 5,
@ -59,11 +79,9 @@ class PacketNamedEntitySpawn(Packet):
751 : 4, 751 : 4,
755 : 4, 755 : 4,
756 : 4, 756 : 4,
757 : 4, 757 : 4
1073741839 : 4
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

@ -5,20 +5,38 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketNamedSoundEffect(Packet): 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 soundCategory : int
soundName : str
volume : float volume : float
x : int x : int
pitch : Union[int,float]
y : int 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 41,
47 : 41, 47 : 41,
76 : 35, 76 : 35,
107 : 25, 107 : 25,
@ -55,11 +73,9 @@ class PacketNamedSoundEffect(Packet):
751 : 24, 751 : 24,
755 : 25, 755 : 25,
756 : 25, 756 : 25,
757 : 25, 757 : 25
1073741839 : 25
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

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

View file

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

View file

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

View file

@ -7,12 +7,18 @@ from ....types import *
class PacketOpenSignEntity(Packet): class PacketOpenSignEntity(Packet):
__slots__ = ( 'id', 'location' ) __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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 54,
47 : 54, 47 : 54,
76 : 42, 76 : 42,
107 : 42, 107 : 42,
@ -49,11 +55,9 @@ class PacketOpenSignEntity(Packet):
751 : 46, 751 : 46,
755 : 47, 755 : 47,
756 : 47, 756 : 47,
757 : 47, 757 : 47
1073741839 : 47
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'location', TrailingData ) ],
47 : [ ( 'location', Position ) ], 47 : [ ( 'location', Position ) ],
76 : [ ( 'location', Position ) ], 76 : [ ( 'location', Position ) ],
107 : [ ( 'location', Position ) ], 107 : [ ( 'location', Position ) ],
@ -90,6 +94,5 @@ class PacketOpenSignEntity(Packet):
751 : [ ( 'location', Position ) ], 751 : [ ( 'location', Position ) ],
755 : [ ( 'location', Position ) ], 755 : [ ( 'location', Position ) ],
756 : [ ( 'location', Position ) ], 756 : [ ( 'location', Position ) ],
757 : [ ( 'location', Position ) ], 757 : [ ( 'location', Position ) ]
1073741839 : [ ( 'location', Position ) ]
} }

View file

@ -5,19 +5,32 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketOpenWindow(Packet): class PacketOpenWindow(Packet):
__slots__ = ( 'id', 'slotCount', 'windowTitle', 'entityId', 'inventoryType', 'windowId', 'useProvidedTitle' ) __slots__ = ( 'id', 'entityId', 'inventoryType', 'slotCount', 'windowId', 'windowTitle' )
slotCount : int
windowTitle : str
entityId : bytes entityId : bytes
inventoryType : Union[str,int] inventoryType : Union[int,str]
slotCount : int
windowId : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 45,
47 : 45, 47 : 45,
76 : 19, 76 : 19,
107 : 19, 107 : 19,
@ -54,11 +67,9 @@ class PacketOpenWindow(Packet):
751 : 45, 751 : 45,
755 : 46, 755 : 46,
756 : 46, 756 : 46,
757 : 46, 757 : 46
1073741839 : 46
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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 ) ], 751 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ],
755 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ], 755 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ],
756 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ], 756 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ],
757 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ], 757 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ]
1073741839 : [ ( 'windowId', VarInt ), ( 'inventoryType', VarInt ), ( 'windowTitle', String ) ]
} }

View file

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

View file

@ -5,18 +5,23 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketPlayerInfo(Packet): class PacketPlayerInfo(Packet):
__slots__ = ( 'id', 'online', 'ping', 'playerName', 'action', 'data' ) __slots__ = ( 'id', 'action', 'data' )
online : bool
ping : int
playerName : str
action : int action : int
data : list data : list
def __init__(self, proto:int,
action:int=None,
data:list=None
):
super().__init__(proto,
action=action,
data=data
)
_state : int = 3 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 56,
47 : 56, 47 : 56,
76 : 45, 76 : 45,
107 : 45, 107 : 45,
@ -53,11 +58,9 @@ class PacketPlayerInfo(Packet):
751 : 50, 751 : 50,
755 : 54, 755 : 54,
756 : 54, 756 : 54,
757 : 54, 757 : 54
1073741839 : 51
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

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

View file

@ -5,22 +5,41 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketPosition(Packet): 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 dismountVehicle : bool
flags : int
pitch : float
teleportId : int teleportId : int
x : float
y : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 8,
47 : 8, 47 : 8,
76 : 46, 76 : 46,
107 : 46, 107 : 46,
@ -57,11 +76,9 @@ class PacketPosition(Packet):
751 : 52, 751 : 52,
755 : 56, 755 : 56,
756 : 56, 756 : 56,
757 : 56, 757 : 56
1073741839 : 53
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

@ -5,18 +5,32 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketRelEntityMove(Packet): 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 dX : int
dY : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 21,
47 : 21, 47 : 21,
76 : 38, 76 : 38,
107 : 37, 107 : 37,
@ -53,11 +67,9 @@ class PacketRelEntityMove(Packet):
751 : 39, 751 : 39,
755 : 41, 755 : 41,
756 : 41, 756 : 41,
757 : 41, 757 : 41
1073741839 : 40
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 47 : [ ( 'entityId', VarInt ), ( 'dX', Byte ), ( 'dY', Byte ), ( 'dZ', Byte ), ( 'onGround', Boolean ) ],
76 : [ ( '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 ) ], 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 ) ], 751 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'onGround', Boolean ) ],
755 : [ ( '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 ) ], 756 : [ ( 'entityId', VarInt ), ( 'dX', Short ), ( 'dY', Short ), ( 'dZ', Short ), ( 'onGround', Boolean ) ],
757 : [ ( '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 ) ]
} }

View file

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

View file

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

View file

@ -5,23 +5,47 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketRespawn(Packet): 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 copyMetadata : bool
isFlat : bool difficulty : int
isDebug : bool
hashedSeed : int
dimension : Union[int,bytes,str] dimension : Union[int,bytes,str]
gamemode : int gamemode : int
difficulty : int hashedSeed : int
isDebug : bool
isFlat : bool
levelType : str levelType : str
previousGamemode : int previousGamemode : int
worldName : str 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 7,
47 : 7, 47 : 7,
76 : 51, 76 : 51,
107 : 51, 107 : 51,
@ -58,11 +82,9 @@ class PacketRespawn(Packet):
751 : 57, 751 : 57,
755 : 61, 755 : 61,
756 : 61, 756 : 61,
757 : 61, 757 : 61
1073741839 : 58
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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 ) ], 47 : [ ( 'dimension', Int ), ( 'difficulty', Byte ), ( 'gamemode', Byte ), ( 'levelType', String ) ],
76 : [ ( '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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

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

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketScoreboardObjective(Packet): class PacketScoreboardObjective(Packet):
__slots__ = ( 'id', 'name', 'type', 'action', 'displayText' ) __slots__ = ( 'id', 'action', 'displayText', 'name', 'type' )
action : int
displayText : bytes
name : str name : str
type : bytes 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 59,
47 : 59, 47 : 59,
76 : 63, 76 : 63,
107 : 63, 107 : 63,
@ -52,11 +64,9 @@ class PacketScoreboardObjective(Packet):
751 : 74, 751 : 74,
755 : 83, 755 : 83,
756 : 83, 756 : 83,
757 : 83, 757 : 83
1073741839 : 75
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketScoreboardScore(Packet): class PacketScoreboardScore(Packet):
__slots__ = ( 'id', 'value', 'action', 'itemName', 'scoreName' ) __slots__ = ( 'id', 'action', 'itemName', 'scoreName', 'value' )
value : bytes
action : int action : int
itemName : str 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 60,
47 : 60, 47 : 60,
76 : 65, 76 : 65,
107 : 66, 107 : 66,
@ -52,11 +64,9 @@ class PacketScoreboardScore(Packet):
751 : 77, 751 : 77,
755 : 86, 755 : 86,
756 : 86, 756 : 86,
757 : 86, 757 : 86
1073741839 : 78
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ], 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, ) ) ]
} }

View file

@ -5,28 +5,51 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketScoreboardTeam(Packet): 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 collisionRule : bytes
name : bytes color : bytes
friendlyFire : bytes friendlyFire : bytes
mode : int
name : bytes
nameTagVisibility : bytes
players : bytes players : bytes
prefix : bytes prefix : bytes
suffix : bytes suffix : bytes
nameTagVisibility : bytes
color : bytes
team : str 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 62,
47 : 62, 47 : 62,
76 : 64 76 : 64
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ) ], 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, ) ) ] 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 * from ....types import *
class PacketSculkVibrationSignal(Packet): class PacketSculkVibrationSignal(Packet):
__slots__ = ( 'id', 'destination', 'arrivalTicks', 'destinationIdentifier', 'sourcePosition' ) __slots__ = ( 'id', 'arrivalTicks', 'destination', 'destinationIdentifier', 'sourcePosition' )
destination : bytes
arrivalTicks : int arrivalTicks : int
destination : bytes
destinationIdentifier : str destinationIdentifier : str
sourcePosition : tuple 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
755 : 5, 755 : 5,
756 : 5, 756 : 5,
757 : 5, 757 : 5
1073741839 : 5
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
755 : [ ( 'sourcePosition', Position ), ( 'destinationIdentifier', String ), ( 'destination', SwitchType('destinationIdentifier', { 'block' : Position, 'entityId' : VarInt }, None, ) ), ( 'arrivalTicks', VarInt ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

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

View file

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

View file

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

View file

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

View file

@ -5,17 +5,29 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketSetSlot(Packet): class PacketSetSlot(Packet):
__slots__ = ( 'id', 'windowId', 'item', 'slot', 'stateId' ) __slots__ = ( 'id', 'item', 'slot', 'stateId', 'windowId' )
windowId : int
item : dict item : dict
slot : int slot : int
stateId : 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 47,
47 : 47, 47 : 47,
76 : 22, 76 : 22,
107 : 22, 107 : 22,
@ -52,11 +64,9 @@ class PacketSetSlot(Packet):
751 : 21, 751 : 21,
755 : 22, 755 : 22,
756 : 22, 756 : 22,
757 : 22, 757 : 22
1073741839 : 22
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
5 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
47 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ], 47 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
76 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ], 76 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
107 : [ ( '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 ) ], 751 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
755 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ], 755 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ],
756 : [ ( 'windowId', Byte ), ( 'stateId', VarInt ), ( 'slot', Short ), ( 'item', Slot ) ], 756 : [ ( 'windowId', Byte ), ( 'stateId', VarInt ), ( 'slot', Short ), ( 'item', Slot ) ],
757 : [ ( 'windowId', Byte ), ( 'stateId', VarInt ), ( 'slot', Short ), ( 'item', Slot ) ], 757 : [ ( 'windowId', Byte ), ( 'stateId', VarInt ), ( 'slot', Short ), ( 'item', Slot ) ]
1073741839 : [ ( 'windowId', Byte ), ( 'slot', Short ), ( 'item', Slot ) ]
} }

View file

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

View file

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

View file

@ -5,11 +5,22 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketSetTitleTime(Packet): class PacketSetTitleTime(Packet):
__slots__ = ( 'id', 'fadeOut', 'stay', 'fadeIn' ) __slots__ = ( 'id', 'fadeIn', 'fadeOut', 'stay' )
fadeIn : int
fadeOut : int fadeOut : int
stay : 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 _state : int = 3

View file

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

View file

@ -5,16 +5,37 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketSoundEffect(Packet): 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 soundCategory : int
soundId : int
volume : float volume : float
x : int x : int
pitch : Union[int,float]
soundId : int
parrottedEntityType : str
y : int 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 _state : int = 3
@ -53,8 +74,7 @@ class PacketSoundEffect(Packet):
751 : 81, 751 : 81,
755 : 92, 755 : 92,
756 : 92, 756 : 92,
757 : 93, 757 : 93
1073741839 : 82
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _definitions : Dict[int, List[Tuple[str, Type]]] = {
107 : [ ( 'soundId', VarInt ), ( 'soundCategory', VarInt ), ( 'x', Int ), ( 'y', Int ), ( 'z', Int ), ( 'volume', Float ), ( 'pitch', Byte ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

View file

@ -5,26 +5,56 @@ from ....packet import Packet
from ....types import * from ....types import *
class PacketSpawnEntity(Packet): 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 entityId : int
objectData : Union[int,dict]
velocityY : int
z : Union[int,float]
velocityX : int
objectUUID : str
entityUUID : str entityUUID : str
x : Union[int,float] objectData : Union[int,dict]
objectUUID : str
pitch : int pitch : int
yaw : int
y : Union[int,float]
type : int 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 _state : int = 3
_ids : Dict[int, int] = { _ids : Dict[int, int] = {
5 : 14,
47 : 14, 47 : 14,
76 : 0, 76 : 0,
107 : 0, 107 : 0,
@ -61,11 +91,9 @@ class PacketSpawnEntity(Packet):
751 : 0, 751 : 0,
755 : 0, 755 : 0,
756 : 0, 756 : 0,
757 : 0, 757 : 0
1073741839 : 0
} }
_definitions : Dict[int, List[Tuple[str, Type]]] = { _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, ) ), ) ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ], 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 ) ]
} }

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