mirror of
https://github.com/quizhizhe/LiteLoaderBDS-1.16.40.git
synced 2025-06-03 04:23:39 +00:00
适配BDS内部部分函数
This commit is contained in:
parent
388444d317
commit
7fbdcc94ef
@ -50,7 +50,7 @@ public:
|
||||
//LIAPI bool hurtEntity(float damage, ActorDamageCause damageCause = ActorDamageCause::ActorDamageCause_Override);
|
||||
//LIAPI bool teleport(Vec3 to, int dimID, float x, float y);
|
||||
//LIAPI bool teleport(Vec3 pos,int dimid);
|
||||
//LIAPI ItemStack* getHandSlot();
|
||||
LIAPI ItemStack* getHandSlot();
|
||||
LIAPI bool rename(const string& name);
|
||||
LIAPI std::unique_ptr<CompoundTag> getNbt();
|
||||
LIAPI bool setNbt(CompoundTag* nbt);
|
||||
@ -58,6 +58,8 @@ public:
|
||||
LIAPI bool addEffect(MobEffect::EffectType type, int tick, int level, bool ambient = false, bool showParticles = true, bool showAnimation = false);
|
||||
LIAPI float quickEvalMolangScript(const string& expression);
|
||||
//LIAPI Json::Value quickEvalMolangScriptAsJson(const string& expression);
|
||||
LIAPI SimpleContainer & getHandContainer();
|
||||
LIAPI SimpleContainer & getArmorContainer();
|
||||
|
||||
inline Vec3 getPosition()
|
||||
{
|
||||
|
@ -10,6 +10,10 @@
|
||||
class Attribute {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
public:
|
||||
inline class HashedString const & getName() const{
|
||||
return dAccess<HashedString>(this, 8);
|
||||
}
|
||||
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_ATTRIBUTE
|
||||
|
@ -10,6 +10,40 @@
|
||||
class AttributeInstance {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
public:
|
||||
inline float getMinValue()const{
|
||||
return dAccess<float>(this, 31);
|
||||
};
|
||||
inline float getMaxValue()const{
|
||||
return dAccess<float>(this, 32);
|
||||
};
|
||||
inline float getCurrentValue()const{
|
||||
return dAccess<float>(this, 33);
|
||||
};
|
||||
//maybe error
|
||||
inline void setCurrentValue(float value)const{
|
||||
dAccess<float, 33>((void*)this)= value;
|
||||
//AttributeInstance::resetToMaxValue Line11~Line28
|
||||
// if (this + 3)
|
||||
// {
|
||||
// auto p_mDirtyAttributes = dAccess<std::vector<ScoreInfo> *>(this, 65);
|
||||
// ScoreInfo* value = dAccess<ScoreInfo*>(p_mDirtyAttributes, 8);
|
||||
|
||||
// if ( dAccess<ScoreInfo*>(p_mDirtyAttributes, 16) == value )
|
||||
// {
|
||||
// //std::vector<ScoreInfo>::_Emplace_reallocate<ScoreInfo &>(p_mDirtyAttributes, value, &v5);
|
||||
// p_mDirtyAttributes->emplace_back(value);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// *v4 = v5;
|
||||
// *(v3 + 8) += 16i64;
|
||||
// }
|
||||
// }
|
||||
};
|
||||
inline float getDefaultValue(int a)const{
|
||||
return dAccess<float>(this, 30);
|
||||
};
|
||||
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_ATTRIBUTEINSTANCE
|
||||
|
@ -8,6 +8,9 @@
|
||||
#undef BEFORE_EXTRA
|
||||
|
||||
namespace Automation {
|
||||
// Add Member There
|
||||
class AutomationClient;
|
||||
enum MessagePurpose;
|
||||
|
||||
#define AFTER_EXTRA
|
||||
|
||||
|
@ -27,6 +27,13 @@ public:
|
||||
LIAPI void writeUnsignedInt64(unsigned __int64 value);
|
||||
LIAPI void writeVarInt(int value);
|
||||
LIAPI void writeVarInt64(__int64 value);
|
||||
|
||||
inline void writeType(class Vec3 const& vec3)
|
||||
{
|
||||
writeFloat(vec3.x);
|
||||
writeFloat(vec3.y);
|
||||
writeFloat(vec3.z);
|
||||
}
|
||||
|
||||
LIAPI void reserve(size_t size);
|
||||
LIAPI std::string& getRaw();
|
||||
|
@ -22,6 +22,7 @@ public:
|
||||
LIAPI unsigned short getTileData();
|
||||
LIAPI std::unique_ptr<CompoundTag> getNbt();
|
||||
LIAPI bool setNbt(CompoundTag* nbt);
|
||||
LIAPI unsigned int const & getRuntimeId() const;
|
||||
|
||||
inline bool operator==(class Block const& a2) const {
|
||||
__int64 v2; // r8
|
||||
|
@ -10,6 +10,10 @@
|
||||
class HashedString {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
public:
|
||||
inline std::string const & getString()const{
|
||||
return dAccess<std::string>(this, 8);
|
||||
};
|
||||
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_HASHEDSTRING
|
||||
|
@ -10,7 +10,15 @@
|
||||
class IdentityDefinition {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
|
||||
// Add Member There
|
||||
public:
|
||||
enum class Type : char
|
||||
{
|
||||
Invalid = 0,
|
||||
Player = 1,
|
||||
Actor = 2,
|
||||
Fake = 3
|
||||
};
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_IDENTITYDEFINITION
|
||||
public:
|
||||
|
@ -4,13 +4,33 @@
|
||||
#include "../Global.h"
|
||||
|
||||
#define BEFORE_EXTRA
|
||||
|
||||
// Include Headers or Declare Types Here
|
||||
#include "InventorySource.hpp"
|
||||
#include "NetworkItemStackDescriptor.hpp"
|
||||
#include "ItemStack.hpp"
|
||||
#undef BEFORE_EXTRA
|
||||
|
||||
class InventoryAction {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
// Add Member There
|
||||
public:
|
||||
InventorySource source; // 0
|
||||
uint32_t slot; // 12
|
||||
NetworkItemStackDescriptor fromDescriptor; // 16
|
||||
NetworkItemStackDescriptor toDescriptor; // 104
|
||||
ItemStack fromItem; // 192
|
||||
ItemStack toItem; // 352
|
||||
|
||||
private:
|
||||
inline void test()
|
||||
{
|
||||
static_assert(offsetof(InventoryAction, slot) == 12);
|
||||
static_assert(offsetof(InventoryAction, fromDescriptor) == 16);
|
||||
static_assert(offsetof(InventoryAction, toDescriptor) == 104);
|
||||
static_assert(offsetof(InventoryAction, fromItem) == 192);
|
||||
static_assert(offsetof(InventoryAction, toItem) == 352);
|
||||
}
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_INVENTORYACTION
|
||||
public:
|
||||
|
@ -10,7 +10,13 @@
|
||||
class MinecraftPackets {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
|
||||
// Add Member There
|
||||
public:
|
||||
//Warning temporary
|
||||
static std::shared_ptr<class Packet> createPacket(int type)
|
||||
{
|
||||
return createPacket((MinecraftPacketIds)type);
|
||||
}
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_MINECRAFTPACKETS
|
||||
public:
|
||||
|
@ -10,7 +10,12 @@
|
||||
class Objective {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
// Add Member There
|
||||
public:
|
||||
std::string getName();
|
||||
|
||||
LIAPI bool setDisplay(const std::string& slotName, ObjectiveSortOrder sort);
|
||||
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_OBJECTIVE
|
||||
public:
|
||||
|
@ -44,14 +44,19 @@ public:
|
||||
LIAPI string getServerAddress();
|
||||
LIAPI NetworkIdentifier* getNetworkIdentifier();
|
||||
LIAPI Certificate* getCertificate();
|
||||
LIAPI Container* getEnderChestContainer();
|
||||
LIAPI std::pair<BlockPos, int> getRespawnPosition();
|
||||
LIAPI float getAvgPacketLoss();
|
||||
LIAPI float getLastPacketLoss();
|
||||
LIAPI string getClientId();
|
||||
//LIAPI string getClientId();
|
||||
LIAPI int getDeviceType();
|
||||
LIAPI bool isOperator();
|
||||
LIAPI bool isOP();
|
||||
LIAPI int getPlatform();
|
||||
LIAPI Container & getInventory();
|
||||
LIAPI BlockPos const & getSpawnPosition();
|
||||
LIAPI AutomaticID<Dimension, int> getSpawnDimension();
|
||||
LIAPI enum CommandPermissionLevel getPlayerPermissionLevel();
|
||||
LIAPI int getPlayerLevel();
|
||||
|
||||
LIAPI int getCurrentExperience();
|
||||
LIAPI bool setCurrentExperience(int exp);
|
||||
@ -129,7 +134,7 @@ public:
|
||||
LIAPI bool refreshAttributes(std::vector<Attribute const*> const& attributes);
|
||||
//LIAPI void addBossEvent(int64_t uid, string name, float percent, BossEventColour colour, int overlay = 0);
|
||||
LIAPI void removeBossEvent(int64_t uid);
|
||||
LIAPI void updateBossEvent(int64_t uid, string name, float percent, BossEventColour colour, int overlay = 0);
|
||||
//LIAPI void updateBossEvent(int64_t uid, string name, float percent, BossEventColour colour, int overlay = 0);
|
||||
|
||||
LIAPI int getScore(const string& key);
|
||||
LIAPI bool setScore(const string& key, int value);
|
||||
@ -152,7 +157,7 @@ public:
|
||||
//LIAPI bool sendAddEntityPacket(unsigned long long runtimeID, string entityType, Vec3 pos, Vec2 rotation, float headYaw, vector<std::unique_ptr<DataItem>> dataItems = {});
|
||||
LIAPI bool sendUpdateBlockPacket(BlockPos const& blockPos, unsigned int runtimeId, UpdateBlockFlags flag = UpdateBlockFlags::BlockUpdateAll, UpdateBlockLayer layer = UpdateBlockLayer::UpdateBlockDefault);
|
||||
LIAPI bool sendUpdateBlockPacket(BlockPos const& blockPos, const Block& block, UpdateBlockFlags flag = UpdateBlockFlags::BlockUpdateAll, UpdateBlockLayer layer = UpdateBlockLayer::UpdateBlockDefault);
|
||||
//LIAPI bool sendTransferPacket(const string& address, short port) const;
|
||||
LIAPI bool sendTransferPacket(const string& address, short port) const;
|
||||
LIAPI bool sendSetDisplayObjectivePacket(const string& title, const string& name, char sortOrder) const;
|
||||
LIAPI bool sendSetScorePacket(char type, const vector<ScorePacketInfo>& data);
|
||||
//LIAPI bool sendBossEventPacket(BossEvent type, string name, float percent, BossEventColour colour, int overlay = 0);
|
||||
@ -161,7 +166,7 @@ public:
|
||||
LIAPI bool sendTextTalkPacket(const string& msg, Player* target /* = nullptr*/);
|
||||
|
||||
LIAPI bool sendRawFormPacket(unsigned formId, const string& data) const;
|
||||
LIAPI bool sendToastPacket(string title, string msg);
|
||||
//LIAPI bool sendToastPacket(string title, string msg);
|
||||
|
||||
LIAPI static bool isValid(Player* player);
|
||||
|
||||
|
@ -10,7 +10,25 @@
|
||||
class ReadOnlyBinaryStream {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
// Add Member There
|
||||
public:
|
||||
size_t readPointer{};
|
||||
bool unk;
|
||||
std::string ownBuf, *pBuf;
|
||||
|
||||
public:
|
||||
LIAPI std::string const& getData() const;
|
||||
LIAPI size_t getLength() const;
|
||||
LIAPI size_t getReadPointer() const;
|
||||
LIAPI size_t getUnreadLength() const;
|
||||
LIAPI void setReadPointer(std::size_t size);
|
||||
|
||||
// inline void readType(mce::UUID& uuid)
|
||||
// {
|
||||
// dAccess<uint64_t, 0>(&uuid) = getUnsignedInt64();
|
||||
// dAccess<uint64_t, 8>(&uuid) = getUnsignedInt64();
|
||||
// }
|
||||
LIAPI std::unique_ptr<class CompoundTag> getCompoundTag();
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_READONLYBINARYSTREAM
|
||||
public:
|
||||
|
@ -4,13 +4,31 @@
|
||||
#include "../Global.h"
|
||||
|
||||
#define BEFORE_EXTRA
|
||||
|
||||
#include "ScoreboardId.hpp"
|
||||
#include "IdentityDefinition.hpp"
|
||||
#undef BEFORE_EXTRA
|
||||
|
||||
struct ScorePacketInfo {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
public:
|
||||
#define DISABLE_CONSTRUCTOR_PREVENTION_SCOREPACKETINFO
|
||||
|
||||
ScoreboardId sid; //0
|
||||
std::string obj_name; //16
|
||||
uint32_t score; //48
|
||||
IdentityDefinition::Type type; //52
|
||||
unsigned long long pid; //56
|
||||
ActorUniqueID aid; //64
|
||||
std::string fake_name; //72
|
||||
|
||||
ScorePacketInfo(ScoreboardId* s, string obj_name, IdentityDefinition::Type type, unsigned num, const string& fake)
|
||||
: sid(*s)
|
||||
, obj_name(obj_name)
|
||||
, type(type)
|
||||
, score(num)
|
||||
, fake_name(fake) {
|
||||
}
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_SCOREPACKETINFO
|
||||
public:
|
||||
|
@ -10,13 +10,30 @@
|
||||
struct ScoreboardId {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
// Add Member There
|
||||
public:
|
||||
__int64 id;
|
||||
void* null;
|
||||
|
||||
ScoreboardId(){
|
||||
id = -1;
|
||||
};
|
||||
|
||||
ScoreboardId(__int64 a1){
|
||||
id = a1;
|
||||
};
|
||||
bool operator!=(ScoreboardId a1){
|
||||
return id != a1.id;
|
||||
}
|
||||
bool isValid(){
|
||||
return *this != ScoreboardId::INVALID;
|
||||
}
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_SCOREBOARDID
|
||||
public:
|
||||
struct ScoreboardId& operator=(struct ScoreboardId const &) = delete;
|
||||
ScoreboardId(struct ScoreboardId const &) = delete;
|
||||
ScoreboardId() = delete;
|
||||
struct ScoreboardId& operator=(struct ScoreboardId const &);
|
||||
// ScoreboardId(struct ScoreboardId const &)= delete;
|
||||
// ScoreboardId()= delete;
|
||||
#endif
|
||||
public:
|
||||
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_SCOREBOARDID
|
||||
|
@ -10,6 +10,11 @@
|
||||
class ScoreboardIdentityRef {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
public:
|
||||
enum IdentityDefinition::Type getIdentityType(){
|
||||
//ServerScoreboard::_unpackIdentityDefToScorePacket Line30~31 16+72
|
||||
return dAccess<enum IdentityDefinition::Type>(this, 88);
|
||||
};
|
||||
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_SCOREBOARDIDENTITYREF
|
||||
|
@ -6,12 +6,379 @@
|
||||
|
||||
#define BEFORE_EXTRA
|
||||
|
||||
enum SubClientId;
|
||||
|
||||
#undef BEFORE_EXTRA
|
||||
|
||||
class ServerNetworkHandler {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
// Add Member There
|
||||
|
||||
|
||||
public:
|
||||
inline void onClientAuthenticated(class NetworkIdentifier const& a0, class Certificate const& a1)
|
||||
{
|
||||
return _onClientAuthenticated(a0, a1);
|
||||
}
|
||||
|
||||
inline class ServerPlayer* getServerPlayer(class NetworkIdentifier const& a0, char a1=0) {
|
||||
return _getServerPlayer(a0, (SubClientId)a1);
|
||||
}
|
||||
|
||||
inline int getActiveAndInProgressPlayerCount(class mce::UUID a1)
|
||||
{
|
||||
return _getActiveAndInProgressPlayerCount(a1);
|
||||
}
|
||||
|
||||
inline void handle(class NetworkIdentifier const& a0, class CommandRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler::*rv)(class NetworkIdentifier const&, class CommandRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVCommandRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class CommandRequestPacket const&>(a1));
|
||||
}
|
||||
|
||||
inline void handle(class NetworkIdentifier const& a0, class TextPacket const& a1) {
|
||||
void (ServerNetworkHandler::*rv)(class NetworkIdentifier const&, class TextPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVTextPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class TextPacket const&>(a1));
|
||||
}
|
||||
|
||||
inline void handle(class NetworkIdentifier const& a0, class ActorEventPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ActorEventPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVActorEventPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ActorEventPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ActorPickRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ActorPickRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVActorPickRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ActorPickRequestPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class AdventureSettingsPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class AdventureSettingsPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVAdventureSettingsPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class AdventureSettingsPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class AnimatePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class AnimatePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVAnimatePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class AnimatePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class AnvilDamagePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class AnvilDamagePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVAnvilDamagePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class AnvilDamagePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class BlockPickRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class BlockPickRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVBlockPickRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class BlockPickRequestPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class BookEditPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class BookEditPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVBookEditPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class BookEditPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class BossEventPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class BossEventPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVBossEventPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class BossEventPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ClientCacheBlobStatusPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ClientCacheBlobStatusPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVClientCacheBlobStatusPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ClientCacheBlobStatusPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ClientCacheStatusPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ClientCacheStatusPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVClientCacheStatusPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ClientCacheStatusPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ClientToServerHandshakePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ClientToServerHandshakePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVClientToServerHandshakePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ClientToServerHandshakePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class CommandBlockUpdatePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class CommandBlockUpdatePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVCommandBlockUpdatePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class CommandBlockUpdatePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ContainerClosePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ContainerClosePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVContainerClosePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ContainerClosePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class CraftingEventPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class CraftingEventPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVCraftingEventPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class CraftingEventPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class DebugInfoPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class DebugInfoPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVDebugInfoPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class DebugInfoPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class DisconnectPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class DisconnectPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVDisconnectPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class DisconnectPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class EmoteListPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class EmoteListPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVEmoteListPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class EmoteListPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class EmotePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class EmotePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVEmotePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class EmotePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class FilterTextPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class FilterTextPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVFilterTextPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class FilterTextPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class InteractPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class InteractPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVInteractPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class InteractPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class InventoryTransactionPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class InventoryTransactionPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVInventoryTransactionPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class InventoryTransactionPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ItemFrameDropItemPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ItemFrameDropItemPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVItemFrameDropItemPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ItemFrameDropItemPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ItemStackRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ItemStackRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVItemStackRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ItemStackRequestPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class LabTablePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class LabTablePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVLabTablePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class LabTablePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class LecternUpdatePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class LecternUpdatePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVLecternUpdatePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class LecternUpdatePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class LevelSoundEventPacketV2 const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class LevelSoundEventPacketV2 const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVLevelSoundEventPacketV2@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class LevelSoundEventPacketV2 const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class LevelSoundEventPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class LevelSoundEventPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVLevelSoundEventPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class LevelSoundEventPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class LevelSoundEventPacketV1 const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class LevelSoundEventPacketV1 const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVLevelSoundEventPacketV1@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class LevelSoundEventPacketV1 const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class LoginPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class LoginPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVLoginPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class LoginPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class MapCreateLockedCopyPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class MapCreateLockedCopyPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVMapCreateLockedCopyPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class MapCreateLockedCopyPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class MapInfoRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class MapInfoRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVMapInfoRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class MapInfoRequestPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class MobEquipmentPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class MobEquipmentPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVMobEquipmentPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class MobEquipmentPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class MoveActorAbsolutePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class MoveActorAbsolutePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVMoveActorAbsolutePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class MoveActorAbsolutePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class MovePlayerPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class MovePlayerPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVMovePlayerPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class MovePlayerPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class MultiplayerSettingsPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class MultiplayerSettingsPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVMultiplayerSettingsPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class MultiplayerSettingsPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class NetworkStackLatencyPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class NetworkStackLatencyPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVNetworkStackLatencyPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class NetworkStackLatencyPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class NpcRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class NpcRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVNpcRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class NpcRequestPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class PassengerJumpPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class PassengerJumpPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVPassengerJumpPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class PassengerJumpPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class PlayerActionPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class PlayerActionPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVPlayerActionPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class PlayerActionPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class PlayerAuthInputPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class PlayerAuthInputPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVPlayerAuthInputPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class PlayerAuthInputPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class PlayerHotbarPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class PlayerHotbarPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVPlayerHotbarPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class PlayerHotbarPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class PlayerInputPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class PlayerInputPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVPlayerInputPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class PlayerInputPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class PlayerSkinPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class PlayerSkinPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVPlayerSkinPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class PlayerSkinPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class PositionTrackingDBClientRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class PositionTrackingDBClientRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVPositionTrackingDBClientRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class PositionTrackingDBClientRequestPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class RequestChunkRadiusPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class RequestChunkRadiusPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVRequestChunkRadiusPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class RequestChunkRadiusPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ResourcePackChunkRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ResourcePackChunkRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVResourcePackChunkRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ResourcePackChunkRequestPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class RespawnPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class RespawnPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVRespawnPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class RespawnPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class SetDefaultGameTypePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class SetDefaultGameTypePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVSetDefaultGameTypePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class SetDefaultGameTypePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class SetDifficultyPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class SetDifficultyPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVSetDifficultyPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class SetDifficultyPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class SetLocalPlayerAsInitializedPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class SetLocalPlayerAsInitializedPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVSetLocalPlayerAsInitializedPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class SetLocalPlayerAsInitializedPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class SetPlayerGameTypePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class SetPlayerGameTypePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVSetPlayerGameTypePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class SetPlayerGameTypePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class SettingsCommandPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class SettingsCommandPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVSettingsCommandPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class SettingsCommandPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ShowCreditsPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ShowCreditsPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVShowCreditsPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ShowCreditsPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class SimpleEventPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class SimpleEventPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVSimpleEventPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class SimpleEventPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class SpawnExperienceOrbPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class SpawnExperienceOrbPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVSpawnExperienceOrbPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class SpawnExperienceOrbPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class StructureBlockUpdatePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class StructureBlockUpdatePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVStructureBlockUpdatePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class StructureBlockUpdatePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class StructureTemplateDataRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class StructureTemplateDataRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVStructureTemplateDataRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class StructureTemplateDataRequestPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class SubChunkRequestPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class SubChunkRequestPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVSubChunkRequestPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class SubChunkRequestPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class SubClientLoginPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class SubClientLoginPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVSubClientLoginPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class SubClientLoginPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class TickSyncPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class TickSyncPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVTickSyncPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class TickSyncPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class UpdatePlayerGameTypePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class UpdatePlayerGameTypePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVUpdatePlayerGameTypePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class UpdatePlayerGameTypePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class std::shared_ptr<class BlockActorDataPacket> a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class std::shared_ptr<class BlockActorDataPacket>);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@V?$shared_ptr@VBlockActorDataPacket@@@std@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class std::shared_ptr<class BlockActorDataPacket>>(a1));
|
||||
}
|
||||
|
||||
inline void handle(class NetworkIdentifier const& a0, class CreatePhotoPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class CreatePhotoPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVCreatePhotoPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class CreatePhotoPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class CompletedUsingItemPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class CompletedUsingItemPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVCompletedUsingItemPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class CompletedUsingItemPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class PurchaseReceiptPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class PurchaseReceiptPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVPurchaseReceiptPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class PurchaseReceiptPacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class ModalFormResponsePacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class ModalFormResponsePacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVModalFormResponsePacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class ModalFormResponsePacket const&>(a1));
|
||||
}
|
||||
inline void handle(class NetworkIdentifier const& a0, class PhotoTransferPacket const& a1) {
|
||||
void (ServerNetworkHandler:: * rv)(class NetworkIdentifier const&, class PhotoTransferPacket const&);
|
||||
*((void**)&rv) = dlsym("?handle@ServerNetworkHandler@@UEAAXAEBVNetworkIdentifier@@AEBVPhotoTransferPacket@@@Z");
|
||||
return (this->*rv)(std::forward<class NetworkIdentifier const&>(a0), std::forward<class PhotoTransferPacket const&>(a1));
|
||||
}
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_SERVERNETWORKHANDLER
|
||||
public:
|
||||
|
@ -11,7 +11,9 @@
|
||||
class TextPacket : public Packet {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
|
||||
// Add Member There
|
||||
char filler[168];
|
||||
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_TEXTPACKET
|
||||
public:
|
||||
|
@ -26,8 +26,8 @@
|
||||
#include <MC/PlayerActionPacket.hpp>
|
||||
#include <MC/RespawnPacket.hpp>
|
||||
#include <MC/Scoreboard.hpp>
|
||||
#include <MC/NpcActionsContainer.hpp>
|
||||
#include <MC/NpcSceneDialogueData.hpp>
|
||||
// #include <MC/NpcActionsContainer.hpp>
|
||||
// #include <MC/NpcSceneDialogueData.hpp>
|
||||
#include <MC/ArmorStand.hpp>
|
||||
#include <MC/NpcAction.hpp>
|
||||
#include <MC/NpcComponent.hpp>
|
||||
@ -38,7 +38,7 @@
|
||||
#include <MC/ActorDamageSource.hpp>
|
||||
#include <ScheduleAPI.h>
|
||||
#include <MC/ServerPlayer.hpp>
|
||||
#include <RegCommandAPI.h>
|
||||
// #include <RegCommandAPI.h>
|
||||
#include <Utils/StringHelper.h>
|
||||
#include <Utils/DbgHelper.h>
|
||||
#include <I18nAPI.h>
|
||||
@ -51,14 +51,14 @@
|
||||
#include <MC/ComplexInventoryTransaction.hpp>
|
||||
#include <MC/InventoryTransaction.hpp>
|
||||
#include <MC/InventoryAction.hpp>
|
||||
#include <MC/InventorySource.hpp>
|
||||
// #include <MC/InventorySource.hpp>
|
||||
#include <MC/Util.hpp>
|
||||
#include <DynamicCommandAPI.h>
|
||||
#include <MC/ResourcePackManager.hpp>
|
||||
#include <MC/ResourceLocation.hpp>
|
||||
#include <MC/PackSourceFactory.hpp>
|
||||
#include <MC/CompositePackSource.hpp>
|
||||
#include <MC/ResourcePackPaths.hpp>
|
||||
// #include <MC/ResourcePackPaths.hpp>
|
||||
#include <MC/DirectoryPackSource.hpp>
|
||||
#include <MC/PackSource.hpp>
|
||||
|
||||
@ -1273,7 +1273,7 @@ TInstanceHook(void, "?onProjectileHit@Block@@QEBAXAEAVBlockSource@@AEBVBlockPos@
|
||||
|
||||
|
||||
/////////////////// RedStoneUpdate ///////////////////
|
||||
// 红石粉
|
||||
// 绾㈢煶绮?
|
||||
TClasslessInstanceHook(void, "?onRedstoneUpdate@RedStoneWireBlock@@UEBAXAEAVBlockSource@@AEBVBlockPos@@H_N@Z",
|
||||
BlockSource* bs, BlockPos* bp, int level, bool isActive) {
|
||||
IF_LISTENED(RedStoneUpdateEvent) {
|
||||
@ -1305,7 +1305,7 @@ TClasslessInstanceHook(void, "?onRedstoneUpdate@RedstoneTorchBlock@@UEBAXAEAVBlo
|
||||
IF_LISTENED_END(RedStoneUpdateEvent)
|
||||
return original(this, bs, bp, level, isActive);
|
||||
}
|
||||
// 红石中继器
|
||||
// 绾㈢煶涓<EFBFBD>户鍣?
|
||||
TClasslessInstanceHook(void, "?onRedstoneUpdate@DiodeBlock@@UEBAXAEAVBlockSource@@AEBVBlockPos@@H_N@Z",
|
||||
BlockSource* bs, BlockPos* bp, int level, bool isActive) {
|
||||
IF_LISTENED(RedStoneUpdateEvent) {
|
||||
@ -1321,7 +1321,7 @@ TClasslessInstanceHook(void, "?onRedstoneUpdate@DiodeBlock@@UEBAXAEAVBlockSource
|
||||
IF_LISTENED_END(RedStoneUpdateEvent)
|
||||
return original(this, bs, bp, level, isActive);
|
||||
}
|
||||
// 红石比较器
|
||||
// 绾㈢煶姣旇緝鍣?
|
||||
TClasslessInstanceHook(void, "?onRedstoneUpdate@ComparatorBlock@@UEBAXAEAVBlockSource@@AEBVBlockPos@@H_N@Z",
|
||||
BlockSource* bs, BlockPos* bp, int level, bool isActive) {
|
||||
IF_LISTENED(RedStoneUpdateEvent) {
|
||||
|
@ -111,11 +111,21 @@ ActorUniqueID Actor::getActorUniqueId() const {
|
||||
// return true;
|
||||
// }
|
||||
|
||||
// ItemStack* Actor::getHandSlot() {
|
||||
// if (isPlayer())
|
||||
// return (ItemStack*)&((Player*)this)->getSelectedItem();
|
||||
// return (ItemStack*)&getHandContainer().getItem(0);
|
||||
// }
|
||||
SimpleContainer & Actor::getHandContainer(){
|
||||
//ScriptHandContainerComponent::hasComponent actor
|
||||
return dAccess<SimpleContainer&>(this, 176);
|
||||
}
|
||||
|
||||
ItemStack* Actor::getHandSlot() {
|
||||
if (isPlayer())
|
||||
return (ItemStack*)&((Player*)this)->getSelectedItem();
|
||||
return (ItemStack*)&getHandContainer().getItem(0);
|
||||
}
|
||||
|
||||
SimpleContainer & Actor::getArmorContainer(){
|
||||
// ItemStackNetManagerServer::_handleLegacyTransactionRequest Line46
|
||||
return dAccess<SimpleContainer&>(this, 1400);
|
||||
}
|
||||
|
||||
bool Actor::rename(const string& name) {
|
||||
setNameTag(name);
|
||||
|
@ -59,4 +59,9 @@ std::unique_ptr<CompoundTag> Block::getNbt() {
|
||||
bool Block::setNbt(CompoundTag* nbt) {
|
||||
nbt->setBlock(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
unsigned int const & Block::getRuntimeId() const{
|
||||
// Actor::_playFlySound Line7
|
||||
return dAccess<unsigned int>(this, 12);
|
||||
}
|
@ -28,6 +28,7 @@
|
||||
#include <MC/Container.hpp>
|
||||
#include <MC/SimpleContainer.hpp>
|
||||
#include <MC/Scoreboard.hpp>
|
||||
#include <MC/ScoreboardId.hpp>
|
||||
#include <MC/PlaySoundPacket.hpp>
|
||||
#include <MC/SetDisplayObjectivePacket.hpp>
|
||||
#include <MC/Block.hpp>
|
||||
@ -95,6 +96,26 @@ string Player::getServerAddress() {
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
int Player::getPlatform(){
|
||||
//AddPlayerPacket::AddPlayerPacket Line59
|
||||
return dAccess<int>(this, 256);
|
||||
}
|
||||
|
||||
Container & Player::getInventory(){
|
||||
//InventoryContainerModel::_getContainer 2928 + 176
|
||||
return dAccess<Container&>(this, 3104);
|
||||
}
|
||||
|
||||
enum CommandPermissionLevel Player::getPlayerPermissionLevel(){
|
||||
//return dAccess<CommandPermissionLevel&>(this, 2112); can do
|
||||
return getCommandPermissionLevel();
|
||||
}
|
||||
|
||||
int Player::getPlayerLevel(){
|
||||
auto& attr = getAttribute(Player::LEVEL);
|
||||
return attr.getCurrentValue();
|
||||
}
|
||||
|
||||
string Player::getDeviceTypeName() {
|
||||
switch ((int)getPlatform()) {
|
||||
case -1:
|
||||
@ -136,7 +157,7 @@ string Player::getDeviceTypeName() {
|
||||
|
||||
bool Player::kick(const std::string& msg) {
|
||||
NetworkIdentifier* pNetworkIdentifier = getNetworkIdentifier();
|
||||
Global<ServerNetworkHandler>->disconnectClient(*pNetworkIdentifier, msg, 0);
|
||||
Global<ServerNetworkHandler>->disconnectClient(*pNetworkIdentifier, 0, msg, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -209,14 +230,24 @@ bool Player::runcmd(const string& cmd) {
|
||||
return sendCommandRequestPacket(cmd);
|
||||
}
|
||||
|
||||
Container* Player::getEnderChestContainer() {
|
||||
return dAccess<Container*>(this, 5440); // IDA Player::Player() 782
|
||||
}
|
||||
// Container* Player::getEnderChestContainer() {
|
||||
// return dAccess<Container*>(this, 4032); // IDA Player::Player() Line239
|
||||
// }
|
||||
|
||||
bool Player::transferServer(const string& address, unsigned short port) {
|
||||
return sendTransferPacket(address, port);
|
||||
}
|
||||
|
||||
BlockPos const & Player::getSpawnPosition(){
|
||||
//ServerNetworkHandler::_sendLevelData Line316
|
||||
return dAccess<BlockPos>(this, 1797);
|
||||
}
|
||||
|
||||
AutomaticID<Dimension, int> Player::getSpawnDimension(){
|
||||
//ServerNetworkHandler::_sendLevelData Line310
|
||||
return dAccess<AutomaticID<Dimension, int>>(this, 1800);
|
||||
}
|
||||
|
||||
std::pair<BlockPos, int> Player::getRespawnPosition() {
|
||||
BlockPos bp = getSpawnPosition();
|
||||
int dimId = getSpawnDimension();
|
||||
@ -264,34 +295,29 @@ bool Player::refreshAttributes(std::vector<Attribute const*> const& attributes)
|
||||
}
|
||||
|
||||
string Player::getUuid() {
|
||||
auto ueic = getUserEntityIdentifierComponent();
|
||||
if (!ueic)
|
||||
return "";
|
||||
return ueic->mUUID.asString();
|
||||
auto result = ExtendedCertificate::getIdentity(*getCertificate());
|
||||
return result.asString();
|
||||
}
|
||||
|
||||
string Player::getXuid() {
|
||||
return "Unknow";
|
||||
return ExtendedCertificate::getXuid(*getCertificate());
|
||||
}
|
||||
|
||||
unsigned char Player::getClientSubId() {
|
||||
auto ueic = getUserEntityIdentifierComponent();
|
||||
if (!ueic)
|
||||
return -1;
|
||||
return ueic->mClientSubId;
|
||||
return -1;
|
||||
}
|
||||
|
||||
float Player::getAvgPacketLoss() {
|
||||
return Global<Minecraft>->getNetworkHandler().getPeerForUser(*getNetworkIdentifier())->getNetworkStatus().mAveragePacketLoss;
|
||||
return Global<NetworkHandler>->getPeerForUser(*getNetworkIdentifier())->getNetworkStatus().mAveragePacketLoss;
|
||||
}
|
||||
|
||||
float Player::getLastPacketLoss() {
|
||||
return Global<Minecraft>->getNetworkHandler().getPeerForUser(*getNetworkIdentifier())->getNetworkStatus().mCurrentPacketLoss;
|
||||
return Global<NetworkHandler>->getPeerForUser(*getNetworkIdentifier())->getNetworkStatus().mCurrentPacketLoss;
|
||||
}
|
||||
|
||||
string Player::getClientId() {
|
||||
return Global<ServerNetworkHandler>->fetchConnectionRequest(*getNetworkIdentifier()).getDeviceId();
|
||||
}
|
||||
// string Player::getClientId() {
|
||||
// return Global<ServerNetworkHandler>->fetchConnectionRequest(*getNetworkIdentifier()).getDeviceId();
|
||||
// }
|
||||
|
||||
int Player::getDeviceType() {
|
||||
return getPlatform();
|
||||
@ -459,10 +485,10 @@ void Player::removeBossEvent(int64_t uid) {
|
||||
sendNetworkPacket(*pkt);
|
||||
}
|
||||
|
||||
void Player::updateBossEvent(int64_t uid, string name, float percent, BossEventColour colour, int overlay) {
|
||||
removeBossEvent(uid);
|
||||
addBossEvent(uid, name, percent, colour, overlay);
|
||||
}
|
||||
// void Player::updateBossEvent(int64_t uid, string name, float percent, BossEventColour colour, int overlay) {
|
||||
// removeBossEvent(uid);
|
||||
// addBossEvent(uid, name, percent, colour, overlay);
|
||||
// }
|
||||
|
||||
|
||||
////////////////////////// Packet //////////////////////////
|
||||
@ -503,11 +529,11 @@ bool Player::sendTextPacket(string text, TextType Type) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Player::sendToastPacket(string title, string msg) {
|
||||
ToastRequestPacket pkt = ToastRequestPacket(title, msg);
|
||||
sendNetworkPacket(pkt);
|
||||
return true;
|
||||
}
|
||||
// bool Player::sendToastPacket(string title, string msg) {
|
||||
// ToastRequestPacket pkt = ToastRequestPacket(title, msg);
|
||||
// sendNetworkPacket(pkt);
|
||||
// return true;
|
||||
// }
|
||||
|
||||
bool Player::sendTitlePacket(string text, TitleType Type, int FadeInDuration, int RemainDuration, int FadeOutDuration) const {
|
||||
BinaryStream wp;
|
||||
@ -630,11 +656,13 @@ bool Player::sendUpdateBlockPacket(BlockPos const& bpos, const Block& block, Upd
|
||||
return sendUpdateBlockPacket(bpos, block.getRuntimeId(), flag, layer);
|
||||
}
|
||||
|
||||
// bool Player::sendTransferPacket(const string& address, short port) const {
|
||||
// TransferPacket transferPkt(address, port);
|
||||
// sendNetworkPacket(transferPkt);
|
||||
// return true;
|
||||
// }
|
||||
bool Player::sendTransferPacket(const string& address, short port) const {
|
||||
auto packet = MinecraftPackets::createPacket(0x55);
|
||||
dAccess<short>(packet.get(), 36) = port;
|
||||
dAccess<string>(packet.get(), 40) = address;
|
||||
sendNetworkPacket(*packet);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Player::sendSetDisplayObjectivePacket(const string& title, const string& name, char sortOrder) const {
|
||||
SetDisplayObjectivePacket pkt = SetDisplayObjectivePacket("sidebar", name, title, "dummy", ObjectiveSortOrder(sortOrder));
|
||||
|
@ -66,15 +66,18 @@ void BinaryStream::reserve(size_t size) {
|
||||
mBuffer->reserve(size);
|
||||
}
|
||||
std::string& BinaryStream::getRaw() {
|
||||
return *dAccess<std::string*, 12>(this); // BinaryStream::getAndReleaseData
|
||||
return *dAccess<std::string*, 15>(this); // BinaryStream::getAndReleaseData
|
||||
}
|
||||
|
||||
struct IDataOutput{
|
||||
void* pVT;
|
||||
BinaryStream* pBinaryStream;
|
||||
}pVTVarIntDataOutput;
|
||||
};
|
||||
|
||||
void BinaryStream::writeCompoundTag(class CompoundTag const& tag) {
|
||||
pVTVarIntDataOutput.pVT = nullptr;
|
||||
//serialize<DataItem>::write in case 5
|
||||
IDataOutput pVTVarIntDataOutput;
|
||||
pVTVarIntDataOutput.pVT = dlsym("??_7VarIntDataOutput@@6B@");
|
||||
pVTVarIntDataOutput.pBinaryStream = this;
|
||||
NbtIo::write(&tag,pVTVarIntDataOutput);
|
||||
}
|
@ -30,7 +30,6 @@ extern Logger logger;
|
||||
#include <MC/TakeItemActorPacket.hpp>
|
||||
#include <MC/MoveActorAbsolutePacket.hpp>
|
||||
#include <MC/MovePlayerPacket.hpp>
|
||||
#include <MC/PassengerJumpPacket.hpp>
|
||||
#include <MC/UpdateBlockPacket.hpp>
|
||||
#include <MC/AddPaintingPacket.hpp>
|
||||
#include <MC/TickSyncPacket.hpp>
|
||||
@ -163,40 +162,41 @@ extern Logger logger;
|
||||
#include <MC/PositionTrackingDBClientRequestPacket.hpp>
|
||||
#include <MC/DebugInfoPacket.hpp>
|
||||
#include <MC/PacketViolationWarningPacket.hpp>
|
||||
#include <MC/MotionPredictionHintsPacket.hpp>
|
||||
#include <MC/AnimateEntityPacket.hpp>
|
||||
#include <MC/CameraShakePacket.hpp>
|
||||
#include <MC/PlayerFogPacket.hpp>
|
||||
#include <MC/CorrectPlayerMovePredictionPacket.hpp>
|
||||
#include <MC/ItemComponentPacket.hpp>
|
||||
#include <MC/FilterTextPacket.hpp>
|
||||
#include <MC/ClientboundDebugRendererPacket.hpp>
|
||||
#include <MC/SyncActorPropertyPacket.hpp>
|
||||
#include <MC/AddVolumeEntityPacket.hpp>
|
||||
#include <MC/RemoveVolumeEntityPacket.hpp>
|
||||
#include <MC/SimulationTypePacket.hpp>
|
||||
#include <MC/NpcDialoguePacket.hpp>
|
||||
#include <MC/EduUriResourcePacket.hpp>
|
||||
#include <MC/CreatePhotoPacket.hpp>
|
||||
#include <MC/UpdateSubChunkBlocksPacket.hpp>
|
||||
#include <MC/SubChunkPacket.hpp>
|
||||
#include <MC/SubChunkRequestPacket.hpp>
|
||||
#include <MC/PlayerStartItemCooldownPacket.hpp>
|
||||
#include <MC/ScriptMessagePacket.hpp>
|
||||
#include <MC/CodeBuilderSourcePacket.hpp>
|
||||
#include <MC/TickingAreasLoadStatusPacket.hpp>
|
||||
#include <MC/DimensionDataPacket.hpp>
|
||||
#include <MC/AgentActionEventPacket.hpp>
|
||||
#include <MC/ChangeMobPropertyPacket.hpp>
|
||||
#include <MC/LessonProgressPacket.hpp>
|
||||
#include <MC/RequestAbilityPacket.hpp>
|
||||
#include <MC/RequestPermissionsPacket.hpp>
|
||||
#include <MC/ToastRequestPacket.hpp>
|
||||
#include <MC/UpdateAbilitiesPacket.hpp>
|
||||
#include <MC/UpdateAdventureSettingsPacket.hpp>
|
||||
#include <MC/DeathInfoPacket.hpp>
|
||||
#include <MC/EditorNetworkPacket.hpp>
|
||||
#include <MC/FeatureRegistryPacket.hpp>
|
||||
// #include <MC/MotionPredictionHintsPacket.hpp>
|
||||
// #include <MC/AnimateEntityPacket.hpp>
|
||||
// #include <MC/CameraShakePacket.hpp>
|
||||
// #include <MC/PlayerFogPacket.hpp>
|
||||
// #include <MC/CorrectPlayerMovePredictionPacket.hpp>
|
||||
// #include <MC/ItemComponentPacket.hpp>
|
||||
// #include <MC/FilterTextPacket.hpp>
|
||||
// #include <MC/ClientboundDebugRendererPacket.hpp>
|
||||
// #include <MC/SyncActorPropertyPacket.hpp>
|
||||
// #include <MC/AddVolumeEntityPacket.hpp>
|
||||
// #include <MC/RemoveVolumeEntityPacket.hpp>
|
||||
// #include <MC/SimulationTypePacket.hpp>
|
||||
// #include <MC/NpcDialoguePacket.hpp>
|
||||
// #include <MC/EduUriResourcePacket.hpp>
|
||||
// #include <MC/CreatePhotoPacket.hpp>
|
||||
// #include <MC/UpdateSubChunkBlocksPacket.hpp>
|
||||
// #include <MC/SubChunkPacket.hpp>
|
||||
// #include <MC/SubChunkRequestPacket.hpp>
|
||||
// #include <MC/PlayerStartItemCooldownPacket.hpp>
|
||||
// #include <MC/ScriptMessagePacket.hpp>
|
||||
// #include <MC/CodeBuilderSourcePacket.hpp>
|
||||
// #include <MC/TickingAreasLoadStatusPacket.hpp>
|
||||
// #include <MC/DimensionDataPacket.hpp>
|
||||
// #include <MC/AgentActionEventPacket.hpp>
|
||||
// #include <MC/ChangeMobPropertyPacket.hpp>
|
||||
// #include <MC/LessonProgressPacket.hpp>
|
||||
// #include <MC/RequestAbilityPacket.hpp>
|
||||
// #include <MC/RequestPermissionsPacket.hpp>
|
||||
// #include <MC/ToastRequestPacket.hpp>
|
||||
// #include <MC/UpdateAbilitiesPacket.hpp>
|
||||
// #include <MC/UpdateAdventureSettingsPacket.hpp>
|
||||
// #include <MC/DeathInfoPacket.hpp>
|
||||
// #include <MC/EditorNetworkPacket.hpp>
|
||||
// #include <MC/FeatureRegistryPacket.hpp>
|
||||
// #include <MC/PassengerJumpPacket.hpp>
|
||||
|
||||
#endif INCLUDE_ALL_PACKET
|
||||
|
||||
@ -207,9 +207,6 @@ extern Logger logger;
|
||||
Func(ShowProfilePacket); \
|
||||
Func(SetDefaultGameTypePacket); \
|
||||
Func(RemoveObjectivePacket); \
|
||||
Func(RemoveVolumeEntityPacket); \
|
||||
Func(SyncActorPropertyPacket); \
|
||||
Func(FilterTextPacket); \
|
||||
Func(CodeBuilderPacket); \
|
||||
Func(NetworkSettingsPacket); \
|
||||
Func(MultiplayerSettingsPacket); \
|
||||
@ -225,7 +222,6 @@ extern Logger logger;
|
||||
Func(ServerToClientHandshakePacket); \
|
||||
Func(SetTimePacket); \
|
||||
Func(RemoveActorPacket); \
|
||||
Func(PassengerJumpPacket); \
|
||||
Func(LevelSoundEventPacketV1); \
|
||||
Func(SetCommandsEnabledPacket); \
|
||||
Func(SetPlayerGameTypePacket); \
|
||||
@ -280,18 +276,6 @@ extern Logger logger;
|
||||
Func(ResourcePackChunkRequestPacket); \
|
||||
Func(ResourcePackDataInfoPacket); \
|
||||
Func(ScriptCustomEventPacket); \
|
||||
Func(CreatePhotoPacket); \
|
||||
Func(EduUriResourcePacket); \
|
||||
Func(NpcDialoguePacket); \
|
||||
Func(SimulationTypePacket); \
|
||||
Func(AddVolumeEntityPacket); \
|
||||
Func(AnimateEntityPacket); \
|
||||
Func(CameraShakePacket); \
|
||||
Func(CodeBuilderSourcePacket); \
|
||||
Func(ClientboundDebugRendererPacket); \
|
||||
Func(CorrectPlayerMovePredictionPacket); \
|
||||
Func(PlayerStartItemCooldownPacket); \
|
||||
Func(ScriptMessagePacket); \
|
||||
Func(SetDisplayObjectivePacket); \
|
||||
Func(SetScorePacket); \
|
||||
Func(SetScoreboardIdentityPacket); \
|
||||
@ -313,10 +297,8 @@ extern Logger logger;
|
||||
Func(GameRulesChangedPacket); \
|
||||
Func(ResourcePackStackPacket); \
|
||||
Func(ResourcePacksInfoPacket); \
|
||||
Func(ItemComponentPacket); \
|
||||
Func(SetSpawnPositionPacket); \
|
||||
Func(StartGamePacket); \
|
||||
Func(PlayerFogPacket); \
|
||||
Func(AddPlayerPacket); \
|
||||
Func(LoginPacket); \
|
||||
Func(BlockPickRequestPacket); \
|
||||
@ -352,7 +334,6 @@ extern Logger logger;
|
||||
Func(EventPacket); \
|
||||
Func(SetHealthPacket); \
|
||||
Func(MobEquipmentPacket); \
|
||||
Func(MotionPredictionHintsPacket); \
|
||||
Func(AddItemActorPacket); \
|
||||
Func(UpdateAttributesPacket); \
|
||||
Func(InteractPacket); \
|
||||
@ -363,11 +344,8 @@ extern Logger logger;
|
||||
Func(InventoryTransactionPacket); \
|
||||
Func(AddActorPacket); \
|
||||
Func(MapInfoRequestPacket); \
|
||||
Func(UpdateSubChunkBlocksPacket); \
|
||||
Func(SetActorMotionPacket); \
|
||||
Func(LevelSoundEventPacket); \
|
||||
Func(SubChunkPacket); \
|
||||
Func(SubChunkRequestPacket); \
|
||||
Func(ClientCacheMissResponsePacket); \
|
||||
Func(ClientCacheBlobStatusPacket); \
|
||||
Func(LevelChunkPacket); \
|
||||
@ -375,21 +353,43 @@ extern Logger logger;
|
||||
Func(UpdateBlockPacket); \
|
||||
Func(MoveActorDeltaPacket); \
|
||||
Func(MovePlayerPacket); \
|
||||
Func(PlayerAuthInputPacket); \
|
||||
Func(TickingAreasLoadStatusPacket); \
|
||||
Func(DimensionDataPacket); \
|
||||
Func(AgentActionEventPacket); \
|
||||
Func(ChangeMobPropertyPacket); \
|
||||
Func(ChangeMobPropertyPacket); \
|
||||
Func(LessonProgressPacket); \
|
||||
Func(RequestAbilityPacket); \
|
||||
Func(RequestPermissionsPacket); \
|
||||
Func(ToastRequestPacket); \
|
||||
Func(UpdateAbilitiesPacket); \
|
||||
Func(UpdateAdventureSettingsPacket); \
|
||||
Func(EditorNetworkPacket); \
|
||||
Func(DeathInfoPacket); \
|
||||
Func(FeatureRegistryPacket);
|
||||
Func(PlayerAuthInputPacket);
|
||||
// /*Func(TickingAreasLoadStatusPacket);*/ \
|
||||
// /*Func(DimensionDataPacket);*/ \
|
||||
// /*Func(AgentActionEventPacket);*/ \
|
||||
// /*Func(ChangeMobPropertyPacket);*/ \
|
||||
// /*Func(ChangeMobPropertyPacket);*/ \
|
||||
// /*Func(LessonProgressPacket);*/ \
|
||||
// /*Func(RequestAbilityPacket);*/ \
|
||||
// /*Func(RequestPermissionsPacket);*/ \
|
||||
// /*Func(ToastRequestPacket);*/ \
|
||||
// /*Func(UpdateAbilitiesPacket);*/ \
|
||||
// /*Func(UpdateAdventureSettingsPacket);*/ \
|
||||
// /*Func(EditorNetworkPacket);*/ \
|
||||
// /*Func(DeathInfoPacket);*/ \
|
||||
// /*Func(FeatureRegistryPacket);*/ \
|
||||
// /*Func(MotionPredictionHintsPacket);*/ \
|
||||
// /*Func(AnimateEntityPacket);*/ \
|
||||
// /*Func(CameraShakePacket);*/ \
|
||||
// /*Func(PlayerFogPacket);*/ \
|
||||
// /*Func(CorrectPlayerMovePredictionPacket);*/ \
|
||||
// /*Func(ItemComponentPacket);*/ \
|
||||
// /*Func(FilterTextPacket);*/ \
|
||||
// /*Func(ClientboundDebugRendererPacket);*/ \
|
||||
// /*Func(SyncActorPropertyPacket);*/ \
|
||||
// /*Func(SubChunkPacket);*/ \
|
||||
// /*Func(SubChunkRequestPacket);*/ \
|
||||
// /*Func(UpdateSubChunkBlocksPacket);*/ \
|
||||
// /*Func(CreatePhotoPacket);*/ \
|
||||
// /*Func(EduUriResourcePacket);*/ \
|
||||
// /*Func(NpcDialoguePacket);*/ \
|
||||
// /*Func(SimulationTypePacket);*/ \
|
||||
// /*Func(AddVolumeEntityPacket);*/ \
|
||||
// /*Func(CodeBuilderSourcePacket);*/ \
|
||||
// /*Func(PlayerStartItemCooldownPacket);*/ \
|
||||
// /*Func(ScriptMessagePacket);*/ \
|
||||
// /*Func(RemoveVolumeEntityPacket);*/ \
|
||||
// Func(PassengerJumpPacket); \
|
||||
|
||||
#define DeclearClass(packet) class packet;
|
||||
|
||||
@ -829,7 +829,7 @@ static_assert(sizeof(AddItemActorPacket) == 0xD8 || sizeof(AddItemActorPacket) =
|
||||
static_assert(sizeof(TakeItemActorPacket) == 0x40 || sizeof(TakeItemActorPacket) == 48, "size of TakeItemActorPacket should be 64 or 48(default)");
|
||||
static_assert(sizeof(MoveActorAbsolutePacket) == 0x50 || sizeof(MoveActorAbsolutePacket) == 48, "size of MoveActorAbsolutePacket should be 80 or 48(default)");
|
||||
static_assert(sizeof(MovePlayerPacket) == 0x70 || sizeof(MovePlayerPacket) == 48, "size of MovePlayerPacket should be 112 or 48(default)");
|
||||
static_assert(sizeof(PassengerJumpPacket) == 0x38 || sizeof(PassengerJumpPacket) == 48, "size of PassengerJumpPacket should be 56 or 48(default)");
|
||||
// static_assert(sizeof(PassengerJumpPacket) == 0x38 || sizeof(PassengerJumpPacket) == 48, "size of PassengerJumpPacket should be 56 or 48(default)");
|
||||
static_assert(sizeof(UpdateBlockPacket) == 0x48 || sizeof(UpdateBlockPacket) == 48, "size of UpdateBlockPacket should be 72 or 48(default)");
|
||||
static_assert(sizeof(AddPaintingPacket) == 0x70 || sizeof(AddPaintingPacket) == 48, "size of AddPaintingPacket should be 112 or 48(default)");
|
||||
static_assert(sizeof(TickSyncPacket) == 0x40 || sizeof(TickSyncPacket) == 48, "size of TickSyncPacket should be 64 or 48(default)");
|
||||
@ -962,39 +962,39 @@ static_assert(sizeof(PositionTrackingDBServerBroadcastPacket) == 0x50 || sizeof(
|
||||
static_assert(sizeof(PositionTrackingDBClientRequestPacket) == 0x38 || sizeof(PositionTrackingDBClientRequestPacket) == 48, "size of PositionTrackingDBClientRequestPacket should be 56 or 48(default)");
|
||||
static_assert(sizeof(DebugInfoPacket) == 0x58 || sizeof(DebugInfoPacket) == 48, "size of DebugInfoPacket should be 88 or 48(default)");
|
||||
static_assert(sizeof(PacketViolationWarningPacket) == 0x60 || sizeof(PacketViolationWarningPacket) == 48, "size of PacketViolationWarningPacket should be 96 or 48(default)");
|
||||
static_assert(sizeof(MotionPredictionHintsPacket) == 0x48 || sizeof(MotionPredictionHintsPacket) == 48, "size of MotionPredictionHintsPacket should be 72 or 48(default)");
|
||||
static_assert(sizeof(AnimateEntityPacket) == 0xD8 || sizeof(AnimateEntityPacket) == 48, "size of AnimateEntityPacket should be 216 or 48(default)");
|
||||
static_assert(sizeof(CameraShakePacket) == 0x40 || sizeof(CameraShakePacket) == 48, "size of CameraShakePacket should be 64 or 48(default)");
|
||||
static_assert(sizeof(PlayerFogPacket) == 0x48 || sizeof(PlayerFogPacket) == 48, "size of PlayerFogPacket should be 72 or 48(default)");
|
||||
static_assert(sizeof(CorrectPlayerMovePredictionPacket) == 0x58 || sizeof(CorrectPlayerMovePredictionPacket) == 48, "size of CorrectPlayerMovePredictionPacket should be 88 or 48(default)");
|
||||
static_assert(sizeof(ItemComponentPacket) == 0x48 || sizeof(ItemComponentPacket) == 48, "size of ItemComponentPacket should be 72 or 48(default)");
|
||||
static_assert(sizeof(FilterTextPacket) == 0x58 || sizeof(FilterTextPacket) == 48, "size of FilterTextPacket should be 88 or 48(default)");
|
||||
static_assert(sizeof(ClientboundDebugRendererPacket) == 0x88 || sizeof(ClientboundDebugRendererPacket) == 48, "size of ClientboundDebugRendererPacket should be 136 or 48(default)");
|
||||
static_assert(sizeof(SyncActorPropertyPacket) == 0x48 || sizeof(SyncActorPropertyPacket) == 48, "size of SyncActorPropertyPacket should be 72 or 48(default)");
|
||||
static_assert(sizeof(AddVolumeEntityPacket) == 0x120 || sizeof(AddVolumeEntityPacket) == 48, "size of AddVolumeEntityPacket should be 288 or 48(default)");
|
||||
static_assert(sizeof(RemoveVolumeEntityPacket) == 0x40 || sizeof(RemoveVolumeEntityPacket) == 48, "size of RemoveVolumeEntityPacket should be 64 or 48(default)");
|
||||
static_assert(sizeof(SimulationTypePacket) == 0x38 || sizeof(SimulationTypePacket) == 48, "size of SimulationTypePacket should be 56 or 48(default)");
|
||||
static_assert(sizeof(NpcDialoguePacket) == 0xC0 || sizeof(NpcDialoguePacket) == 48, "size of NpcDialoguePacket should be 192 or 48(default)");
|
||||
static_assert(sizeof(EduUriResourcePacket) == 0x70 || sizeof(EduUriResourcePacket) == 48, "size of EduUriResourcePacket should be 112 or 48(default)");
|
||||
static_assert(sizeof(CreatePhotoPacket) == 0x78 || sizeof(CreatePhotoPacket) == 48, "size of CreatePhotoPacket should be 120 or 48(default)");
|
||||
static_assert(sizeof(UpdateSubChunkBlocksPacket) == 0x70 || sizeof(UpdateSubChunkBlocksPacket) == 48, "size of UpdateSubChunkBlocksPacket should be 112 or 48(default)");
|
||||
static_assert(sizeof(SubChunkPacket) == 0x60 || sizeof(SubChunkPacket) == 48, "size of SubChunkPacket should be 96 or 48(default)");
|
||||
static_assert(sizeof(SubChunkRequestPacket) == 0x80 || sizeof(SubChunkRequestPacket) == 48, "size of SubChunkRequestPacket should be 128 or 48(default)");
|
||||
static_assert(sizeof(PlayerStartItemCooldownPacket) == 0x58 || sizeof(PlayerStartItemCooldownPacket) == 48, "size of PlayerStartItemCooldownPacket should be 88 or 48(default)");
|
||||
static_assert(sizeof(ScriptMessagePacket) == 0x70 || sizeof(ScriptMessagePacket) == 48, "size of ScriptMessagePacket should be 112 or 48(default)");
|
||||
static_assert(sizeof(CodeBuilderSourcePacket) == 0x58 || sizeof(CodeBuilderSourcePacket) == 48, "size of CodeBuilderSourcePacket should be 88 or 48(default)");
|
||||
static_assert(sizeof(TickingAreasLoadStatusPacket) == 0x38 || sizeof(TickingAreasLoadStatusPacket) == 48, "size of TickingAreasLoadStatusPacket should be 56 or 48(default)");
|
||||
static_assert(sizeof(DimensionDataPacket) == 0x40 || sizeof(DimensionDataPacket) == 48, "size of DimensionDataPacket should be 64 or 48(default)");
|
||||
static_assert(sizeof(AgentActionEventPacket) == 0x68 || sizeof(AgentActionEventPacket) == 48, "size of AgentActionEventPacket should be 104 or 48(default)");
|
||||
static_assert(sizeof(ChangeMobPropertyPacket) == 0x88 || sizeof(ChangeMobPropertyPacket) == 48, "size of ChangeMobPropertyPacket should be 136 or 48(default)");
|
||||
static_assert(sizeof(LessonProgressPacket) == 0x58 || sizeof(LessonProgressPacket) == 48, "size of LessonProgressPacket should be 88 or 48(default)");
|
||||
static_assert(sizeof(RequestAbilityPacket) == 0x40 || sizeof(RequestAbilityPacket) == 48, "size of RequestAbilityPacket should be 64 or 48(default)");
|
||||
static_assert(sizeof(RequestPermissionsPacket) == 0x40 || sizeof(RequestPermissionsPacket) == 48, "size of RequestPermissionsPacket should be 64 or 48(default)");
|
||||
static_assert(sizeof(ToastRequestPacket) == 0x70 || sizeof(ToastRequestPacket) == 48, "size of ToastRequestPacket should be 112 or 48(default)");
|
||||
static_assert(sizeof(UpdateAbilitiesPacket) == 0x58 || sizeof(UpdateAbilitiesPacket) == 48, "size of UpdateAbilitiesPacket should be 88 or 48(default)");
|
||||
static_assert(sizeof(UpdateAdventureSettingsPacket) == 0x38 || sizeof(UpdateAdventureSettingsPacket) == 48, "size of UpdateAdventureSettingsPacket should be 56 or 48(default)");
|
||||
static_assert(sizeof(DeathInfoPacket) == 0x68 || sizeof(DeathInfoPacket) == 48, "size of DeathInfoPacket should be 104 or 48(default)");
|
||||
static_assert(sizeof(EditorNetworkPacket) == 0x48 || sizeof(EditorNetworkPacket) == 48, "size of EditorNetworkPacket should be 72 or 48(default)");
|
||||
static_assert(sizeof(FeatureRegistryPacket) == 0x48 || sizeof(FeatureRegistryPacket) == 48, "size of FeatureRegistryPacket should be 72 or 48(default)");
|
||||
// static_assert(sizeof(MotionPredictionHintsPacket) == 0x48 || sizeof(MotionPredictionHintsPacket) == 48, "size of MotionPredictionHintsPacket should be 72 or 48(default)");
|
||||
// static_assert(sizeof(AnimateEntityPacket) == 0xD8 || sizeof(AnimateEntityPacket) == 48, "size of AnimateEntityPacket should be 216 or 48(default)");
|
||||
// static_assert(sizeof(CameraShakePacket) == 0x40 || sizeof(CameraShakePacket) == 48, "size of CameraShakePacket should be 64 or 48(default)");
|
||||
// static_assert(sizeof(PlayerFogPacket) == 0x48 || sizeof(PlayerFogPacket) == 48, "size of PlayerFogPacket should be 72 or 48(default)");
|
||||
// static_assert(sizeof(CorrectPlayerMovePredictionPacket) == 0x58 || sizeof(CorrectPlayerMovePredictionPacket) == 48, "size of CorrectPlayerMovePredictionPacket should be 88 or 48(default)");
|
||||
// static_assert(sizeof(ItemComponentPacket) == 0x48 || sizeof(ItemComponentPacket) == 48, "size of ItemComponentPacket should be 72 or 48(default)");
|
||||
// static_assert(sizeof(FilterTextPacket) == 0x58 || sizeof(FilterTextPacket) == 48, "size of FilterTextPacket should be 88 or 48(default)");
|
||||
// static_assert(sizeof(ClientboundDebugRendererPacket) == 0x88 || sizeof(ClientboundDebugRendererPacket) == 48, "size of ClientboundDebugRendererPacket should be 136 or 48(default)");
|
||||
// static_assert(sizeof(SyncActorPropertyPacket) == 0x48 || sizeof(SyncActorPropertyPacket) == 48, "size of SyncActorPropertyPacket should be 72 or 48(default)");
|
||||
// static_assert(sizeof(AddVolumeEntityPacket) == 0x120 || sizeof(AddVolumeEntityPacket) == 48, "size of AddVolumeEntityPacket should be 288 or 48(default)");
|
||||
// static_assert(sizeof(RemoveVolumeEntityPacket) == 0x40 || sizeof(RemoveVolumeEntityPacket) == 48, "size of RemoveVolumeEntityPacket should be 64 or 48(default)");
|
||||
// static_assert(sizeof(SimulationTypePacket) == 0x38 || sizeof(SimulationTypePacket) == 48, "size of SimulationTypePacket should be 56 or 48(default)");
|
||||
// static_assert(sizeof(NpcDialoguePacket) == 0xC0 || sizeof(NpcDialoguePacket) == 48, "size of NpcDialoguePacket should be 192 or 48(default)");
|
||||
// static_assert(sizeof(EduUriResourcePacket) == 0x70 || sizeof(EduUriResourcePacket) == 48, "size of EduUriResourcePacket should be 112 or 48(default)");
|
||||
// static_assert(sizeof(CreatePhotoPacket) == 0x78 || sizeof(CreatePhotoPacket) == 48, "size of CreatePhotoPacket should be 120 or 48(default)");
|
||||
// static_assert(sizeof(UpdateSubChunkBlocksPacket) == 0x70 || sizeof(UpdateSubChunkBlocksPacket) == 48, "size of UpdateSubChunkBlocksPacket should be 112 or 48(default)");
|
||||
// static_assert(sizeof(SubChunkPacket) == 0x60 || sizeof(SubChunkPacket) == 48, "size of SubChunkPacket should be 96 or 48(default)");
|
||||
// static_assert(sizeof(SubChunkRequestPacket) == 0x80 || sizeof(SubChunkRequestPacket) == 48, "size of SubChunkRequestPacket should be 128 or 48(default)");
|
||||
// static_assert(sizeof(PlayerStartItemCooldownPacket) == 0x58 || sizeof(PlayerStartItemCooldownPacket) == 48, "size of PlayerStartItemCooldownPacket should be 88 or 48(default)");
|
||||
// static_assert(sizeof(ScriptMessagePacket) == 0x70 || sizeof(ScriptMessagePacket) == 48, "size of ScriptMessagePacket should be 112 or 48(default)");
|
||||
// static_assert(sizeof(CodeBuilderSourcePacket) == 0x58 || sizeof(CodeBuilderSourcePacket) == 48, "size of CodeBuilderSourcePacket should be 88 or 48(default)");
|
||||
// static_assert(sizeof(TickingAreasLoadStatusPacket) == 0x38 || sizeof(TickingAreasLoadStatusPacket) == 48, "size of TickingAreasLoadStatusPacket should be 56 or 48(default)");
|
||||
// static_assert(sizeof(DimensionDataPacket) == 0x40 || sizeof(DimensionDataPacket) == 48, "size of DimensionDataPacket should be 64 or 48(default)");
|
||||
// static_assert(sizeof(AgentActionEventPacket) == 0x68 || sizeof(AgentActionEventPacket) == 48, "size of AgentActionEventPacket should be 104 or 48(default)");
|
||||
// static_assert(sizeof(ChangeMobPropertyPacket) == 0x88 || sizeof(ChangeMobPropertyPacket) == 48, "size of ChangeMobPropertyPacket should be 136 or 48(default)");
|
||||
// static_assert(sizeof(LessonProgressPacket) == 0x58 || sizeof(LessonProgressPacket) == 48, "size of LessonProgressPacket should be 88 or 48(default)");
|
||||
// static_assert(sizeof(RequestAbilityPacket) == 0x40 || sizeof(RequestAbilityPacket) == 48, "size of RequestAbilityPacket should be 64 or 48(default)");
|
||||
// static_assert(sizeof(RequestPermissionsPacket) == 0x40 || sizeof(RequestPermissionsPacket) == 48, "size of RequestPermissionsPacket should be 64 or 48(default)");
|
||||
// static_assert(sizeof(ToastRequestPacket) == 0x70 || sizeof(ToastRequestPacket) == 48, "size of ToastRequestPacket should be 112 or 48(default)");
|
||||
// static_assert(sizeof(UpdateAbilitiesPacket) == 0x58 || sizeof(UpdateAbilitiesPacket) == 48, "size of UpdateAbilitiesPacket should be 88 or 48(default)");
|
||||
// static_assert(sizeof(UpdateAdventureSettingsPacket) == 0x38 || sizeof(UpdateAdventureSettingsPacket) == 48, "size of UpdateAdventureSettingsPacket should be 56 or 48(default)");
|
||||
// static_assert(sizeof(DeathInfoPacket) == 0x68 || sizeof(DeathInfoPacket) == 48, "size of DeathInfoPacket should be 104 or 48(default)");
|
||||
// static_assert(sizeof(EditorNetworkPacket) == 0x48 || sizeof(EditorNetworkPacket) == 48, "size of EditorNetworkPacket should be 72 or 48(default)");
|
||||
// static_assert(sizeof(FeatureRegistryPacket) == 0x48 || sizeof(FeatureRegistryPacket) == 48, "size of FeatureRegistryPacket should be 72 or 48(default)");
|
||||
|
||||
#endif // SIZE_STATIC_ASSERT_IF_DEFINE
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include <MC/ReadOnlyBinaryStream.hpp>
|
||||
#include <MC/CompoundTag.hpp>
|
||||
#include <MC/NbtIo.hpp>
|
||||
|
||||
std::string const& ReadOnlyBinaryStream::getData() const {
|
||||
return *pBuf;
|
||||
@ -25,12 +26,21 @@ void ReadOnlyBinaryStream::setReadPointer(std::size_t size) {
|
||||
readPointer = len;
|
||||
}
|
||||
|
||||
struct IDataInput{
|
||||
void* pVT;
|
||||
ReadOnlyBinaryStream* pReadOnlyBinaryStream;
|
||||
};
|
||||
|
||||
std::unique_ptr<class CompoundTag> ReadOnlyBinaryStream::getCompoundTag() {
|
||||
auto tag = CompoundTag::create();
|
||||
class CompoundTag& (*rv)(class CompoundTag&, class ReadOnlyBinaryStream&);
|
||||
*((void**)&rv) = dlsym("?read@?$serialize@VCompoundTag@@@@SA?AVCompoundTag@@AEAVReadOnlyBinaryStream@@@Z");
|
||||
(*rv)(*tag, *this);
|
||||
return std::move(tag);
|
||||
// auto tag = CompoundTag::create();
|
||||
// class CompoundTag& (*rv)(class CompoundTag&, class ReadOnlyBinaryStream&);
|
||||
// *((void**)&rv) = dlsym("?read@?$serialize@VCompoundTag@@@@SA?AVCompoundTag@@AEAVReadOnlyBinaryStream@@@Z");
|
||||
// (*rv)(*tag, *this);
|
||||
IDataInput pVTVarIntDataInput;
|
||||
pVTVarIntDataInput.pVT = dlsym("??_7VarIntDataInput@@6B@");
|
||||
pVTVarIntDataInput.pReadOnlyBinaryStream = this;
|
||||
return std::move(NbtIo::read(pVTVarIntDataInput));
|
||||
|
||||
}
|
||||
|
||||
// static_assert(offsetof(ReadOnlyBinaryStream, pBuf) == 56);
|
@ -24,4 +24,9 @@ bool Objective::setDisplay(const std::string& slotName, ObjectiveSortOrder sort)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
std::string Objective::getName(){
|
||||
//ScoreboardCommand::applyPlayerOperation Line186
|
||||
return dAccess<std::string&>(this, 64);
|
||||
};
|
@ -1,110 +1,110 @@
|
||||
#include <Global.h>
|
||||
#include <MC/SimulatedPlayer.hpp>
|
||||
#include <MC/BlockInstance.hpp>
|
||||
#include <MC/ServerNetworkHandler.hpp>
|
||||
#include <MC/Minecraft.hpp>
|
||||
#include <MC/StackResultStorageEntity.hpp>
|
||||
#include <MC/OwnerStorageEntity.hpp>
|
||||
#include <MC/Level.hpp>
|
||||
// #include <Global.h>
|
||||
// #include <MC/SimulatedPlayer.hpp>
|
||||
// #include <MC/BlockInstance.hpp>
|
||||
// #include <MC/ServerNetworkHandler.hpp>
|
||||
// #include <MC/Minecraft.hpp>
|
||||
// #include <MC/StackResultStorageEntity.hpp>
|
||||
// #include <MC/OwnerStorageEntity.hpp>
|
||||
// #include <MC/Level.hpp>
|
||||
|
||||
// static_assert(sizeof(ScriptNavigationResult) == 32);
|
||||
// // static_assert(sizeof(ScriptNavigationResult) == 32);
|
||||
|
||||
// For compatibility
|
||||
bool SimulatedPlayer::simulateDestory() {
|
||||
return SimulatedPlayer::simulateDestroy();
|
||||
}
|
||||
// // For compatibility
|
||||
// bool SimulatedPlayer::simulateDestory() {
|
||||
// return SimulatedPlayer::simulateDestroy();
|
||||
// }
|
||||
|
||||
bool SimulatedPlayer::simulateDestroy() {
|
||||
FaceID face = FaceID::Unknown;
|
||||
auto blockIns = getBlockFromViewVector(face);
|
||||
if (blockIns.isNull())
|
||||
return false;
|
||||
return simulateDestroyBlock(blockIns.getPosition(), (ScriptModuleMinecraft::ScriptFacing)face);
|
||||
}
|
||||
// bool SimulatedPlayer::simulateDestroy() {
|
||||
// FaceID face = FaceID::Unknown;
|
||||
// auto blockIns = getBlockFromViewVector(face);
|
||||
// if (blockIns.isNull())
|
||||
// return false;
|
||||
// return simulateDestroyBlock(blockIns.getPosition(), (ScriptModuleMinecraft::ScriptFacing)face);
|
||||
// }
|
||||
|
||||
bool SimulatedPlayer::simulateUseItem() {
|
||||
auto slot = getSelectedItemSlot();
|
||||
return simulateUseItemInSlot(slot);
|
||||
}
|
||||
// bool SimulatedPlayer::simulateUseItem() {
|
||||
// auto slot = getSelectedItemSlot();
|
||||
// return simulateUseItemInSlot(slot);
|
||||
// }
|
||||
|
||||
bool SimulatedPlayer::simulateSneak() {
|
||||
setSneaking(true);
|
||||
return isSneaking();
|
||||
}
|
||||
// bool SimulatedPlayer::simulateSneak() {
|
||||
// setSneaking(true);
|
||||
// return isSneaking();
|
||||
// }
|
||||
|
||||
bool SimulatedPlayer::simulateStopSneaking() {
|
||||
setSneaking(false);
|
||||
return !isSneaking();
|
||||
}
|
||||
// bool SimulatedPlayer::simulateStopSneaking() {
|
||||
// setSneaking(false);
|
||||
// return !isSneaking();
|
||||
// }
|
||||
|
||||
template <>
|
||||
class OwnerPtrT<struct EntityRefTraits> {
|
||||
char filler[24];
|
||||
// template <>
|
||||
// class OwnerPtrT<struct EntityRefTraits> {
|
||||
// char filler[24];
|
||||
|
||||
public:
|
||||
MCAPI ~OwnerPtrT();
|
||||
// public:
|
||||
// MCAPI ~OwnerPtrT();
|
||||
|
||||
inline OwnerPtrT(OwnerPtrT&& right) noexcept {
|
||||
void (OwnerPtrT::*rv)(OwnerPtrT && right);
|
||||
*((void**)&rv) = dlsym("??0OwnerStorageEntity@@IEAA@$$QEAV0@@Z");
|
||||
(this->*rv)(std::move(right));
|
||||
}
|
||||
inline OwnerPtrT& operator=(OwnerPtrT&& right) noexcept {
|
||||
void (OwnerPtrT::*rv)(OwnerPtrT && right);
|
||||
*((void**)&rv) = dlsym("??4OwnerStorageEntity@@IEAAAEAV0@$$QEAV0@@Z");
|
||||
(this->*rv)(std::move(right));
|
||||
}
|
||||
// inline OwnerPtrT(OwnerPtrT&& right) noexcept {
|
||||
// void (OwnerPtrT::*rv)(OwnerPtrT && right);
|
||||
// *((void**)&rv) = dlsym("??0OwnerStorageEntity@@IEAA@$$QEAV0@@Z");
|
||||
// (this->*rv)(std::move(right));
|
||||
// }
|
||||
// inline OwnerPtrT& operator=(OwnerPtrT&& right) noexcept {
|
||||
// void (OwnerPtrT::*rv)(OwnerPtrT && right);
|
||||
// *((void**)&rv) = dlsym("??4OwnerStorageEntity@@IEAAAEAV0@$$QEAV0@@Z");
|
||||
// (this->*rv)(std::move(right));
|
||||
// }
|
||||
|
||||
inline SimulatedPlayer* tryGetSimulatedPlayer(bool b = false) {
|
||||
auto& context = dAccess<StackResultStorageEntity, 0>(this).getStackRef();
|
||||
return SimulatedPlayer::tryGetFromEntity(context, b);
|
||||
}
|
||||
// inline SimulatedPlayer* tryGetSimulatedPlayer(bool b = false) {
|
||||
// auto& context = dAccess<StackResultStorageEntity, 0>(this).getStackRef();
|
||||
// return SimulatedPlayer::tryGetFromEntity(context, b);
|
||||
// }
|
||||
|
||||
inline bool hasValue() const {
|
||||
if (!this)
|
||||
return false;
|
||||
return dAccess<bool, 16>(this);
|
||||
}
|
||||
// inline bool isValid()
|
||||
};
|
||||
// inline bool hasValue() const {
|
||||
// if (!this)
|
||||
// return false;
|
||||
// return dAccess<bool, 16>(this);
|
||||
// }
|
||||
// // inline bool isValid()
|
||||
// };
|
||||
|
||||
class SimulatedPlayer* SimulatedPlayer::create(std::string const& name, class BlockPos const& position, class AutomaticID<class Dimension, int> dimensionId) {
|
||||
// auto handler = Global<Minecraft>->getServerNetworkHandler();
|
||||
// return create(name, position, dimensionId, Global<Minecraft>->getServerNetworkHandler());
|
||||
OwnerPtrT<EntityRefTraits> ownerPtr = Global<ServerNetworkHandler>->createSimulatedPlayer(name, dimensionId, "");
|
||||
auto player = ownerPtr.tryGetSimulatedPlayer();
|
||||
// class SimulatedPlayer* SimulatedPlayer::create(std::string const& name, class BlockPos const& position, class AutomaticID<class Dimension, int> dimensionId) {
|
||||
// // auto handler = Global<Minecraft>->getServerNetworkHandler();
|
||||
// // return create(name, position, dimensionId, Global<Minecraft>->getServerNetworkHandler());
|
||||
// OwnerPtrT<EntityRefTraits> ownerPtr = Global<ServerNetworkHandler>->createSimulatedPlayer(name, dimensionId, "");
|
||||
// auto player = ownerPtr.tryGetSimulatedPlayer();
|
||||
|
||||
if (player /* && player->isSimulatedPlayer() */) {
|
||||
player->postLoad(/* isNewPlayer */ true);
|
||||
Level& level = player->getLevel();
|
||||
level.addUser(std::move(ownerPtr));
|
||||
auto pos = position.bottomCenter();
|
||||
pos.y = pos.y + 1.62001f;
|
||||
player->setPos(pos);
|
||||
player->setRespawnReady(pos);
|
||||
player->setSpawnBlockRespawnPosition(position, dimensionId);
|
||||
player->setLocalPlayerAsInitialized();
|
||||
player->doInitialSpawn();
|
||||
}
|
||||
return player;
|
||||
}
|
||||
// if (player /* && player->isSimulatedPlayer() */) {
|
||||
// player->postLoad(/* isNewPlayer */ true);
|
||||
// Level& level = player->getLevel();
|
||||
// level.addUser(std::move(ownerPtr));
|
||||
// auto pos = position.bottomCenter();
|
||||
// pos.y = pos.y + 1.62001f;
|
||||
// player->setPos(pos);
|
||||
// player->setRespawnReady(pos);
|
||||
// player->setSpawnBlockRespawnPosition(position, dimensionId);
|
||||
// player->setLocalPlayerAsInitialized();
|
||||
// player->doInitialSpawn();
|
||||
// }
|
||||
// return player;
|
||||
// }
|
||||
|
||||
|
||||
class SimulatedPlayer* SimulatedPlayer::create(std::string const& name, class AutomaticID<class Dimension, int> dimensionId) {
|
||||
OwnerPtrT<EntityRefTraits> ownerPtr = Global<ServerNetworkHandler>->createSimulatedPlayer(name, dimensionId, "");
|
||||
auto player = ownerPtr.tryGetSimulatedPlayer();
|
||||
// class SimulatedPlayer* SimulatedPlayer::create(std::string const& name, class AutomaticID<class Dimension, int> dimensionId) {
|
||||
// OwnerPtrT<EntityRefTraits> ownerPtr = Global<ServerNetworkHandler>->createSimulatedPlayer(name, dimensionId, "");
|
||||
// auto player = ownerPtr.tryGetSimulatedPlayer();
|
||||
|
||||
if (player /* && player->isSimulatedPlayer() */) {
|
||||
player->postLoad(/* isNewPlayer */ true);
|
||||
Level& level = player->getLevel();
|
||||
level.addUser(std::move(ownerPtr));
|
||||
// auto pos = bpos.bottomCenter();
|
||||
// pos.y = pos.y + 1.62001;
|
||||
// player->setPos(pos);
|
||||
// player->setRespawnReady(pos);
|
||||
// player->setSpawnBlockRespawnPosition(bpos, dimId);
|
||||
player->setLocalPlayerAsInitialized();
|
||||
player->doInitialSpawn();
|
||||
}
|
||||
return player;
|
||||
}
|
||||
// if (player /* && player->isSimulatedPlayer() */) {
|
||||
// player->postLoad(/* isNewPlayer */ true);
|
||||
// Level& level = player->getLevel();
|
||||
// level.addUser(std::move(ownerPtr));
|
||||
// // auto pos = bpos.bottomCenter();
|
||||
// // pos.y = pos.y + 1.62001;
|
||||
// // player->setPos(pos);
|
||||
// // player->setRespawnReady(pos);
|
||||
// // player->setSpawnBlockRespawnPosition(bpos, dimId);
|
||||
// player->setLocalPlayerAsInitialized();
|
||||
// player->doInitialSpawn();
|
||||
// }
|
||||
// return player;
|
||||
// }
|
||||
|
Loading…
Reference in New Issue
Block a user