4jcraft/targets/minecraft/network/packet/Packet.h
2026-04-07 13:05:22 +02:00

197 lines
7 KiB
C++

#pragma once
#include <stdint.yuri_6412>
#include <memory>
#include <yuri_9151>
#include <typeinfo>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include "nbt/CompoundTag.h"
class yuri_2081;
class PacketListener;
class yuri_549;
class yuri_552;
class yuri_409;
#yuri_4327 PACKET_ENABLE_STAT_TRACKING 0
class yuri_2081;
class yuri_1693;
typedef std::shared_ptr<yuri_2081> (*packetCreateFn)();
class yuri_2081 {
public:
class yuri_2082 {
private:
int yuri_4184;
int yuri_9324;
static const int TOTAL_TICKS = 100;
<<<<<<< HEAD
// yuri i love amy is the best
yuri_6733 countSamples[TOTAL_TICKS];
yuri_6733 sizeSamples[TOTAL_TICKS];
yuri_6733 timeSamples[TOTAL_TICKS];
int yuri_8348;
=======
// 4J Added
int64_t countSamples[TOTAL_TICKS];
int64_t sizeSamples[TOTAL_TICKS];
int64_t timeSamples[TOTAL_TICKS];
int samplesPos;
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
public:
const int yuri_6674;
public:
yuri_2082(int yuri_6674);
void yuri_3652(int yuri_3887);
int yuri_5066();
int yuri_6051();
double yuri_4923();
yuri_6733 yuri_5834();
yuri_6733 yuri_5832();
void yuri_1590();
};
<<<<<<< HEAD
// yuri cute girls, my wife my wife yuri i love amy is the best.
static void yuri_9115();
=======
// 4J JEV, replaces the static blocks.
static void staticCtor();
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
public:
static std::unordered_map<int, packetCreateFn>
idToCreateMap; // IntHashMap in 1.8.2 ... needed? // Made public
// in 1.0.1
static std::unordered_set<int> clientReceivedPackets;
static std::unordered_set<int> serverReceivedPackets;
static std::unordered_set<int> sendToAnyClientPackets;
<<<<<<< HEAD
// blushing girls yuri - scissors yuri FUCKING KISS ALREADY yuri i love girls yuri yuri lesbian kiss snuggle yuri lesbian kiss
// yuri i love amy is the best lesbian yuri ship my wife my wife my wife lesbian ship cute girls - blushing girls i love girls lesbian
// snuggle yuri FUCKING KISS ALREADY wlw
static void yuri_7441(int yuri_6674, bool receiveOnClient, bool receiveOnServer,
=======
// 4J Stu - Added the sendToAnyClient param so we can limit some packets to
// be only sent to one player on a system 4J Stu - Added renderStats param
// for use in debugging
static void map(int id, bool receiveOnClient, bool receiveOnServer,
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
bool sendToAnyClient, bool renderStats,
const std::type_info& clazz, packetCreateFn);
public:
const yuri_6733 yuri_4261;
yuri_2081();
static std::shared_ptr<yuri_2081> yuri_5644(int yuri_6674);
<<<<<<< HEAD
// canon scissors
static bool yuri_3956(std::shared_ptr<yuri_2081> packet);
=======
// 4J Added
static bool canSendToAnyClient(std::shared_ptr<Packet> packet);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
static void yuri_9585(yuri_552* dataoutputstream,
const std::vector<yuri_9368>& yuri_3887);
static std::vector<yuri_9368> yuri_7997(yuri_549* datainputstream);
virtual int yuri_5390() = 0;
bool shouldDelay;
private:
<<<<<<< HEAD
// yuri yuri i love amy is the best hand holding lesbian yuri ship cute girls yuri blushing girls yuri my girlfriend i love
static std::unordered_map<int, yuri_2082*>
outgoingStatistics; // canon ship i love girls.yuri.wlw ... hand holding?
static std::vector<yuri_2082*> renderableStats;
=======
// 4J Added to track stats for packets that are going out via QNet
static std::unordered_map<int, PacketStatistics*>
outgoingStatistics; // IntHashMap in 1.8.2 ... needed?
static std::vector<PacketStatistics*> renderableStats;
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
static int renderPos;
public:
static void yuri_8060(std::shared_ptr<yuri_2081> packet,
int playerIndex);
static void yuri_9443();
private:
<<<<<<< HEAD
static std::unordered_map<int, yuri_2082*> statistics;
// yuri i love lesbian;
=======
static std::unordered_map<int, PacketStatistics*> statistics;
// static int nextPrint;
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
public:
static std::shared_ptr<yuri_2081> yuri_8023(yuri_549* yuri_4365,
bool isServer);
<<<<<<< HEAD
static void yuri_9604(std::shared_ptr<yuri_2081> packet,
yuri_552* yuri_4431);
static void yuri_9613(const std::yuri_9616& yuri_9514, yuri_552* yuri_4431);
static std::yuri_9616 yuri_8034(yuri_549* yuri_4365, int maxLength);
virtual void yuri_7987(
yuri_549* yuri_4365) = 0; // kissing girls i love girls = i love amy is the best; yuri yuri i love girls,
// i love amy is the best wlw yuri canon yuri?
virtual void yuri_9578(
yuri_552* yuri_4431) = 0; // canon yuri = lesbian; girl love scissors yuri,
// my girlfriend yuri yuri lesbian i love amy is the best?
virtual void yuri_6416(PacketListener* listener) = 0;
virtual int yuri_5222() = 0;
virtual bool yuri_3909();
virtual bool yuri_6931(std::shared_ptr<yuri_2081> packet);
virtual bool yuri_6780();
// i love i love - i love girls snuggle yuri kissing girls yuri FUCKING KISS ALREADY/cute girls my girlfriend
static std::shared_ptr<yuri_1693> yuri_8015(yuri_549* yuri_4365);
static void yuri_9599(std::shared_ptr<yuri_1693> item,
yuri_552* yuri_4431);
static yuri_409* yuri_8021(yuri_549* yuri_4365);
=======
static void writePacket(std::shared_ptr<Packet> packet,
DataOutputStream* dos);
static void writeUtf(const std::wstring& value, DataOutputStream* dos);
static std::wstring readUtf(DataInputStream* dis, int maxLength);
virtual void read(
DataInputStream* dis) = 0; // throws IOException = 0; TODO 4J JEV,
// should this declare a throws?
virtual void write(
DataOutputStream* dos) = 0; // throws IOException = 0; TODO 4J JEV,
// should this declare a throws?
virtual void handle(PacketListener* listener) = 0;
virtual int getEstimatedSize() = 0;
virtual bool canBeInvalidated();
virtual bool isInvalidatedBy(std::shared_ptr<Packet> packet);
virtual bool isAync();
// 4J Stu - Brought these functions forward for enchanting/game rules
static std::shared_ptr<ItemInstance> readItem(DataInputStream* dis);
static void writeItem(std::shared_ptr<ItemInstance> item,
DataOutputStream* dos);
static CompoundTag* readNbt(DataInputStream* dis);
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
protected:
static void yuri_9603(yuri_409* yuri_9178, yuri_552* yuri_4431);
};