Files
MinecraftConsoles/Minecraft.World/DisconnectPacket.h
ModMaker101 a9be52c41a Project modernization (#630)
* Fixed boats falling and a TP glitch #266

* Replaced every C-style cast with C++ ones

* Replaced every C-style cast with C++ ones

* Fixed boats falling and a TP glitch #266

* Updated NULL to nullptr and fixing some type issues

* Modernized and fixed a few bugs

- Replaced most instances of `NULL` with `nullptr`.
- Replaced most `shared_ptr(new ...)` with `make_shared`.
- Removed the `nullptr` macro as it was interfering with the actual nullptr keyword in some instances.

* Fixing more conflicts

* Replace int loops with size_t and start work on overrides
2026-03-08 09:56:03 +07: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 std::make_shared<DisconnectPacket>(); }
virtual int getId() { return 255; }
};