Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
1.9 kB · 75 lines
C++
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475#include "stdafx.h"#include "InputOutputStream.h"#include "PacketListener.h"#include "BasicTypeContainers.h"#include "CustomPayloadPacket.h"
// Mojang-defined custom packetsconst wstring CustomPayloadPacket::CUSTOM_BOOK_PACKET = L"MC|BEdit";const wstring CustomPayloadPacket::CUSTOM_BOOK_SIGN_PACKET = L"MC|BSign";const wstring CustomPayloadPacket::TEXTURE_PACK_PACKET = L"MC|TPack";const wstring CustomPayloadPacket::TRADER_LIST_PACKET = L"MC|TrList";const wstring CustomPayloadPacket::TRADER_SELECTION_PACKET = L"MC|TrSel";const wstring CustomPayloadPacket::SET_ADVENTURE_COMMAND_PACKET = L"MC|AdvCdm";const wstring CustomPayloadPacket::SET_BEACON_PACKET = L"MC|Beacon";const wstring CustomPayloadPacket::SET_ITEM_NAME_PACKET = L"MC|ItemName";
CustomPayloadPacket::CustomPayloadPacket(){}
CustomPayloadPacket::CustomPayloadPacket(const wstring &identifier, byteArray data){ this->identifier = identifier; this->data = data;
if (data.data != NULL) { length = data.length;
if (length > Short::MAX_VALUE) { app.DebugPrintf("Payload may not be larger than 32K\n");#ifndef _CONTENT_PACKAGE __debugbreak();#endif //throw new IllegalArgumentException("Payload may not be larger than 32k"); } }}
void CustomPayloadPacket::read(DataInputStream *dis){ identifier = readUtf(dis, 20); length = dis->readShort();
if (length > 0 && length < Short::MAX_VALUE) { if(data.data != NULL) { delete [] data.data; } data = byteArray(length); dis->readFully(data); }}
void CustomPayloadPacket::write(DataOutputStream *dos){ writeUtf(identifier, dos); dos->writeShort((short) length); if (data.data != NULL) { dos->write(data); }}
void CustomPayloadPacket::handle(PacketListener *listener){ listener->handleCustomPayload( shared_from_this() );}
int CustomPayloadPacket::getEstimatedSize(){ return 2 + identifier.length() * 2 + 2 + length;}