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

View File

@@ -0,0 +1,76 @@
#ifndef NET_MINECRAFT_NETWORK_PACKET__ExplodePacket_H__
#define NET_MINECRAFT_NETWORK_PACKET__ExplodePacket_H__
//package net.minecraft.network.packet;
#include "../Packet.h"
#include "../../world/level/Explosion.h"
class ExplodePacket: public Packet
{
public:
float x, y, z;
float r;
std::vector<TilePos> toBlow;
ExplodePacket() {}
ExplodePacket(float x, float y, float z, float r, const TilePosSet& tiles)
: x(x),
y(y),
z(z),
r(r),
toBlow(tiles.begin(), tiles.end())
{}
void write(RakNet::BitStream* bitStream)
{
bitStream->Write((RakNet::MessageID)(ID_USER_PACKET_ENUM + PACKET_EXPLODE));
bitStream->Write(x);
bitStream->Write(y);
bitStream->Write(z);
bitStream->Write(r);
int xp = (int)x;
int yp = (int)y;
int zp = (int)z;
int count = (int)toBlow.size();
bitStream->Write(count);
for (int i = 0; i < count; ++i) {
const TilePos& tp = toBlow[i];
bitStream->Write((signed char)(tp.x - xp));
bitStream->Write((signed char)(tp.y - yp));
bitStream->Write((signed char)(tp.z - zp));
}
}
void read(RakNet::BitStream* bitStream)
{
bitStream->Read(x);
bitStream->Read(y);
bitStream->Read(z);
bitStream->Read(r);
int xp = (int)x;
int yp = (int)y;
int zp = (int)z;
// Write the tileset for the exploded tiles
int count;
bitStream->Read(count);
toBlow.reserve(count);
for (int i = 0; i < count; ++i) {
signed char xx,yy,zz;
bitStream->Read(xx);
bitStream->Read(yy);
bitStream->Read(zz);
toBlow.push_back( TilePos(xp + xx, yp + yy, zp + zz) );
}
}
void handle(const RakNet::RakNetGUID& source, NetEventCallback* callback)
{
callback->handle(source, (ExplodePacket*)this);
}
};
#endif /*NET_MINECRAFT_NETWORK_PACKET__ExplodePacket_H__*/