Files
MinecraftConsoles/Minecraft.World/DisconnectPacket.h
Loki Rautio 087b7e7abf Revert "Project modernization (#630)"
This code was not tested and breaks in Release builds, reverting to restore
functionality of the nightly. All in-game menus do not work and generating
a world crashes.

This reverts commit a9be52c41a.
2026-03-07 21:12:22 -06:00

74 lines
1.7 KiB
C++

#pragma once
using namespace std;
#include "Packet.h"
class DisconnectPacket : public Packet, public enable_shared_from_this<DisconnectPacket>
{
public:
enum eDisconnectReason
{
eDisconnect_None = 0,
eDisconnect_Quitting,
eDisconnect_Closed,
eDisconnect_LoginTooLong,
eDisconnect_IllegalStance,
eDisconnect_IllegalPosition,
eDisconnect_MovedTooQuickly,
eDisconnect_NoFlying,
eDisconnect_Kicked,
eDisconnect_TimeOut,
eDisconnect_Overflow,
eDisconnect_EndOfStream,
eDisconnect_ServerFull,
eDisconnect_OutdatedServer,
eDisconnect_OutdatedClient,
eDisconnect_UnexpectedPacket,
eDisconnect_ConnectionCreationFailed,
eDisconnect_NoMultiplayerPrivilegesHost,
eDisconnect_NoMultiplayerPrivilegesJoin,
eDisconnect_NoUGC_AllLocal,
eDisconnect_NoUGC_Single_Local,
eDisconnect_ContentRestricted_AllLocal,
eDisconnect_ContentRestricted_Single_Local,
#ifndef __PS3__
eDisconnect_NoUGC_Remote,
#endif
eDisconnect_NoFriendsInGame,
eDisconnect_Banned,
eDisconnect_NotFriendsWithHost,
eDisconnect_NATMismatch,
#ifdef __ORBIS__
eDisconnect_NetworkError,
#endif
#ifdef _XBOX_ONE
eDisconnect_ExitedGame,
#endif
};
// 4J Stu - The reason was a string, but we need to send a non-locale specific reason
eDisconnectReason reason;
DisconnectPacket();
DisconnectPacket(eDisconnectReason reason);
virtual void read(DataInputStream *dis);
virtual void write(DataOutputStream *dos);
virtual void handle(PacketListener *listener);
virtual int getEstimatedSize();
virtual bool canBeInvalidated();
virtual bool isInvalidatedBy(shared_ptr<Packet> packet);
public:
static shared_ptr<Packet> create() { return shared_ptr<Packet>(new DisconnectPacket()); }
virtual int getId() { return 255; }
};