Source code for dolor.packets.clientbound.status

from ...versions import Version
from ...types import *
from ..packet import *

[docs]class ResponsePacket(ClientboundPacket, StatusPacket):
[docs] class Response(Type):
[docs] class Response: def __init__(self, *, version=None, players=None, description=None, favicon=None, raw=None): if raw is not None: self.version = Version(raw["version"]["name"], raw["version"]["protocol"]) self.players = raw["players"] self.description = Chat.Chat(raw["description"]) self.favicon = raw.get("favicon") else: if not isinstance(description, Chat.Chat): description = Chat.Chat(description) self.version = version self.players = players self.description = description self.favicon = favicon
[docs] def dict(self): ret = { "version": { "name": self.version.name, "protocol": self.version.proto }, "players": self.players, "description": self.description.dict(), } if self.favicon is not None: ret["favicon"] = self.favicon return ret
def __repr__(self): return f"{type(self).__name__}({self.dict()})"
_default = Response() @classmethod def _unpack(cls, buf, *, ctx=None): return cls.Response(raw=Json.unpack(buf, ctx=ctx)) @classmethod def _pack(cls, value, *, ctx=None): return Json.pack(value.dict(), ctx=ctx)
id = 0x00 response: Response
[docs]class PongPacket(ClientboundPacket, StatusPacket): id = 0x01 payload: Long