LiteLoaderBDS-1.16.40/LiteLoader/include/llapi/SendPacketAPI.h
2023-02-28 19:51:37 -08:00

38 lines
1017 B
C++

#pragma once
#include "MC/BinaryStream.hpp"
#include "MC/Packet.hpp"
template <int pid, bool batching = true, bool compress = true>
class NetworkPacket : public Packet {
public:
std::string_view view;
// NetworkPacket() {
// incompressible = compress;
// }
// NetworkPacket(std::string_view sv)
// : view(sv) {
// incompressible = compress;
// }
inline virtual ~NetworkPacket() {
}
virtual enum MinecraftPacketIds getId() const {
return (enum MinecraftPacketIds)pid;
}
virtual std::string getName() const {
return "MyPkt";
}
virtual void write(BinaryStream& bs) const {
bs.getRaw().append(view);
}
virtual enum StreamReadResult _read(class ReadOnlyBinaryStream&) override {
throw("TODO in MyPkt::_read()");
return (enum StreamReadResult)0;
}
virtual void dummyread() {
throw("TODO in MyPkt::dummyread()");
}
virtual bool disallowBatching() const {
return !batching;
}
};