the whole game

This commit is contained in:
Kolyah35
2026-03-02 22:04:18 +03:00
parent 816e9060b4
commit f0617a5d22
2069 changed files with 581500 additions and 0 deletions

173
src/network/Packet.h Executable file
View File

@@ -0,0 +1,173 @@
#ifndef _MINECRAFT_NETWORK_PACKET_H_
#define _MINECRAFT_NETWORK_PACKET_H_
#include "NetEventCallback.h"
#include "../raknet/MessageIdentifiers.h"
#include "../raknet/RakNetTypes.h"
#include "../raknet/BitStream.h"
#include "../raknet/PacketPriority.h"
class LevelChunk;
enum MinecraftPacketIds
{
PACKET_KEEPALIVE = 0,
PACKET_LOGIN,
PACKET_LOGINSTATUS,
PACKET_READY,
PACKET_MESSAGE,
PACKET_SETTIME,
PACKET_STARTGAME,
PACKET_ADDMOB,
PACKET_ADDPLAYER,
PACKET_REMOVEPLAYER,
PACKET_TELEPORTENTITY,
PACKET_ADDENTITY,
PACKET_REMOVEENTITY,
PACKET_ADDITEMENTITY,
PACKET_TAKEITEMENTITY,
PACKET_MOVEENTITY,
PACKET_MOVEENTITY_POS,
PACKET_MOVEENTITY_ROT,
PACKET_MOVEENTITY_POSROT,
PACKET_MOVEPLAYER,
PACKET_PLACEBLOCK,
PACKET_REMOVEBLOCK,
PACKET_UPDATEBLOCK,
PACKET_ADDPAINTING,
PACKET_EXPLODE,
PACKET_LEVELEVENT,
PACKET_TILEEVENT,
PACKET_ENTITYEVENT,
PACKET_REQUESTCHUNK,
PACKET_CHUNKDATA,
PACKET_PLAYEREQUIPMENT,
PACKET_PLAYERARMOREQUIPMENT,
PACKET_INTERACT,
PACKET_USEITEM,
PACKET_PLAYERACTION,
PACKET_UPDATEARMOR,
PACKET_HURTARMOR,
PACKET_SETENTITYDATA,
PACKET_SETENTITYMOTION,
PACKET_SETHEALTH,
PACKET_SETSPAWNPOSITION,
PACKET_ANIMATE,
PACKET_RESPAWN,
PACKET_SENDINVENTORY,
PACKET_DROPITEM,
PACKET_CONTAINEROPEN,
PACKET_CONTAINERCLOSE,
PACKET_CONTAINERSETSLOT,
PACKET_CONTAINERSETDATA,
PACKET_CONTAINERSETCONTENT,
PACKET_CONTAINERACK,
PACKET_CHAT,
PACKET_SIGNUPDATE,
PACKET_ADVENTURESETTINGS,
/*
PACKET_PRELOGIN,
PACKET_CHAT,
PACKET_SETEQUIPPEDITEM,
PACKET_SETSPAWNPOSITION,
PACKET_PLAYERACTION,
PACKET_SETCARRIEDITEM,
PACKET_ENTITYACTIONATPOSITION,
PACKET_PLAYERCOMMAND,
PACKET_ADDENTITY,
PACKET_ADDMOB,
PACKET_ADDPAINTING,
PACKET_PLAYERINPUT,
PACKET_SETENTITYMOTION,
PACKET_REMOVEENTITY,
PACKET_MOVEENTITY,
PACKET_SETRIDING,
PACKET_ENTITYDATA,
PACKET_CHUNKVISIBILITY,
PACKET_BLOCKREGIONUPDATE,
PACKET_CHUNKBLOCKUPDATE,
PACKET_BLOCKUPDATE,
PACKET_BLOCKEVENT,
PACKET_GAMEEVENT,
PACKET_ADDGLOBALENTITY,
PACKET_CONTAINEROPEN,
PACKET_CONTAINERCLOSE,
PACKET_CONTAINERCLICK,
PACKET_CONTAINERSETSLOT,
PACKET_CONTAINERSETCONTENT,
PACKET_CONTAINERSETDATA,
PACKET_CONTAINERACK,
PACKET_SIGNUPDATE,
PACKET_AWARDSTAT,
PACKET_DISCONNECT,
*/
PACKET_END_ID
};
const int NUM_PACKETS = PACKET_END_ID;
class Packet
{
public:
Packet();
virtual ~Packet() {}
virtual void write(RakNet::BitStream* bitStream) = 0;
virtual void read(RakNet::BitStream* bitStream) = 0;
virtual void handle(const RakNet::RakNetGUID& source, NetEventCallback* callback) = 0;
PacketPriority priority;
PacketReliability reliability;
};
class MinecraftPackets
{
public:
static Packet* createPacket(int id);
};
namespace PacketUtil {
signed char Rot_degreesToChar(float rot);
float Rot_charToDegrees(signed char rot);
void Rot_entityToChar(const Entity* e, signed char& yRot, signed char& xRot);
void Rot_charToEntity(Entity* e, signed char yRot, signed char xRot);
void writeItemInstance(const ItemInstance& item, RakNet::BitStream* stream);
ItemInstance readItemInstance(RakNet::BitStream* stream);
}
#endif