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,69 @@
#ifndef NET_MINECRAFT_NETWORK_PACKET__SendInventoryPacket_H__
#define NET_MINECRAFT_NETWORK_PACKET__SendInventoryPacket_H__
#include "../Packet.h"
class SendInventoryPacket: public Packet
{
public:
SendInventoryPacket()
{
}
SendInventoryPacket(Player* player, bool dropItems)
: entityId(player->entityId),
extra(dropItems? ExtraDrop : 0)
{
Inventory* inv = player->inventory;
numItems = 0;
for (int i = Inventory::MAX_SELECTION_SIZE; i < inv->getContainerSize(); ++i) {
++numItems;
ItemInstance* item = inv->getItem(i);
items.push_back(item? *item : ItemInstance());
}
for (int i = 0; i < NumArmorItems; ++i) {
ItemInstance* item = player->getArmor(i);
items.push_back(item? *item : ItemInstance());
}
}
void write(RakNet::BitStream* bitStream)
{
bitStream->Write((RakNet::MessageID)(ID_USER_PACKET_ENUM + PACKET_SENDINVENTORY));
bitStream->Write(entityId);
bitStream->Write(extra);
bitStream->Write(numItems);
// Inventory
for (int i = 0; i < numItems; ++i)
PacketUtil::writeItemInstance(items[i], bitStream);
// Armor
for (int i = 0; i < NumArmorItems; ++i)
PacketUtil::writeItemInstance(items[i + numItems], bitStream);
}
void read(RakNet::BitStream* bitStream)
{
bitStream->Read(entityId);
bitStream->Read(extra);
bitStream->Read(numItems);
items.clear();
// Inventory, Armor
for (int i = 0; i < numItems + NumArmorItems; ++i)
items.push_back(PacketUtil::readItemInstance(bitStream));
}
void handle(const RakNet::RakNetGUID& source, NetEventCallback* callback)
{
callback->handle(source, (SendInventoryPacket*)this);
}
int entityId;
std::vector<ItemInstance> items;
short numItems;
unsigned char extra;
static const int ExtraDrop = 1;
static const int NumArmorItems = 4;
};
#endif /*NET_MINECRAFT_NETWORK_PACKET__SendInventoryPacket_H__*/