# R~3

# RakNet::Replica3

struct __cppobj __declspec(align(8)) RakNet::Replica3 : RakNet::NetworkIDObject
{
  RakNet::RakNetGUID creatingSystemGUID;
  RakNet::RakNetGUID deletingSystemGUID;
  RakNet::ReplicaManager3 *replicaManager;
  RakNet::LastSerializationResultBS lastSentSerialization;
  bool forceSendUntilNextUpdate;
  RakNet::LastSerializationResult *lsr;
  unsigned int referenceIndex;
};

# RakNet::ReplicaManager3

struct __cppobj RakNet::ReplicaManager3 : RakNet::PluginInterface2
{
  RakNet::PRO defaultSendParameters;
  unsigned __int64 autoSerializeInterval;
  unsigned __int64 lastAutoSerializeOccurance;
  bool autoCreateConnections;
  bool autoDestroyConnections;
  RakNet::Replica3 *currentlyDeallocatingReplica;
  unsigned int nextReferenceIndex;
  RakNet::ReplicaManager3::RM3World *worldsArray[255];
  DataStructures::List<RakNet::ReplicaManager3::RM3World *> worldsList;
};

# RakNet::PRO

struct RakNet::PRO
{
  PacketPriority priority;
  PacketReliability reliability;
  char orderingChannel;
  unsigned int sendReceipt;
};

# RakNet::SerializeParameters

struct __cppobj RakNet::SerializeParameters
{
  RakNet::BitStream outputBitstream[16];
  RakNet::BitStream *lastSentBitstream[16];
  unsigned __int64 messageTimestamp;
  RakNet::PRO pro[16];
  RakNet::Connection_RM3 *destinationConnection;
  unsigned int bitsWrittenSoFar;
  unsigned __int64 whenLastSerialized;
  unsigned __int64 curTime;
};

# RakNet::DeserializeParameters

struct __cppobj RakNet::DeserializeParameters
{
  RakNet::BitStream serializationBitstream[16];
  bool bitstreamWrittenTo[16];
  unsigned __int64 timeStamp;
  RakNet::Connection_RM3 *sourceConnection;
};

# RakNet::LastSerializationResultBS

struct __cppobj RakNet::LastSerializationResultBS
{
  RakNet::BitStream bitStream[16];
  bool indicesToSend[16];
};

# RakNet::LastSerializationResult

struct __cppobj RakNet::LastSerializationResult
{
  RakNet::Replica3 *replica;
  unsigned __int64 whenLastSerialized;
  RakNet::LastSerializationResultBS *lastSerializationResultBS;
};

# RakNet::Replica3_vtbl

struct /*VFT*/ RakNet::Replica3_vtbl
{
  void (__fastcall *~NetworkIDObject)(RakNet::NetworkIDObject *this);
  void (__fastcall *SetNetworkIDManager)(RakNet::NetworkIDObject *this, RakNet::NetworkIDManager *);
  RakNet::NetworkIDManager *(__fastcall *GetNetworkIDManager)(RakNet::NetworkIDObject *this);
  unsigned __int64 (__fastcall *GetNetworkID)(RakNet::NetworkIDObject *this);
  void (__fastcall *SetNetworkID)(RakNet::NetworkIDObject *this, unsigned __int64);
  void (__fastcall *SetParent)(RakNet::NetworkIDObject *this, void *);
  void *(__fastcall *GetParent)(RakNet::NetworkIDObject *this);
  void (__fastcall *WriteAllocationID)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, RakNet::BitStream *);
  RakNet::RM3ConstructionState (__fastcall *QueryConstruction)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, RakNet::ReplicaManager3 *);
  RakNet::RM3DestructionState (__fastcall *QueryDestruction)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, RakNet::ReplicaManager3 *);
  bool (__fastcall *QueryRemoteConstruction)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  bool (__fastcall *QueryRelayDestruction)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  void (__fastcall *SerializeConstruction)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  bool (__fastcall *DeserializeConstruction)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  void (__fastcall *SerializeConstructionExisting)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  void (__fastcall *DeserializeConstructionExisting)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  void (__fastcall *SerializeDestruction)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  bool (__fastcall *DeserializeDestruction)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  RakNet::RM3ActionOnPopConnection (__fastcall *QueryActionOnPopConnection)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  void (__fastcall *OnPoppedConnection)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  void (__fastcall *DeallocReplica)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  RakNet::RM3QuerySerializationResult (__fastcall *QuerySerialization)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  void (__fastcall *OnUserReplicaPreSerializeTick)(RakNet::Replica3 *this);
  RakNet::RM3SerializationResult (__fastcall *Serialize)(RakNet::Replica3 *this, RakNet::SerializeParameters *);
  void (__fastcall *OnSerializeTransmission)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *, unsigned int *, unsigned __int64);
  void (__fastcall *Deserialize)(RakNet::Replica3 *this, RakNet::DeserializeParameters *);
  void (__fastcall *PostSerializeConstruction)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  void (__fastcall *PostDeserializeConstruction)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  void (__fastcall *PostSerializeConstructionExisting)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  void (__fastcall *PostDeserializeConstructionExisting)(RakNet::Replica3 *this, RakNet::BitStream *, RakNet::Connection_RM3 *);
  void (__fastcall *PreDestruction)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  RakNet::RM3ConstructionState (__fastcall *QueryConstruction_ClientConstruction)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, bool);
  bool (__fastcall *QueryRemoteConstruction_ClientConstruction)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, bool);
  RakNet::RM3ConstructionState (__fastcall *QueryConstruction_ServerConstruction)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, bool);
  bool (__fastcall *QueryRemoteConstruction_ServerConstruction)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, bool);
  RakNet::RM3ConstructionState (__fastcall *QueryConstruction_PeerToPeer)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, RakNet::Replica3P2PMode);
  bool (__fastcall *QueryRemoteConstruction_PeerToPeer)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  RakNet::RM3QuerySerializationResult (__fastcall *QuerySerialization_ClientSerializable)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, bool);
  RakNet::RM3QuerySerializationResult (__fastcall *QuerySerialization_ServerSerializable)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, bool);
  RakNet::RM3QuerySerializationResult (__fastcall *QuerySerialization_PeerToPeer)(RakNet::Replica3 *this, RakNet::Connection_RM3 *, RakNet::Replica3P2PMode);
  RakNet::RM3ActionOnPopConnection (__fastcall *QueryActionOnPopConnection_Client)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  RakNet::RM3ActionOnPopConnection (__fastcall *QueryActionOnPopConnection_Server)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  RakNet::RM3ActionOnPopConnection (__fastcall *QueryActionOnPopConnection_PeerToPeer)(RakNet::Replica3 *this, RakNet::Connection_RM3 *);
  void (__fastcall *BroadcastDestruction)(RakNet::Replica3 *this);
};

# RakNet::Connection_RM3_vtbl

struct /*VFT*/ RakNet::Connection_RM3_vtbl
{
  void (__fastcall *~Connection_RM3)(RakNet::Connection_RM3 *this);
  RakNet::Replica3 *(__fastcall *AllocReplica)(RakNet::Connection_RM3 *this, RakNet::BitStream *, RakNet::ReplicaManager3 *);
  void (__fastcall *GetConstructedReplicas)(RakNet::Connection_RM3 *this, DataStructures::List<RakNet::Replica3 *> *);
  void (__fastcall *SerializeOnDownloadStarted)(RakNet::Connection_RM3 *this, RakNet::BitStream *);
  void (__fastcall *DeserializeOnDownloadStarted)(RakNet::Connection_RM3 *this, RakNet::BitStream *);
  void (__fastcall *SerializeOnDownloadComplete)(RakNet::Connection_RM3 *this, RakNet::BitStream *);
  void (__fastcall *DeserializeOnDownloadComplete)(RakNet::Connection_RM3 *this, RakNet::BitStream *);
  bool (__fastcall *QueryGroupDownloadMessages)(RakNet::Connection_RM3 *this);
  RakNet::Connection_RM3::ConstructionMode (__fastcall *QueryConstructionMode)(RakNet::Connection_RM3 *this);
  void (__fastcall *QueryReplicaList)(RakNet::Connection_RM3 *this, DataStructures::List<RakNet::Replica3 *> *, DataStructures::List<RakNet::Replica3 *> *);
  bool (__fastcall *QuerySerializationList)(RakNet::Connection_RM3 *this, DataStructures::List<RakNet::Replica3 *> *);
  RakNet::SendSerializeIfChangedResult (__fastcall *SendSerialize)(RakNet::Connection_RM3 *this, RakNet::Replica3 *, bool *, RakNet::BitStream *, unsigned __int64, RakNet::PRO *, RakNet::RakPeerInterface *, unsigned __int8, unsigned __int64);
  RakNet::SendSerializeIfChangedResult (__fastcall *SendSerializeIfChanged)(RakNet::Connection_RM3 *this, RakNet::LastSerializationResult *, RakNet::SerializeParameters *, RakNet::RakPeerInterface *, unsigned __int8, RakNet::ReplicaManager3 *, unsigned __int64);
  void (__fastcall *SendConstruction)(RakNet::Connection_RM3 *this, DataStructures::List<RakNet::Replica3 *> *, DataStructures::List<RakNet::Replica3 *> *, RakNet::PRO, RakNet::RakPeerInterface *, unsigned __int8, RakNet::ReplicaManager3 *);
};

# RakNet::ReplicaManager3::RM3World

struct __cppobj RakNet::ReplicaManager3::RM3World
{
  DataStructures::List<RakNet::Connection_RM3 *> connectionList;
  DataStructures::List<RakNet::Replica3 *> userReplicaList;
  unsigned __int8 worldId;
  RakNet::NetworkIDManager *networkIDManager;
};

# RakNet::ReplicaManager3_vtbl

struct /*VFT*/ RakNet::ReplicaManager3_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  RakNet::Connection_RM3 *(__fastcall *AllocConnection)(RakNet::ReplicaManager3 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID);
  void (__fastcall *DeallocConnection)(RakNet::ReplicaManager3 *this, RakNet::Connection_RM3 *);
};

# RakNet::UDPForwarder

struct __cppobj __declspec(align(8)) RakNet::UDPForwarder
{
  RakNet::UDPForwarder_vtbl *__vftable /*VFT*/;
  DataStructures::ThreadsafeAllocatingQueue<RakNet::UDPForwarder::StartForwardingInputStruct> startForwardingInput;
  DataStructures::Queue<RakNet::UDPForwarder::StartForwardingOutputStruct> startForwardingOutput;
  RakNet::SimpleMutex startForwardingOutputMutex;
  DataStructures::ThreadsafeAllocatingQueue<RakNet::UDPForwarder::StopForwardingStruct> stopForwardingCommands;
  unsigned int nextInputId;
  DataStructures::List<RakNet::UDPForwarder::ForwardEntry *> forwardListNotUpdated;
  unsigned __int16 maxForwardEntries;
  RakNet::LocklessUint32_t isRunning;
  RakNet::LocklessUint32_t threadRunning;
};

# RakNet::UDPForwarder_vtbl

struct /*VFT*/ RakNet::UDPForwarder_vtbl
{
  void (__fastcall *~UDPForwarder)(RakNet::UDPForwarder *this);
};

# RakNet::UDPForwarder::StartForwardingInputStruct

struct __cppobj RakNet::UDPForwarder::StartForwardingInputStruct
{
  RakNet::SystemAddress source;
  RakNet::SystemAddress destination;
  unsigned int timeoutOnNoDataMS;
  RakNet::RakString forceHostAddress;
  unsigned __int16 socketFamily;
  unsigned int inputId;
};

# RakNet::UDPForwarder::StartForwardingOutputStruct

struct RakNet::UDPForwarder::StartForwardingOutputStruct
{
  unsigned __int16 forwardingPort;
  unsigned __int64 forwardingSocket;
  RakNet::UDPForwarderResult result;
  unsigned int inputId;
};

# RakNet::UDPForwarder::StopForwardingStruct

struct __cppobj RakNet::UDPForwarder::StopForwardingStruct
{
  RakNet::SystemAddress source;
  RakNet::SystemAddress destination;
};

# RakNet::UDPForwarder::ForwardEntry

struct __cppobj __declspec(align(4)) RakNet::UDPForwarder::ForwardEntry
{
  RakNet::SystemAddress addr1Unconfirmed;
  RakNet::SystemAddress addr2Unconfirmed;
  RakNet::SystemAddress addr1Confirmed;
  RakNet::SystemAddress addr2Confirmed;
  unsigned int timeLastDatagramForwarded;
  unsigned __int64 socket;
  unsigned int timeoutOnNoDataMS;
  __int16 socketFamily;
};

# RakNet::Router2::ConnectionRequestSystem

struct __cppobj __declspec(align(4)) RakNet::Router2::ConnectionRequestSystem
{
  RakNet::RakNetGUID guid;
  int pingToEndpoint;
  unsigned __int16 usedForwardingEntries;
};

# RakNet::Router2::ConnnectRequest

struct __cppobj __declspec(align(8)) RakNet::Router2::ConnnectRequest
{
  DataStructures::List<RakNet::Router2::ConnectionRequestSystem> connectionRequestSystems;
  RakNet::SimpleMutex connectionRequestSystemsMutex;
  RakNet::Router2::Router2RequestStates requestState;
  unsigned int pingTimeout;
  RakNet::RakNetGUID endpointGuid;
  RakNet::RakNetGUID lastRequestedForwardingSystem;
  bool returnConnectionLostOnFailure;
};

# RakNet::Router2::MiniPunchRequest

struct __cppobj RakNet::Router2::MiniPunchRequest
{
  RakNet::RakNetGUID endpointGuid;
  RakNet::SystemAddress endpointAddress;
  bool gotReplyFromEndpoint;
  RakNet::RakNetGUID sourceGuid;
  RakNet::SystemAddress sourceAddress;
  bool gotReplyFromSource;
  unsigned int timeout;
  unsigned int nextAction;
  unsigned __int16 forwardingPort;
  unsigned __int64 forwardingSocket;
};

# RakNet::Router2::ForwardedConnection

struct __cppobj __declspec(align(8)) RakNet::Router2::ForwardedConnection
{
  RakNet::RakNetGUID endpointGuid;
  RakNet::RakNetGUID intermediaryGuid;
  RakNet::SystemAddress intermediaryAddress;
  bool returnConnectionLostOnFailure;
  bool weInitiatedForwarding;
};

# RakNet::Router2DebugInterface

struct __cppobj RakNet::Router2DebugInterface
{
  RakNet::Router2DebugInterface_vtbl *__vftable /*VFT*/;
};

# RakNet::Router2DebugInterface_vtbl

struct /*VFT*/ RakNet::Router2DebugInterface_vtbl
{
  void (__fastcall *~Router2DebugInterface)(RakNet::Router2DebugInterface *this);
  void (__fastcall *ShowFailure)(RakNet::Router2DebugInterface *this, const char *);
  void (__fastcall *ShowDiagnostic)(RakNet::Router2DebugInterface *this, const char *);
};

# RakNet::Router2

struct __cppobj __declspec(align(8)) RakNet::Router2 : RakNet::PluginInterface2
{
  RakNet::UDPForwarder *udpForwarder;
  int maximumForwardingRequests;
  RakNet::SimpleMutex connectionRequestsMutex;
  RakNet::SimpleMutex miniPunchesInProgressMutex;
  RakNet::SimpleMutex forwardedConnectionListMutex;
  DataStructures::List<RakNet::Router2::ConnnectRequest *> connectionRequests;
  DataStructures::List<RakNet::Router2::MiniPunchRequest> miniPunchesInProgress;
  DataStructures::List<RakNet::Router2::ForwardedConnection> forwardedConnectionList;
  RakNet::Router2DebugInterface *debugInterface;
  unsigned __int16 socketFamily;
};

# RakNet::Router2_vtbl

struct /*VFT*/ RakNet::Router2_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::RPC4GlobalRegistration

struct __cppobj RakNet::RPC4GlobalRegistration
{
};

# RakNet::RelayPlugin::StrAndGuidAndRoom

struct __cppobj RakNet::RelayPlugin::StrAndGuidAndRoom
{
  RakNet::RakString str;
  RakNet::RakNetGUID guid;
  RakNet::RakString currentRoom;
};

# RakNet::RelayPlugin::StrAndGuid

struct __cppobj RakNet::RelayPlugin::StrAndGuid
{
  RakNet::RakString str;
  RakNet::RakNetGUID guid;
};

# RakNet::RelayPlugin::RP_Group

struct __cppobj RakNet::RelayPlugin::RP_Group
{
  RakNet::RakString roomName;
  DataStructures::List<RakNet::RelayPlugin::StrAndGuid> usersInRoom;
};

# RakNet::RelayPlugin

struct __cppobj __declspec(align(8)) RakNet::RelayPlugin : RakNet::PluginInterface2
{
  DataStructures::Hash<RakNet::RakString,RakNet::RelayPlugin::StrAndGuidAndRoom *,8096,&RakNet::RakString::ToInteger> strToGuidHash;
  DataStructures::Hash<RakNet::RakNetGUID,RakNet::RelayPlugin::StrAndGuidAndRoom *,8096,&RakNet::RakNetGUID::ToUint32> guidToStrHash;
  DataStructures::List<RakNet::RelayPlugin::RP_Group *> chatRooms;
  bool acceptAddParticipantRequests;
};

# RakNet::RelayPlugin_vtbl

struct /*VFT*/ RakNet::RelayPlugin_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::RPC4::LocalSlotObject

struct __cppobj RakNet::RPC4::LocalSlotObject
{
  unsigned int registrationCount;
  int callPriority;
  void (__fastcall *functionPointer)(RakNet::BitStream *, RakNet::Packet *);
};

# RakNet::RPC4::LocalSlot

struct __cppobj RakNet::RPC4::LocalSlot
{
  DataStructures::OrderedList<RakNet::RPC4::LocalSlotObject,RakNet::RPC4::LocalSlotObject,&RakNet::RPC4::LocalSlotObjectComp> slotObjects;
};

# RakNet::RPC4::LocalCallback

struct __cppobj RakNet::RPC4::LocalCallback
{
  unsigned __int8 messageId;
  DataStructures::OrderedList<RakNet::RakString,RakNet::RakString,&DataStructures::defaultOrderedListComparison<RakNet::RakString,RakNet::RakString> > functions;
};

# RakNet::RPC4

struct __cppobj __declspec(align(8)) RakNet::RPC4 : RakNet::PluginInterface2
{
  DataStructures::Hash<RakNet::RakString,RakNet::RPC4::LocalSlot *,256,&RakNet::RakString::ToInteger> localSlots;
  DataStructures::Hash<RakNet::RakString,void (__cdecl*)(RakNet::BitStream *,RakNet::Packet *),64,&RakNet::RakString::ToInteger> registeredNonblockingFunctions;
  DataStructures::Hash<RakNet::RakString,void (__cdecl*)(RakNet::BitStream *,RakNet::BitStream *,RakNet::Packet *),64,&RakNet::RakString::ToInteger> registeredBlockingFunctions;
  DataStructures::OrderedList<unsigned char,RakNet::RPC4::LocalCallback *,&RakNet::RPC4::LocalCallbackComp> localCallbacks;
  RakNet::BitStream blockingReturnValue;
  bool gotBlockingReturnValue;
  unsigned int nextSlotRegistrationCount;
  bool interruptSignal;
};

# RakNet::RPC4_vtbl

struct /*VFT*/ RakNet::RPC4_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::TableSerializer

struct __cppobj RakNet::TableSerializer
{
};

# RakNet::TelnetTransport::TelnetClient

struct __cppobj __declspec(align(8)) RakNet::TelnetTransport::TelnetClient
{
  RakNet::SystemAddress systemAddress;
  char textInput[2048];
  char lastSentTextInput[2048];
  unsigned int cursorPosition;
};

# RakNet::TelnetTransport

struct __cppobj RakNet::TelnetTransport : RakNet::TransportInterface
{
  RakNet::TCPInterface *tcpInterface;
  DataStructures::List<RakNet::TelnetTransport::TelnetClient *> remoteClients;
  char *sendSuffix;
  char *sendPrefix;
};

# RakNet::TelnetTransport_vtbl

struct /*VFT*/ RakNet::TelnetTransport_vtbl
{
  void (__fastcall *~TransportInterface)(RakNet::TransportInterface *this);
  bool (__fastcall *Start)(RakNet::TransportInterface *this, unsigned __int16, bool);
  void (__fastcall *Stop)(RakNet::TransportInterface *this);
  void (*Send)(RakNet::TransportInterface *this, RakNet::SystemAddress, const char *, ...);
  void (__fastcall *CloseConnection)(RakNet::TransportInterface *this, RakNet::SystemAddress);
  RakNet::Packet *(__fastcall *Receive)(RakNet::TransportInterface *this);
  void (__fastcall *DeallocatePacket)(RakNet::TransportInterface *this, RakNet::Packet *);
  RakNet::SystemAddress *(__fastcall *HasNewIncomingConnection)(RakNet::TransportInterface *this, RakNet::SystemAddress *result);
  RakNet::SystemAddress *(__fastcall *HasLostConnection)(RakNet::TransportInterface *this, RakNet::SystemAddress *result);
  RakNet::CommandParserInterface *(__fastcall *GetCommandParser)(RakNet::TransportInterface *this);
};

# RakNet::TM_Team

struct __cppobj RakNet::TM_Team
{
  RakNet::TM_Team_vtbl *__vftable /*VFT*/;
  unsigned __int64 ID;
  RakNet::TM_World *world;
  DataStructures::List<RakNet::TM_TeamMember *> teamMembers;
  unsigned __int8 joinPermissions;
  bool balancingApplies;
  unsigned __int16 teamMemberLimit;
  void *owner;
};

# RakNet::TM_Team_vtbl

struct /*VFT*/ RakNet::TM_Team_vtbl
{
  void (__fastcall *~TM_Team)(RakNet::TM_Team *this);
};

# RakNet::TM_World

struct __cppobj RakNet::TM_World
{
  RakNet::TM_World_vtbl *__vftable /*VFT*/;
  DataStructures::Hash<unsigned __int64,RakNet::TM_Team *,256,&RakNet::TM_Team::ToUint32> teamsHash;
  DataStructures::Hash<unsigned __int64,RakNet::TM_TeamMember *,256,&RakNet::TM_TeamMember::ToUint32> teamMembersHash;
  RakNet::TeamManager *teamManager;
  DataStructures::List<RakNet::RakNetGUID> participants;
  DataStructures::List<RakNet::TM_Team *> teams;
  DataStructures::List<RakNet::TM_TeamMember *> teamMembers;
  bool balanceTeamsIsActive;
  RakNet::RakNetGUID hostGuid;
  unsigned __int8 worldId;
  bool autoAddParticipants;
  int teamRequestIndex;
};

# RakNet::TM_World_vtbl

struct /*VFT*/ RakNet::TM_World_vtbl
{
  void (__fastcall *~TM_World)(RakNet::TM_World *this);
  void (__fastcall *OnClosedConnection)(RakNet::TM_World *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::TM_World *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
};

# RakNet::TM_TeamMember

struct __cppobj RakNet::TM_TeamMember
{
  RakNet::TM_TeamMember_vtbl *__vftable /*VFT*/;
  unsigned __int64 networkId;
  RakNet::TM_World *world;
  DataStructures::List<RakNet::TM_Team *> teams;
  unsigned __int8 noTeamSubcategory;
  DataStructures::List<RakNet::TM_TeamMember::RequestedTeam> teamsRequested;
  RakNet::JoinTeamType joinTeamType;
  DataStructures::List<RakNet::TM_Team *> lastTeams;
  unsigned __int64 whenJoinAnyRequested;
  unsigned int joinAnyRequestIndex;
  void *owner;
};

# RakNet::TM_TeamMember_vtbl

struct /*VFT*/ RakNet::TM_TeamMember_vtbl
{
  void (__fastcall *~TM_TeamMember)(RakNet::TM_TeamMember *this);
};

# RakNet::TM_TeamMember::RequestedTeam

struct RakNet::TM_TeamMember::RequestedTeam
{
  unsigned __int64 whenRequested;
  unsigned int requestIndex;
  RakNet::TM_Team *requested;
  bool isTeamSwitch;
  RakNet::TM_Team *teamToLeave;
};

# RakNet::TeamManager

struct __cppobj RakNet::TeamManager : RakNet::PluginInterface2
{
  RakNet::TM_World *worldsArray[255];
  DataStructures::List<RakNet::TM_World *> worldsList;
  bool autoAddParticipants;
  RakNet::TMTopology topology;
};

# RakNet::TeamManager_vtbl

struct /*VFT*/ RakNet::TeamManager_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::StatisticsHistory

struct __cppobj RakNet::StatisticsHistory
{
  RakNet::StatisticsHistory_vtbl *__vftable /*VFT*/;
  DataStructures::OrderedList<unsigned __int64,RakNet::StatisticsHistory::TrackedObject *,&RakNet::StatisticsHistory::TrackedObjectComp> objects;
  unsigned __int64 timeToTrack;
};

# RakNet::StatisticsHistory_vtbl

struct /*VFT*/ RakNet::StatisticsHistory_vtbl
{
  void (__fastcall *~StatisticsHistory)(RakNet::StatisticsHistory *this);
};

# RakNet::StatisticsHistory::TrackedObjectData

struct __cppobj RakNet::StatisticsHistory::TrackedObjectData
{
  unsigned __int64 objectId;
  int objectType;
  void *userData;
};

# RakNet::StatisticsHistory::TimeAndValue

struct RakNet::StatisticsHistory::TimeAndValue
{
  unsigned __int64 time;
  long double val;
};

# RakNet::StatisticsHistory::TimeAndValueQueue

struct __cppobj RakNet::StatisticsHistory::TimeAndValueQueue
{
  DataStructures::Queue<RakNet::StatisticsHistory::TimeAndValue> values;
  unsigned __int64 timeToTrackValues;
  RakNet::RakString key;
  long double recentSum;
  long double recentSumOfSquares;
  long double longTermSum;
  long double longTermCount;
  long double longTermLowest;
  long double longTermHighest;
  long double sortValue;
};

# RakNet::StatisticsHistory::TrackedObject

struct __cppobj RakNet::StatisticsHistory::TrackedObject
{
  RakNet::StatisticsHistory::TrackedObjectData trackedObjectData;
  DataStructures::Hash<RakNet::RakString,RakNet::StatisticsHistory::TimeAndValueQueue *,32,&RakNet::RakString::ToInteger> dataQueues;
};

# RakNet::TeamSelection

struct __cppobj RakNet::TeamSelection
{
  RakNet::JoinTeamType joinTeamType;
  RakNet::TeamSelection::<unnamed_type_teamParameter> teamParameter;
};

# RakNet::TwoWayAuthentication::PendingChallenge

struct __cppobj __declspec(align(8)) RakNet::TwoWayAuthentication::PendingChallenge
{
  RakNet::RakString identifier;
  RakNet::AddressOrGUID remoteSystem;
  unsigned __int64 time;
  bool sentHash;
};

# RakNet::TwoWayAuthentication::NonceAndRemoteSystemRequest

struct __cppobj RakNet::TwoWayAuthentication::NonceAndRemoteSystemRequest
{
  char nonce[20];
  RakNet::AddressOrGUID remoteSystem;
  unsigned __int16 requestId;
  unsigned __int64 whenGenerated;
};

# RakNet::TwoWayAuthentication::NonceGenerator

struct __cppobj __declspec(align(8)) RakNet::TwoWayAuthentication::NonceGenerator
{
  DataStructures::List<RakNet::TwoWayAuthentication::NonceAndRemoteSystemRequest *> generatedNonces;
  unsigned __int16 nextRequestId;
};

# RakNet::TwoWayAuthentication

struct __cppobj RakNet::TwoWayAuthentication : RakNet::PluginInterface2
{
  DataStructures::Queue<RakNet::TwoWayAuthentication::PendingChallenge> outgoingChallenges;
  DataStructures::Hash<RakNet::RakString,RakNet::RakString,16,&RakNet::RakString::ToInteger> passwords;
  unsigned __int64 whenLastTimeoutCheck;
  RakNet::TwoWayAuthentication::NonceGenerator nonceGenerator;
};

# RakNet::TwoWayAuthentication_vtbl

struct /*VFT*/ RakNet::TwoWayAuthentication_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::TeamBalancer::MyTeamMembers

struct __declspec(align(8)) RakNet::TeamBalancer::MyTeamMembers
{
  unsigned __int64 memberId;
  unsigned __int8 currentTeam;
  unsigned __int8 requestedTeam;
};

# RakNet::TeamBalancer::TeamMember

struct __cppobj __declspec(align(8)) RakNet::TeamBalancer::TeamMember
{
  RakNet::RakNetGUID memberGuid;
  unsigned __int64 memberId;
  unsigned __int8 currentTeam;
  unsigned __int8 requestedTeam;
};

# RakNet::TeamBalancer

struct __cppobj RakNet::TeamBalancer : RakNet::PluginInterface2
{
  RakNet::RakNetGUID hostGuid;
  RakNet::TeamBalancer::DefaultAssigmentAlgorithm defaultAssigmentAlgorithm;
  bool forceTeamsToBeEven;
  bool lockTeams;
  DataStructures::List<RakNet::TeamBalancer::MyTeamMembers> myTeamMembers;
  DataStructures::List<unsigned short> teamLimits;
  DataStructures::List<unsigned short> teamMemberCounts;
  DataStructures::List<RakNet::TeamBalancer::TeamMember> teamMembers;
};

# RakNet::TeamBalancer_vtbl

struct /*VFT*/ RakNet::TeamBalancer_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::ThreadsafePacketLogger

struct __cppobj RakNet::ThreadsafePacketLogger : RakNet::PacketLogger
{
  DataStructures::SingleProducerConsumer<char *> logMessages;
};

# RakNet::ThreadsafePacketLogger_vtbl

struct /*VFT*/ RakNet::ThreadsafePacketLogger_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *FormatLine)(RakNet::PacketLogger *this, char *, const char *, const char *, unsigned int, unsigned int, const char *, const unsigned int, unsigned __int64, const RakNet::SystemAddress *, const RakNet::SystemAddress *, unsigned int, unsigned int, unsigned int, unsigned int);
  void (__fastcall *FormatLine)(RakNet::PacketLogger *this, char *, const char *, const char *, unsigned int, unsigned int, unsigned __int8, const unsigned int, unsigned __int64, const RakNet::SystemAddress *, const RakNet::SystemAddress *, unsigned int, unsigned int, unsigned int, unsigned int);
  void (__fastcall *LogHeader)(RakNet::PacketLogger *this);
  void (__fastcall *WriteLog)(RakNet::PacketLogger *this, const char *);
  void (__fastcall *WriteMiscellaneous)(RakNet::PacketLogger *this, const char *, const char *);
  void (__fastcall *SetPrintID)(RakNet::PacketLogger *this, bool);
  void (__fastcall *SetPrintAcks)(RakNet::PacketLogger *this, bool);
  void (__fastcall *SetPrefix)(RakNet::PacketLogger *this, const char *);
  void (__fastcall *SetSuffix)(RakNet::PacketLogger *this, const char *);
  void (__fastcall *AddToLog)(RakNet::PacketLogger *this, const char *);
  const char *(__fastcall *UserIDTOString)(RakNet::PacketLogger *this, unsigned __int8);
};

# RakNet::StatisticsHistoryPlugin

struct __cppobj RakNet::StatisticsHistoryPlugin : RakNet::PluginInterface2
{
  RakNet::StatisticsHistory statistics;
  bool addNewConnections;
  bool removeLostConnections;
  int newConnectionsObjectType;
};

# RakNet::StatisticsHistoryPlugin_vtbl

struct /*VFT*/ RakNet::StatisticsHistoryPlugin_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::TM_World::JoinRequestHelper

struct __declspec(align(8)) RakNet::TM_World::JoinRequestHelper
{
  unsigned __int64 whenRequestMade;
  unsigned int teamMemberIndex;
  unsigned int indexIntoTeamsRequested;
  unsigned int requestIndex;
};

# RakNet::UDPProxyClient::SenderAndTargetAddress

struct __cppobj RakNet::UDPProxyClient::SenderAndTargetAddress
{
  RakNet::SystemAddress senderClientAddress;
  RakNet::SystemAddress targetClientAddress;
};

# RakNet::UDPProxyClient::ServerWithPing

struct __cppobj RakNet::UDPProxyClient::ServerWithPing
{
  unsigned __int16 ping;
  RakNet::SystemAddress serverAddress;
};

# RakNet::UDPProxyClient::PingServerGroup

struct __cppobj RakNet::UDPProxyClient::PingServerGroup
{
  RakNet::UDPProxyClient::SenderAndTargetAddress sata;
  unsigned int startPingTime;
  RakNet::SystemAddress coordinatorAddressForPings;
  DataStructures::List<RakNet::UDPProxyClient::ServerWithPing> serversToPing;
};

# RakNet::UDPProxyClientResultHandler

struct __cppobj RakNet::UDPProxyClientResultHandler
{
  RakNet::UDPProxyClientResultHandler_vtbl *__vftable /*VFT*/;
};

# RakNet::UDPProxyClient

struct __cppobj RakNet::UDPProxyClient : RakNet::PluginInterface2
{
  DataStructures::List<RakNet::UDPProxyClient::PingServerGroup *> pingServerGroups;
  RakNet::UDPProxyClientResultHandler *resultHandler;
};

# RakNet::UDPProxyClientResultHandler_vtbl

struct /*VFT*/ RakNet::UDPProxyClientResultHandler_vtbl
{
  void (__fastcall *~UDPProxyClientResultHandler)(RakNet::UDPProxyClientResultHandler *this);
  void (__fastcall *OnForwardingSuccess)(RakNet::UDPProxyClientResultHandler *this, const char *, unsigned __int16, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::RakNetGUID, RakNet::UDPProxyClient *);
  void (__fastcall *OnForwardingNotification)(RakNet::UDPProxyClientResultHandler *this, const char *, unsigned __int16, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::RakNetGUID, RakNet::UDPProxyClient *);
  void (__fastcall *OnNoServersOnline)(RakNet::UDPProxyClientResultHandler *this, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::RakNetGUID, RakNet::UDPProxyClient *);
  void (__fastcall *OnRecipientNotConnected)(RakNet::UDPProxyClientResultHandler *this, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::RakNetGUID, RakNet::UDPProxyClient *);
  void (__fastcall *OnAllServersBusy)(RakNet::UDPProxyClientResultHandler *this, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::RakNetGUID, RakNet::UDPProxyClient *);
  void (__fastcall *OnForwardingInProgress)(RakNet::UDPProxyClientResultHandler *this, const char *, unsigned __int16, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::SystemAddress, RakNet::RakNetGUID, RakNet::UDPProxyClient *);
};

# RakNet::UDPProxyClient_vtbl

struct /*VFT*/ RakNet::UDPProxyClient_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::UDPProxyCoordinator::SenderAndTargetAddress

struct __cppobj RakNet::UDPProxyCoordinator::SenderAndTargetAddress
{
  RakNet::SystemAddress senderClientAddress;
  RakNet::RakNetGUID senderClientGuid;
  RakNet::SystemAddress targetClientAddress;
  RakNet::RakNetGUID targetClientGuid;
};

# RakNet::UDPProxyCoordinator::ServerWithPing

struct __cppobj RakNet::UDPProxyCoordinator::ServerWithPing
{
  unsigned __int16 ping;
  RakNet::SystemAddress serverAddress;
};

# RakNet::UDPProxyCoordinator::ForwardingRequest

struct __cppobj __declspec(align(8)) RakNet::UDPProxyCoordinator::ForwardingRequest
{
  unsigned int timeoutOnNoDataMS;
  unsigned int timeoutAfterSuccess;
  RakNet::UDPProxyCoordinator::SenderAndTargetAddress sata;
  RakNet::SystemAddress requestingAddress;
  RakNet::SystemAddress currentlyAttemptedServerAddress;
  DataStructures::Queue<RakNet::SystemAddress> remainingServersToTry;
  RakNet::BitStream serverSelectionBitstream;
  DataStructures::List<RakNet::UDPProxyCoordinator::ServerWithPing> sourceServerPings;
  DataStructures::List<RakNet::UDPProxyCoordinator::ServerWithPing> targetServerPings;
  unsigned int timeRequestedPings;
};

# RakNet::UDPProxyCoordinator

struct __cppobj RakNet::UDPProxyCoordinator : RakNet::PluginInterface2
{
  DataStructures::List<RakNet::SystemAddress> serverList;
  DataStructures::OrderedList<RakNet::UDPProxyCoordinator::SenderAndTargetAddress,RakNet::UDPProxyCoordinator::ForwardingRequest *,&RakNet::UDPProxyCoordinator::ForwardingRequestComp> forwardingRequestList;
  RakNet::RakString remoteLoginPassword;
};

# RakNet::UDPProxyCoordinator_vtbl

struct /*VFT*/ RakNet::UDPProxyCoordinator_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::VariableListDeltaTracker::VariableLastValueNode

struct __cppobj __declspec(align(4)) RakNet::VariableListDeltaTracker::VariableLastValueNode
{
  char *lastData;
  unsigned int byteLength;
  bool isDirty;
};

# RakNet::VariableListDeltaTracker

struct __cppobj __declspec(align(8)) RakNet::VariableListDeltaTracker
{
  DataStructures::List<RakNet::VariableListDeltaTracker::VariableLastValueNode> variableList;
  unsigned int nextWriteIndex;
};

# RakNet::UDPProxyServerResultHandler

struct __cppobj RakNet::UDPProxyServerResultHandler
{
  RakNet::UDPProxyServerResultHandler_vtbl *__vftable /*VFT*/;
};

# RakNet::UDPProxyServer

struct __cppobj RakNet::UDPProxyServer : RakNet::PluginInterface2
{
  RakNet::UDPForwarder udpForwarder;
  DataStructures::OrderedList<RakNet::SystemAddress,RakNet::SystemAddress,&DataStructures::defaultOrderedListComparison<RakNet::SystemAddress,RakNet::SystemAddress> > loggingInCoordinators;
  DataStructures::OrderedList<RakNet::SystemAddress,RakNet::SystemAddress,&DataStructures::defaultOrderedListComparison<RakNet::SystemAddress,RakNet::SystemAddress> > loggedInCoordinators;
  RakNet::UDPProxyServerResultHandler *resultHandler;
  unsigned __int16 socketFamily;
  RakNet::RakString serverPublicIp;
};

# RakNet::UDPProxyServerResultHandler_vtbl

struct /*VFT*/ RakNet::UDPProxyServerResultHandler_vtbl
{
  void (__fastcall *~UDPProxyServerResultHandler)(RakNet::UDPProxyServerResultHandler *this);
  void (__fastcall *OnLoginSuccess)(RakNet::UDPProxyServerResultHandler *this, RakNet::RakString, RakNet::UDPProxyServer *);
  void (__fastcall *OnAlreadyLoggedIn)(RakNet::UDPProxyServerResultHandler *this, RakNet::RakString, RakNet::UDPProxyServer *);
  void (__fastcall *OnNoPasswordSet)(RakNet::UDPProxyServerResultHandler *this, RakNet::RakString, RakNet::UDPProxyServer *);
  void (__fastcall *OnWrongPassword)(RakNet::UDPProxyServerResultHandler *this, RakNet::RakString, RakNet::UDPProxyServer *);
};

# RakNet::UDPProxyServer_vtbl

struct /*VFT*/ RakNet::UDPProxyServer_vtbl
{
  void (__fastcall *~PluginInterface2)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnAttach)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDetach)(RakNet::PluginInterface2 *this);
  void (__fastcall *Update)(RakNet::PluginInterface2 *this);
  RakNet::PluginReceiveResult (__fastcall *OnReceive)(RakNet::PluginInterface2 *this, RakNet::Packet *);
  void (__fastcall *OnRakPeerStartup)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnRakPeerShutdown)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnClosedConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, RakNet::PI2_LostConnectionReason);
  void (__fastcall *OnNewConnection)(RakNet::PluginInterface2 *this, const RakNet::SystemAddress *, RakNet::RakNetGUID, bool);
  void (__fastcall *OnFailedConnectionAttempt)(RakNet::PluginInterface2 *this, RakNet::Packet *, RakNet::PI2_FailedConnectionAttemptReason);
  bool (__fastcall *UsesReliabilityLayer)(RakNet::PluginInterface2 *this);
  void (__fastcall *OnDirectSocketSend)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnDirectSocketReceive)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
  void (__fastcall *OnReliabilityLayerNotification)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress, bool);
  void (__fastcall *OnInternalPacket)(RakNet::PluginInterface2 *this, RakNet::InternalPacket *, unsigned int, RakNet::SystemAddress, unsigned int, int);
  void (__fastcall *OnAck)(RakNet::PluginInterface2 *this, unsigned int, RakNet::SystemAddress, unsigned int);
  void (__fastcall *OnPushBackPacket)(RakNet::PluginInterface2 *this, const char *, const unsigned int, RakNet::SystemAddress);
};

# RakNet::VariableDeltaSerializer::ChangedVariablesList

struct __declspec(align(4)) RakNet::VariableDeltaSerializer::ChangedVariablesList
{
  unsigned int sendReceipt;
  unsigned __int16 bitWriteIndex;
  unsigned __int8 bitField[56];
};

# RakNet::VariableDeltaSerializer::RemoteSystemVariableHistory

struct __cppobj RakNet::VariableDeltaSerializer::RemoteSystemVariableHistory
{
  RakNet::RakNetGUID guid;
  RakNet::VariableListDeltaTracker variableListDeltaTracker;
  DataStructures::OrderedList<unsigned int,RakNet::VariableDeltaSerializer::ChangedVariablesList *,&RakNet::VariableDeltaSerializer::UpdatedVariablesListPtrComp> updatedVariablesHistory;
};

# RakNet::VariableDeltaSerializer

struct __cppobj RakNet::VariableDeltaSerializer
{
  DataStructures::List<RakNet::VariableDeltaSerializer::RemoteSystemVariableHistory *> remoteSystemVariableHistoryList;
  DataStructures::MemoryPool<RakNet::VariableDeltaSerializer::ChangedVariablesList> updatedVariablesMemoryPool;
  bool didComparisonThisTick;
  RakNet::BitStream identicalSerializationBs;
};

# RakNet::VariableDeltaSerializer::SerializationContext

struct __cppobj __declspec(align(8)) RakNet::VariableDeltaSerializer::SerializationContext
{
  RakNet::RakNetGUID guid;
  RakNet::BitStream *bitStream;
  unsigned int rakPeerSendReceipt;
  RakNet::VariableDeltaSerializer::RemoteSystemVariableHistory *variableHistory;
  RakNet::VariableDeltaSerializer::RemoteSystemVariableHistory *variableHistoryIdentical;
  RakNet::VariableDeltaSerializer::RemoteSystemVariableHistory *variableHistoryUnique;
  RakNet::VariableDeltaSerializer::ChangedVariablesList *changedVariables;
  unsigned int sendReceipt;
  PacketReliability serializationMode;
  bool anyVariablesWritten;
  bool newSystemSend;
};

# RakNet::VariableDeltaSerializer::DeserializationContext

struct RakNet::VariableDeltaSerializer::DeserializationContext
{
  RakNet::BitStream *bitStream;
};

# RateLimiter

struct __cppobj RateLimiter
{
  const unsigned __int64 mLimit;
  const std::chrono::duration<__int64,std::ratio<1,1> > mTimeIntervalSeconds;
  std::vector<std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > >> mInstances;
};

# rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> >

struct __cppobj rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> >
{
  char *src_;
  char *dst_;
  char *head_;
};

# rapidjson::BasicIStreamWrapper<std::istream >

struct __cppobj __declspec(align(8)) rapidjson::BasicIStreamWrapper<std::istream >
{
  std::istream *stream_;
  char peekBuffer_[4];
  char *buffer_;
  unsigned __int64 bufferSize_;
  char *bufferLast_;
  char *current_;
  unsigned __int64 readCount_;
  unsigned __int64 count_;
  bool eof_;
};

# rapidjson::BasicOStreamWrapper<std::ostream >

struct __cppobj rapidjson::BasicOStreamWrapper<std::ostream >
{
  std::ostream *stream_;
};

# rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>,rapidjson::CrtAllocator>,rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator,0>::Level

struct __cppobj __declspec(align(8)) rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>,rapidjson::CrtAllocator>,rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator,0>::Level
{
  unsigned __int64 valueCount;
  bool inArray;
};

# rapidjson::BaseReaderHandler<rapidjson::UTF8<char>,Bedrock::JSONObject::ParseHandler>

struct __cppobj rapidjson::BaseReaderHandler<rapidjson::UTF8<char>,Bedrock::JSONObject::ParseHandler>
{
};

# rapidjson::internal::Stack<Bedrock::JSONObject::Document::loadString'::5'::DoNotAllocate>

struct __cppobj rapidjson::internal::Stack<`Bedrock::JSONObject::Document::loadString'::`5'::DoNotAllocate>
{
  struct Bedrock::JSONObject::Document::loadString::__l5::DoNotAllocate *allocator_;
  struct Bedrock::JSONObject::Document::loadString::__l5::DoNotAllocate *ownAllocator_;
  char *stack_;
  char *stackTop_;
  char *stackEnd_;
  unsigned __int64 initialCapacity_;
};

# rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,Bedrock::JSONObject::Document::loadString'::5'::DoNotAllocate>

struct __cppobj __declspec(align(8)) rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,`Bedrock::JSONObject::Document::loadString'::`5'::DoNotAllocate>
{
  rapidjson::internal::Stack<`Bedrock::JSONObject::Document::loadString'::`5'::DoNotAllocate> stack_;
  rapidjson::ParseResult parseResult_;
  rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,`Bedrock::JSONObject::Document::loadString'::`5'::DoNotAllocate>::IterativeParsingState state_;
};

# rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,Bedrock::JSONObject::Document::loadString'::5'::DoNotAllocate>::ClearStackOnExit

struct __cppobj rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,`Bedrock::JSONObject::Document::loadString'::`5'::DoNotAllocate>::ClearStackOnExit
{
  rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,`Bedrock::JSONObject::Document::loadString'::`5'::DoNotAllocate> *r_;
};

# rapidjson::Writer<rapidjson::BasicOStreamWrapper<std::ostream >,rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator,0>

struct __cppobj __declspec(align(4)) rapidjson::Writer<rapidjson::BasicOStreamWrapper<std::ostream >,rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator,0>
{
  rapidjson::BasicOStreamWrapper<std::ostream > *os_;
  rapidjson::internal::Stack<rapidjson::CrtAllocator> level_stack_;
  int maxDecimalPlaces_;
  bool hasRoot_;
};

# rapidjson::PrettyWriter<rapidjson::BasicOStreamWrapper<std::ostream >,rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator,0>

struct __cppobj __declspec(align(8)) rapidjson::PrettyWriter<rapidjson::BasicOStreamWrapper<std::ostream >,rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator,0> : rapidjson::Writer<rapidjson::BasicOStreamWrapper<std::ostream >,rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator,0>
{
  char indentChar_;
  unsigned int indentCharCount_;
  rapidjson::PrettyFormatOptions formatOptions_;
};

# rapidjson::Writer<rapidjson::BasicOStreamWrapper<std::ostream >,rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator,0>::Level

struct __cppobj __declspec(align(8)) rapidjson::Writer<rapidjson::BasicOStreamWrapper<std::ostream >,rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator,0>::Level
{
  unsigned __int64 valueCount;
  bool inArray;
};

# rapidjson::StreamTraits<rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> > >

struct __cppobj rapidjson::StreamTraits<rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> > >
{
};

# rapidjson::internal::StreamLocalCopy<rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> >,1>

struct __cppobj rapidjson::internal::StreamLocalCopy<rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> >,1>
{
  rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> > s;
  rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> > *original_;
};

# rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,Bedrock::JSONObject::Document::loadString'::5'::DoNotAllocate>::StackStream<char>

struct __cppobj __declspec(align(8)) rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,`Bedrock::JSONObject::Document::loadString'::`5'::DoNotAllocate>::StackStream<char>
{
  rapidjson::internal::Stack<`Bedrock::JSONObject::Document::loadString'::`5'::DoNotAllocate> *stack_;
  unsigned int length_;
};

# rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,Bedrock::JSONObject::Document::loadString'::5'::DoNotAllocate>::NumberStream<rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> >,0,0>

struct __cppobj rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,`Bedrock::JSONObject::Document::loadString'::`5'::DoNotAllocate>::NumberStream<rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> >,0,0>
{
  rapidjson::GenericInsituStringStream<rapidjson::UTF8<char> > *is;
};

# rapidjson::StreamTraits<rapidjson::GenericStringStream<rapidjson::UTF8<char> > >

struct __cppobj rapidjson::StreamTraits<rapidjson::GenericStringStream<rapidjson::UTF8<char> > >
{
};

# rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator>::NumberStream<rapidjson::GenericStringStream<rapidjson::UTF8<char> >,0,0>

struct __cppobj rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator>::NumberStream<rapidjson::GenericStringStream<rapidjson::UTF8<char> >,0,0>
{
  rapidjson::GenericStringStream<rapidjson::UTF8<char> > *is;
};

# rapidjson::StreamTraits<rapidjson::BasicIStreamWrapper<std::istream > >

struct __cppobj rapidjson::StreamTraits<rapidjson::BasicIStreamWrapper<std::istream > >
{
};

# rapidjson::internal::StreamLocalCopy<rapidjson::BasicIStreamWrapper<std::istream >,0>

struct __cppobj rapidjson::internal::StreamLocalCopy<rapidjson::BasicIStreamWrapper<std::istream >,0>
{
  rapidjson::BasicIStreamWrapper<std::istream > *s;
};

# rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator>::NumberStream<rapidjson::BasicIStreamWrapper<std::istream >,0,0>

struct __cppobj rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator>::NumberStream<rapidjson::BasicIStreamWrapper<std::istream >,0,0>
{
  rapidjson::BasicIStreamWrapper<std::istream > *is;
};

# rapidjson::StreamTraits<rapidjson::EncodedInputStream<rapidjson::UTF8<char>,rapidjson::MemoryStream> >

struct __cppobj rapidjson::StreamTraits<rapidjson::EncodedInputStream<rapidjson::UTF8<char>,rapidjson::MemoryStream> >
{
};

# rapidjson::internal::StreamLocalCopy<rapidjson::EncodedInputStream<rapidjson::UTF8<char>,rapidjson::MemoryStream>,0>

struct __cppobj rapidjson::internal::StreamLocalCopy<rapidjson::EncodedInputStream<rapidjson::UTF8<char>,rapidjson::MemoryStream>,0>
{
  rapidjson::EncodedInputStream<rapidjson::UTF8<char>,rapidjson::MemoryStream> *s;
};

# rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator>::NumberStream<rapidjson::EncodedInputStream<rapidjson::UTF8<char>,rapidjson::MemoryStream>,0,0>

struct __cppobj rapidjson::GenericReader<rapidjson::UTF8<char>,rapidjson::UTF8<char>,rapidjson::CrtAllocator>::NumberStream<rapidjson::EncodedInputStream<rapidjson::UTF8<char>,rapidjson::MemoryStream>,0,0>
{
  rapidjson::EncodedInputStream<rapidjson::UTF8<char>,rapidjson::MemoryStream> *is;
};

# repeatobject

struct repeatobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  _object *element;
  __int64 cnt;
};

# Rotorobj

struct Rotorobj
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  int seed[3];
  __int16 key[5];
  int isinited;
  int size;
  int size_mask;
  int rotors;
  unsigned __int8 *e_rotor;
  unsigned __int8 *d_rotor;
  unsigned __int8 *positions;
  unsigned __int8 *advances;
};

# rwpair

struct rwpair
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  buffered *reader;
  buffered *writer;
  _object *dict;
  _object *weakreflist;
};

# RandomObject

struct __declspec(align(8)) RandomObject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  unsigned int state[624];
  int index;
};

# reversedobject

struct reversedobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  __int64 index;
  _object *seq;
};

# rangeiterobject

struct rangeiterobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  int index;
  int start;
  int step;
  int len;
};

# RealmsAllowListScreenController::_getBlocklistProfiles::__l2::<lambda_b260cb933b54af63cd24f86d910dbaeb>::()::__l16::<lambda_dee76db620d71a5205cbda91ce10fae1>

struct __cppobj RealmsAllowListScreenController::_getBlocklistProfiles::__l2::<lambda_b260cb933b54af63cd24f86d910dbaeb>::()::__l16::<lambda_dee76db620d71a5205cbda91ce10fae1>
{
  const std::string *blockedPlayerXuid;
};

# RealmsAllowListScreenController::_getBlocklistProfiles::__l2::<lambda_b260cb933b54af63cd24f86d910dbaeb>::()::__l9::<lambda_992da3f45e69802d7745b80c63684147>

struct __cppobj RealmsAllowListScreenController::_getBlocklistProfiles::__l2::<lambda_b260cb933b54af63cd24f86d910dbaeb>::()::__l9::<lambda_992da3f45e69802d7745b80c63684147>
{
  const Social::XboxLiveUserProfileData *const *user;
};

# RealmsAllowListScreenController::_registerEventHandlers::__l2::<lambda_54df864d97304a9fd7002809f95393fe>::()::__l5::<lambda_488c1c54c019eaab5170715498d78b0e>::()::__l18::<lambda_fcd873b71d770463fcaaad98d696bed2>

struct __cppobj RealmsAllowListScreenController::_registerEventHandlers::__l2::<lambda_54df864d97304a9fd7002809f95393fe>::()::__l5::<lambda_488c1c54c019eaab5170715498d78b0e>::()::__l18::<lambda_fcd873b71d770463fcaaad98d696bed2>
{
  RealmPlayer player;
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_d75cf26140eb8a26eb9cd9a973485a4f>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_d75cf26140eb8a26eb9cd9a973485a4f>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_6ce318143c4b4a557433459f49f54428>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_6ce318143c4b4a557433459f49f54428>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_233eeafa68b413ea64392239f6c8a713>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_233eeafa68b413ea64392239f6c8a713>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_921b46f6d3e58ade01ef3e9b10711ff6>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_921b46f6d3e58ade01ef3e9b10711ff6>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_bf167fc65479b58720a8e14d972d34f0>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_bf167fc65479b58720a8e14d972d34f0>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_956041713ef9836cf8d79f38c05af3d0>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_956041713ef9836cf8d79f38c05af3d0>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_d013e233ed7fc7a38019af6a55814b67>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_d013e233ed7fc7a38019af6a55814b67>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_319d458d329902513d4b8348d4cf85fe>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_319d458d329902513d4b8348d4cf85fe>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_e90a2aa2b19b627f1ba800a518147b58>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_e90a2aa2b19b627f1ba800a518147b58>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_25b48501db3671cfb37c8677881678ab>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_25b48501db3671cfb37c8677881678ab>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_4484119286ae3f0b3225758df58d3e4b>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_4484119286ae3f0b3225758df58d3e4b>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_1feeb6911eff5bc502e3e91b40dc2828>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_1feeb6911eff5bc502e3e91b40dc2828>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_b1c86a361327ba6e2750ec26070a2374>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_b1c86a361327ba6e2750ec26070a2374>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_6b8eecb2c92f3cc5a2670141f928f559>::()::__l2::Literal

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_6b8eecb2c92f3cc5a2670141f928f559>::()::__l2::Literal
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_1feeb6911eff5bc502e3e91b40dc2828>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_1feeb6911eff5bc502e3e91b40dc2828>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_233eeafa68b413ea64392239f6c8a713>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_233eeafa68b413ea64392239f6c8a713>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_25b48501db3671cfb37c8677881678ab>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_25b48501db3671cfb37c8677881678ab>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_319d458d329902513d4b8348d4cf85fe>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_319d458d329902513d4b8348d4cf85fe>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_4484119286ae3f0b3225758df58d3e4b>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_4484119286ae3f0b3225758df58d3e4b>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_6b8eecb2c92f3cc5a2670141f928f559>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_6b8eecb2c92f3cc5a2670141f928f559>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_6ce318143c4b4a557433459f49f54428>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_6ce318143c4b4a557433459f49f54428>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_921b46f6d3e58ade01ef3e9b10711ff6>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_921b46f6d3e58ade01ef3e9b10711ff6>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_956041713ef9836cf8d79f38c05af3d0>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_956041713ef9836cf8d79f38c05af3d0>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_b1c86a361327ba6e2750ec26070a2374>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_b1c86a361327ba6e2750ec26070a2374>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_bf167fc65479b58720a8e14d972d34f0>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_bf167fc65479b58720a8e14d972d34f0>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_d013e233ed7fc7a38019af6a55814b67>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_d013e233ed7fc7a38019af6a55814b67>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_d75cf26140eb8a26eb9cd9a973485a4f>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_d75cf26140eb8a26eb9cd9a973485a4f>
{
};

# RenderableComponent::getUIMaterialName::__l2::<lambda_e90a2aa2b19b627f1ba800a518147b58>

struct __cppobj RenderableComponent::getUIMaterialName::__l2::<lambda_e90a2aa2b19b627f1ba800a518147b58>
{
};

# RealmsSettingsScreenController::_updateWorld::__l2::<lambda_171cf9e84184033586cecc5fe1a1d0c1>::()::__l5::<lambda_87a6a684392dd938b2301e6a1aa7a585>::()::__l5::<lambda_ba4c6226bdf76407e8db388ab671b19c>::()::__l16::<lambda_b22c6d5c3439483febd015944d77aa68>

struct __cppobj RealmsSettingsScreenController::_updateWorld::__l2::<lambda_171cf9e84184033586cecc5fe1a1d0c1>::()::__l5::<lambda_87a6a684392dd938b2301e6a1aa7a585>::()::__l5::<lambda_ba4c6226bdf76407e8db388ab671b19c>::()::__l16::<lambda_b22c6d5c3439483febd015944d77aa68>
{
  const std::string *blockedPlayerXuid;
};

# RealmsPendingInvitationsScreenController::_fetchPendingInvites::__l2::<lambda_e6ba7fa5dac6f44deecd421314ed9baf>::()::__l19::<lambda_cc9aa27289a4d0700a4c608ec0bed045>

struct __cppobj RealmsPendingInvitationsScreenController::_fetchPendingInvites::__l2::<lambda_e6ba7fa5dac6f44deecd421314ed9baf>::()::__l19::<lambda_cc9aa27289a4d0700a4c608ec0bed045>
{
  Realms::Invite *r;
};

# ResourcePacksScreenController::_addDependencies::__l36::<lambda_b494e23e9a0b64ac3cad0e2dc8ab1ca3>

struct __cppobj ResourcePacksScreenController::_addDependencies::__l36::<lambda_b494e23e9a0b64ac3cad0e2dc8ab1ca3>
{
  PackContentItem *packContentItem;
};

# RealmsSettingsScreenController::_setRealmsContentSelected::__l15::<lambda_d829c3b4cfd0725d45c2da7cb2752e8c>

struct __cppobj RealmsSettingsScreenController::_setRealmsContentSelected::__l15::<lambda_d829c3b4cfd0725d45c2da7cb2752e8c>
{
  PackContentItem *packItem;
};

# RealmsSettingsScreenController::_updateWorld::__l2::<lambda_171cf9e84184033586cecc5fe1a1d0c1>::()::__l5::<lambda_87a6a684392dd938b2301e6a1aa7a585>::()::__l5::<lambda_ba4c6226bdf76407e8db388ab671b19c>::()::__l9::<lambda_6b806c22352b5a7278e603a6afd4c54b>

struct __cppobj RealmsSettingsScreenController::_updateWorld::__l2::<lambda_171cf9e84184033586cecc5fe1a1d0c1>::()::__l5::<lambda_87a6a684392dd938b2301e6a1aa7a585>::()::__l5::<lambda_ba4c6226bdf76407e8db388ab671b19c>::()::__l9::<lambda_6b806c22352b5a7278e603a6afd4c54b>
{
  const Social::XboxLiveUserProfileData *const *user;
};

# RealmsPlusPDPScreenController::_getRealmSubscriptionFromWorld::__l2::<lambda_47ea2d851de30b3b20023f023d182025>::()::__l15::<lambda_e4a4d330a45c86f1c887ff973f2bff1b>

struct __cppobj RealmsPlusPDPScreenController::_getRealmSubscriptionFromWorld::__l2::<lambda_47ea2d851de30b3b20023f023d182025>::()::__l15::<lambda_e4a4d330a45c86f1c887ff973f2bff1b>
{
  const Realms::RealmId *realmId;
};

# RealmsPlusPDPScreenController::_getRealmSubscriptionFromWorld::__l2::<lambda_47ea2d851de30b3b20023f023d182025>::()::__l8::<lambda_eb50376216bf927ced5a22701d869224>

struct __cppobj RealmsPlusPDPScreenController::_getRealmSubscriptionFromWorld::__l2::<lambda_47ea2d851de30b3b20023f023d182025>::()::__l8::<lambda_eb50376216bf927ced5a22701d869224>
{
  const Realms::RealmId *realmId;
};

# RealmsSettingsScreenController::_refreshRealmsConfigDetails::__l5::<lambda_7ae19e3732fa7c006dc5ae260ace94af>

struct __cppobj RealmsSettingsScreenController::_refreshRealmsConfigDetails::__l5::<lambda_7ae19e3732fa7c006dc5ae260ace94af>
{
  const std::string sha;
};

# Realms::SubscriptionService::_getCachedSubscription::__l2::<lambda_4ae63eb1df66b4cec8c9f209cf1d0f56>

struct __cppobj Realms::SubscriptionService::_getCachedSubscription::__l2::<lambda_4ae63eb1df66b4cec8c9f209cf1d0f56>
{
  const Realms::RealmId *realmId;
};

# Realms::SubscriptionService::_removeCacheForRealm::__l2::<lambda_9b65787d7c1e8bb6c3ebaf99bdccaffb>

struct __cppobj Realms::SubscriptionService::_removeCacheForRealm::__l2::<lambda_9b65787d7c1e8bb6c3ebaf99bdccaffb>
{
  const Realms::RealmId *realmId;
};

# Realms::SubscriptionService::_getSubscriptionQuery::__l2::<lambda_114f41db29b1a2e0e460484b1fec01ea>

struct __cppobj Realms::SubscriptionService::_getSubscriptionQuery::__l2::<lambda_114f41db29b1a2e0e460484b1fec01ea>
{
  const Realms::RealmId *realmId;
};

# Realms::SubscriptionService::_updateSubscriptionQueryStatus::__l2::<lambda_cda3f7165f26af0f26a99c42d6cce66d>

struct __cppobj Realms::SubscriptionService::_updateSubscriptionQueryStatus::__l2::<lambda_cda3f7165f26af0f26a99c42d6cce66d>
{
  const Realms::RealmId *realmId;
};

struct __cppobj rendergraph::RenderOrder::link::__l2::<lambda_a85dd026e523765d26081779aa373fe0>
{
  rendergraph::RenderOrder *const __this;
  rendergraph::APIResourcePool *resources;
};

# ReplayStateComponent::applyFrameCorrection::__l2::<lambda_b82497fba36dae9def6255320e746696>

struct __cppobj __declspec(align(8)) ReplayStateComponent::applyFrameCorrection::__l2::<lambda_b82497fba36dae9def6255320e746696>
{
  std::unique_ptr<IReplayableActorInput> correction;
  IActorMovementProxy *actor;
  ReplayStateComponent *const __this;
  const unsigned __int64 destinationTimestamp;
  const bool destinationFrameExists;
};

# RepairableItemComponent::_repairItem::__l2::<lambda_a2a775e2722c0eed27572dfbbc5bebbc>::()::__l2::Literal

struct __cppobj RepairableItemComponent::_repairItem::__l2::<lambda_a2a775e2722c0eed27572dfbbc5bebbc>::()::__l2::Literal
{
};

# RepairableItemComponent::_repairItem::__l2::<lambda_a2a775e2722c0eed27572dfbbc5bebbc>

struct __cppobj RepairableItemComponent::_repairItem::__l2::<lambda_a2a775e2722c0eed27572dfbbc5bebbc>
{
};

# RaidBossComponent::_handleRegisterPlayers::__l9::<lambda_15af12567fd8e78472a1c6012ea9d14e>

struct __cppobj RaidBossComponent::_handleRegisterPlayers::__l9::<lambda_15af12567fd8e78472a1c6012ea9d14e>
{
  RaidBossComponent *const __this;
};

# RakNetInstance::_storeLocalIP::__l13::<lambda_d0c9ba039f2f939fe7f4e6a42726e2c8>

struct __cppobj RakNetInstance::_storeLocalIP::__l13::<lambda_d0c9ba039f2f939fe7f4e6a42726e2c8>
{
};

# ResourcePackManager::findAllTexturesInUse::__l16::<lambda_77a7f0a46859c7652cd2af3371509138>

struct __cppobj ResourcePackManager::findAllTexturesInUse::__l16::<lambda_77a7f0a46859c7652cd2af3371509138>
{
  std::vector<std::string> *textureSetLayers;
};

# ResourcePackManager::checkHasExtraLocaleResources::__l2::<lambda_8e0c88cf2983974e9e8d677199248319>

struct __cppobj ResourcePackManager::checkHasExtraLocaleResources::__l2::<lambda_8e0c88cf2983974e9e8d677199248319>
{
  const std::string *locale;
};

# ResourcePackRepository::getResourcePackSatisfiesPackId::__l9::<lambda_9a538935dba0ba85c1b073ba68921656>

struct __cppobj ResourcePackRepository::getResourcePackSatisfiesPackId::__l9::<lambda_9a538935dba0ba85c1b073ba68921656>
{
  ResourcePack *beginPack;
};

# ResourcePackRepository::_removePack::__l2::<lambda_a8d60394ba5e3b950d268d58fb336608>

struct __cppobj ResourcePackRepository::_removePack::__l2::<lambda_a8d60394ba5e3b950d268d58fb336608>
{
  const ResourceLocation packLocation;
};

# ResourcePack::createEncryptor::__l2::<lambda_0881763b333a7ea6ccc669b884692af6>

struct __cppobj ResourcePack::createEncryptor::__l2::<lambda_0881763b333a7ea6ccc669b884692af6>
{
  IDataOutput *original;
};

# ResourcePack::createDecryptor::__l2::<lambda_de3a97f4d57821714af0f38aa60da239>

struct __cppobj ResourcePack::createDecryptor::__l2::<lambda_de3a97f4d57821714af0f38aa60da239>
{
  IDataInput *original;
};

# Rabbit::updateEntitySpecificMolangVariables::__l2::<lambda_63f15397bfead5abe4ffe3acde7e9d7d>::()::__l2::Literal

struct __cppobj Rabbit::updateEntitySpecificMolangVariables::__l2::<lambda_63f15397bfead5abe4ffe3acde7e9d7d>::()::__l2::Literal
{
};

# Rabbit::updateEntitySpecificMolangVariables::__l2::<lambda_63f15397bfead5abe4ffe3acde7e9d7d>

struct __cppobj Rabbit::updateEntitySpecificMolangVariables::__l2::<lambda_63f15397bfead5abe4ffe3acde7e9d7d>
{
};

# Recipes::addShapedRecipe::__l48::<lambda_47332ffee318a4b61331a8c4a0805fac>

struct __cppobj Recipes::addShapedRecipe::__l48::<lambda_47332ffee318a4b61331a8c4a0805fac>
{
};

# Recipes::addShapelessRecipe::__l22::<lambda_e14c6232c203f2d480436010494b2280>

struct __cppobj Recipes::addShapelessRecipe::__l22::<lambda_e14c6232c203f2d480436010494b2280>
{
};

# RenderHelper::RotateNineslice::__l2::<lambda_25110d648776ca7df3468f3e20782d6e>

struct __cppobj RenderHelper::RotateNineslice::__l2::<lambda_25110d648776ca7df3468f3e20782d6e>
{
  const glm::tvec2<float,0> *pivot;
  int *degree;
};

# RenderHelper::RotateNineslice::__l2::<lambda_69f7ca8dbd57f44c5eeda5a30565d6c0>

struct __cppobj RenderHelper::RotateNineslice::__l2::<lambda_69f7ca8dbd57f44c5eeda5a30565d6c0>
{
  RenderHelper::RotateNineslice::__l2::<lambda_25110d648776ca7df3468f3e20782d6e> *_calcPos;
};

# rtrim::__l2::<lambda_948f1aff55751bef588853aab06af157>

struct __cppobj rtrim::__l2::<lambda_948f1aff55751bef588853aab06af157>
{
};

# RestClient::ltrim::__l2::<lambda_8e75de1f7e6b6be758c7e7945feef6ca>

struct __cppobj RestClient::ltrim::__l2::<lambda_8e75de1f7e6b6be758c7e7945feef6ca>
{
};

# RestClient::rtrim::__l2::<lambda_f438790ac25c0ee4bca1b6c46ce3d1ca>

struct __cppobj RestClient::rtrim::__l2::<lambda_f438790ac25c0ee4bca1b6c46ce3d1ca>
{
};

# RoofedTreeCanopy::_buildSchema::__l2::<lambda_8f104405ddcaf451728e5f15355e75e6>::()::__l2::Literal

struct __cppobj RoofedTreeCanopy::_buildSchema::__l2::<lambda_8f104405ddcaf451728e5f15355e75e6>::()::__l2::Literal
{
};

# RoofedTreeCanopy::_buildSchema::__l2::<lambda_8f104405ddcaf451728e5f15355e75e6>

struct __cppobj RoofedTreeCanopy::_buildSchema::__l2::<lambda_8f104405ddcaf451728e5f15355e75e6>
{
};

# RoofedTreeCanopy::_buildSchema::__l2::<lambda_a4213651e882cec2c73ab64e3c02b0e7>::()::__l2::Literal

struct __cppobj RoofedTreeCanopy::_buildSchema::__l2::<lambda_a4213651e882cec2c73ab64e3c02b0e7>::()::__l2::Literal
{
};

# RoofedTreeCanopy::_buildSchema::__l2::<lambda_a4213651e882cec2c73ab64e3c02b0e7>

struct __cppobj RoofedTreeCanopy::_buildSchema::__l2::<lambda_a4213651e882cec2c73ab64e3c02b0e7>
{
};

# RoofedTreeCanopy::_buildSchema::__l2::<lambda_5ff86b87033619b327f263c9ec84329c>::()::__l2::Literal

struct __cppobj RoofedTreeCanopy::_buildSchema::__l2::<lambda_5ff86b87033619b327f263c9ec84329c>::()::__l2::Literal
{
};

# RoofedTreeCanopy::_buildSchema::__l2::<lambda_5ff86b87033619b327f263c9ec84329c>

struct __cppobj RoofedTreeCanopy::_buildSchema::__l2::<lambda_5ff86b87033619b327f263c9ec84329c>
{
};

# RandomizableBlockActorContainerBase_vtbl

struct /*VFT*/ RandomizableBlockActorContainerBase_vtbl
{
  void (__fastcall *~BlockActor)(BlockActor *this);
  void (__fastcall *load)(BlockActor *this, Level *, const CompoundTag *, DataLoadHelper *);
  bool (__fastcall *save)(BlockActor *this, CompoundTag *);
  bool (__fastcall *saveItemInstanceData)(BlockActor *this, CompoundTag *);
  void (__fastcall *saveBlockData)(BlockActor *this, CompoundTag *, BlockSource *);
  void (__fastcall *loadBlockData)(BlockActor *this, const CompoundTag *, BlockSource *, DataLoadHelper *);
  void (__fastcall *onCustomTagLoadDone)(BlockActor *this, BlockSource *);
  void (__fastcall *tick)(BlockActor *this, BlockSource *);
  bool (__fastcall *isFinished)(BlockActor *this);
  void (__fastcall *onChanged)(BlockActor *this, BlockSource *);
  bool (__fastcall *isMovable)(BlockActor *this, BlockSource *);
  bool (__fastcall *isCustomNameSaved)(BlockActor *this);
  bool (__fastcall *onUpdatePacket)(BlockActor *this, const CompoundTag *, BlockSource *, const Player *);
  void (__fastcall *onPlace)(BlockActor *this, BlockSource *);
  void (__fastcall *onMove)(BlockActor *this);
  void (__fastcall *onRemoved)(BlockActor *this, BlockSource *);
  void (__fastcall *triggerEvent)(BlockActor *this, int, int);
  void (__fastcall *clearCache)(BlockActor *this);
  void (__fastcall *onNeighborChanged)(BlockActor *this, BlockSource *, const BlockPos *);
  float (__fastcall *getShadowRadius)(BlockActor *this, BlockSource *);
  bool (__fastcall *hasAlphaLayer)(BlockActor *this);
  BlockActor *(__fastcall *getCrackEntity)(BlockActor *this, BlockSource *, const BlockPos *);
  void (__fastcall *getDebugText)(BlockActor *this, std::vector<std::string> *, const BlockPos *);
  const std::string *(__fastcall *getCustomName)(BlockActor *this);
  const std::string *(__fastcall *getFilteredCustomName)(BlockActor *this, const UIProfanityContext *);
  std::string *(__fastcall *getName)(BlockActor *this, std::string *result);
  void (__fastcall *setCustomName)(BlockActor *this, const std::string *);
  std::string *(__fastcall *getImmersiveReaderText)(BlockActor *this, std::string *result, BlockSource *);
  int (__fastcall *getRepairCost)(BlockActor *this);
  PistonBlockActor *(__fastcall *getOwningPiston)(BlockActor *this, BlockSource *);
  const Container *(__fastcall *getContainer)(BlockActor *this);
  Container *(__fastcall *getContainer)(BlockActor *this);
  float (__fastcall *getDeletionDelayTimeSeconds)(BlockActor *this);
  void (__fastcall *checkWordsOnChunkLoad)(BlockActor *this, LevelChunk *);
  void (__fastcall *checkWordsOnUpdate)(BlockActor *this, Player *);
  void (__fastcall *onChunkLoaded)(BlockActor *this, LevelChunk *);
  void (__fastcall *onChunkUnloaded)(BlockActor *this, LevelChunk *);
  std::unique_ptr<BlockActorDataPacket> *(__fastcall *_getUpdatePacket)(BlockActor *this, std::unique_ptr<BlockActorDataPacket> *result, BlockSource *);
  void (__fastcall *_onUpdatePacket)(BlockActor *this, const CompoundTag *, BlockSource *);
  bool (__fastcall *_playerCanUpdate)(BlockActor *this, const Player *);
};

# RandomizableBlockActorContainer_vtbl

struct /*VFT*/ RandomizableBlockActorContainer_vtbl
{
  void (__fastcall *~BlockActor)(BlockActor *this);
  void (__fastcall *load)(BlockActor *this, Level *, const CompoundTag *, DataLoadHelper *);
  bool (__fastcall *save)(BlockActor *this, CompoundTag *);
  bool (__fastcall *saveItemInstanceData)(BlockActor *this, CompoundTag *);
  void (__fastcall *saveBlockData)(BlockActor *this, CompoundTag *, BlockSource *);
  void (__fastcall *loadBlockData)(BlockActor *this, const CompoundTag *, BlockSource *, DataLoadHelper *);
  void (__fastcall *onCustomTagLoadDone)(BlockActor *this, BlockSource *);
  void (__fastcall *tick)(BlockActor *this, BlockSource *);
  bool (__fastcall *isFinished)(BlockActor *this);
  void (__fastcall *onChanged)(BlockActor *this, BlockSource *);
  bool (__fastcall *isMovable)(BlockActor *this, BlockSource *);
  bool (__fastcall *isCustomNameSaved)(BlockActor *this);
  bool (__fastcall *onUpdatePacket)(BlockActor *this, const CompoundTag *, BlockSource *, const Player *);
  void (__fastcall *onPlace)(BlockActor *this, BlockSource *);
  void (__fastcall *onMove)(BlockActor *this);
  void (__fastcall *onRemoved)(BlockActor *this, BlockSource *);
  void (__fastcall *triggerEvent)(BlockActor *this, int, int);
  void (__fastcall *clearCache)(BlockActor *this);
  void (__fastcall *onNeighborChanged)(BlockActor *this, BlockSource *, const BlockPos *);
  float (__fastcall *getShadowRadius)(BlockActor *this, BlockSource *);
  bool (__fastcall *hasAlphaLayer)(BlockActor *this);
  BlockActor *(__fastcall *getCrackEntity)(BlockActor *this, BlockSource *, const BlockPos *);
  void (__fastcall *getDebugText)(BlockActor *this, std::vector<std::string> *, const BlockPos *);
  const std::string *(__fastcall *getCustomName)(BlockActor *this);
  const std::string *(__fastcall *getFilteredCustomName)(BlockActor *this, const UIProfanityContext *);
  std::string *(__fastcall *getName)(BlockActor *this, std::string *result);
  void (__fastcall *setCustomName)(BlockActor *this, const std::string *);
  std::string *(__fastcall *getImmersiveReaderText)(BlockActor *this, std::string *result, BlockSource *);
  int (__fastcall *getRepairCost)(BlockActor *this);
  PistonBlockActor *(__fastcall *getOwningPiston)(BlockActor *this, BlockSource *);
  const Container *(__fastcall *getContainer)(BlockActor *this);
  Container *(__fastcall *getContainer)(BlockActor *this);
  float (__fastcall *getDeletionDelayTimeSeconds)(BlockActor *this);
  void (__fastcall *checkWordsOnChunkLoad)(BlockActor *this, LevelChunk *);
  void (__fastcall *checkWordsOnUpdate)(BlockActor *this, Player *);
  void (__fastcall *onChunkLoaded)(BlockActor *this, LevelChunk *);
  void (__fastcall *onChunkUnloaded)(BlockActor *this, LevelChunk *);
  std::unique_ptr<BlockActorDataPacket> *(__fastcall *_getUpdatePacket)(BlockActor *this, std::unique_ptr<BlockActorDataPacket> *result, BlockSource *);
  void (__fastcall *_onUpdatePacket)(BlockActor *this, const CompoundTag *, BlockSource *);
  bool (__fastcall *_playerCanUpdate)(BlockActor *this, const Player *);
};

# RandomizableBlockActorFillingContainer_vtbl

struct /*VFT*/ RandomizableBlockActorFillingContainer_vtbl
{
  void (__fastcall *~BlockActor)(BlockActor *this);
  void (__fastcall *load)(BlockActor *this, Level *, const CompoundTag *, DataLoadHelper *);
  bool (__fastcall *save)(BlockActor *this, CompoundTag *);
  bool (__fastcall *saveItemInstanceData)(BlockActor *this, CompoundTag *);
  void (__fastcall *saveBlockData)(BlockActor *this, CompoundTag *, BlockSource *);
  void (__fastcall *loadBlockData)(BlockActor *this, const CompoundTag *, BlockSource *, DataLoadHelper *);
  void (__fastcall *onCustomTagLoadDone)(BlockActor *this, BlockSource *);
  void (__fastcall *tick)(BlockActor *this, BlockSource *);
  bool (__fastcall *isFinished)(BlockActor *this);
  void (__fastcall *onChanged)(BlockActor *this, BlockSource *);
  bool (__fastcall *isMovable)(BlockActor *this, BlockSource *);
  bool (__fastcall *isCustomNameSaved)(BlockActor *this);
  bool (__fastcall *onUpdatePacket)(BlockActor *this, const CompoundTag *, BlockSource *, const Player *);
  void (__fastcall *onPlace)(BlockActor *this, BlockSource *);
  void (__fastcall *onMove)(BlockActor *this);
  void (__fastcall *onRemoved)(BlockActor *this, BlockSource *);
  void (__fastcall *triggerEvent)(BlockActor *this, int, int);
  void (__fastcall *clearCache)(BlockActor *this);
  void (__fastcall *onNeighborChanged)(BlockActor *this, BlockSource *, const BlockPos *);
  float (__fastcall *getShadowRadius)(BlockActor *this, BlockSource *);
  bool (__fastcall *hasAlphaLayer)(BlockActor *this);
  BlockActor *(__fastcall *getCrackEntity)(BlockActor *this, BlockSource *, const BlockPos *);
  void (__fastcall *getDebugText)(BlockActor *this, std::vector<std::string> *, const BlockPos *);
  const std::string *(__fastcall *getCustomName)(BlockActor *this);
  const std::string *(__fastcall *getFilteredCustomName)(BlockActor *this, const UIProfanityContext *);
  std::string *(__fastcall *getName)(BlockActor *this, std::string *result);
  void (__fastcall *setCustomName)(BlockActor *this, const std::string *);
  std::string *(__fastcall *getImmersiveReaderText)(BlockActor *this, std::string *result, BlockSource *);
  int (__fastcall *getRepairCost)(BlockActor *this);
  PistonBlockActor *(__fastcall *getOwningPiston)(BlockActor *this, BlockSource *);
  const Container *(__fastcall *getContainer)(BlockActor *this);
  Container *(__fastcall *getContainer)(BlockActor *this);
  float (__fastcall *getDeletionDelayTimeSeconds)(BlockActor *this);
  void (__fastcall *checkWordsOnChunkLoad)(BlockActor *this, LevelChunk *);
  void (__fastcall *checkWordsOnUpdate)(BlockActor *this, Player *);
  void (__fastcall *onChunkLoaded)(BlockActor *this, LevelChunk *);
  void (__fastcall *onChunkUnloaded)(BlockActor *this, LevelChunk *);
  std::unique_ptr<BlockActorDataPacket> *(__fastcall *_getUpdatePacket)(BlockActor *this, std::unique_ptr<BlockActorDataPacket> *result, BlockSource *);
  void (__fastcall *_onUpdatePacket)(BlockActor *this, const CompoundTag *, BlockSource *);
  bool (__fastcall *_playerCanUpdate)(BlockActor *this, const Player *);
};

# RemotePlayer_vtbl

struct /*VFT*/ RemotePlayer_vtbl
{
  bool (__fastcall *hasComponent)(Actor *this, const HashedString *);
  void (__fastcall *reloadHardcoded)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *reloadHardcodedClient)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *initializeComponents)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *reloadComponents)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *_serverInitItemStackIds)(Actor *this);
  void (__fastcall *_doInitialMove)(Actor *this);
  bool (__fastcall *checkAllSensitiveWords)(Actor *this);
  bool (__fastcall *checkNameTag)(Actor *this);
  void (__fastcall *~Actor)(Actor *this);
  void (__fastcall *reset)(Actor *this);
  int (__fastcall *getOnDeathExperience)(Actor *this);
  ActorType (__fastcall *getOwnerEntityType)(Actor *this);
  void (__fastcall *remove)(Actor *this);
  void (__fastcall *setPos)(Actor *this, const Vec3 *);
  const PredictedMovementValues *(__fastcall *getPredictedMovementValues)(Actor *this);
  const Vec3 *(__fastcall *getPos)(Actor *this);
  const Vec3 *(__fastcall *getPosOld)(Actor *this);
  const Vec3 *(__fastcall *getPosExtrapolated)(Actor *this, const Vec3 *result, float);
  Vec3 *(__fastcall *getAttachPos)(Actor *this, Vec3 *result, ActorLocation, float);
  Vec3 *(__fastcall *getFiringPos)(Actor *this, Vec3 *result);
  void (__fastcall *setRot)(Actor *this, const Vec2 *);
  void (__fastcall *move)(Actor *this, IActorMovementProxy *, const Vec3 *);
  void (__fastcall *move)(Actor *this, const Vec3 *);
  Vec3 *(__fastcall *getInterpolatedRidingPosition)(Actor *this, Vec3 *result, float);
  float (__fastcall *getInterpolatedBodyRot)(Actor *this, float);
  float (__fastcall *getInterpolatedHeadRot)(Actor *this, float);
  float (__fastcall *getInterpolatedBodyYaw)(Actor *this, float);
  float (__fastcall *getYawSpeedInDegreesPerSecond)(Actor *this);
  float (__fastcall *getInterpolatedWalkAnimSpeed)(Actor *this, float);
  Vec3 *(__fastcall *getInterpolatedRidingOffset)(Actor *this, Vec3 *result, float);
  void (__fastcall *checkBlockCollisions)(Actor *this);
  void (__fastcall *checkBlockCollisions)(Actor *this, const AABB *, std::function<void __cdecl(BlockSource &,Block const &,BlockPos const &,Actor &)>);
  bool (__fastcall *isFireImmune)(Actor *this);
  bool (__fastcall *breaksFallingBlocks)(Actor *this);
  void (__fastcall *blockedByShield)(Actor *this, const ActorDamageSource *, Actor *);
  void (__fastcall *teleportTo)(Actor *this, const Vec3 *, bool, int, int, const ActorUniqueID *);
  bool (__fastcall *tryTeleportTo)(Actor *this, const Vec3 *, bool, bool, int, int);
  void (__fastcall *chorusFruitTeleport)(Actor *this, Vec3 *);
  void (__fastcall *lerpTo)(Actor *this, const Vec3 *, const Vec2 *, int);
  void (__fastcall *lerpMotion)(Actor *this, const Vec3 *);
  std::unique_ptr<AddActorBasePacket> *(__fastcall *getAddPacket)(Actor *this, std::unique_ptr<AddActorBasePacket> *result);
  void (__fastcall *normalTick)(Actor *this);
  void (__fastcall *baseTick)(Actor *this);
  void (__fastcall *rideTick)(Actor *this);
  void (__fastcall *positionRider)(Actor *this, Actor *, float);
  float (__fastcall *getRidingHeight)(Actor *this);
  bool (__fastcall *startRiding)(Actor *this, Actor *);
  void (__fastcall *addRider)(Actor *this, Actor *);
  void (__fastcall *flagRiderToRemove)(Actor *this, Actor *);
  std::string *(__fastcall *getExitTip)(Actor *this, std::string *result, const std::string *, InputMode);
  bool (__fastcall *intersects)(Actor *this, const Vec3 *, const Vec3 *);
  bool (__fastcall *isFree)(Actor *this, const Vec3 *);
  bool (__fastcall *isFree)(Actor *this, const Vec3 *, float);
  bool (__fastcall *isInWall)(Actor *this);
  bool (__fastcall *isInvisible)(Actor *this);
  bool (__fastcall *canShowNameTag)(Actor *this);
  bool (__fastcall *canExistInPeaceful)(Actor *this);
  void (__fastcall *setNameTagVisible)(Actor *this, bool);
  const std::string *(__fastcall *getNameTag)(Actor *this);
  unsigned __int64 (__fastcall *getNameTagAsHash)(Actor *this);
  std::string *(__fastcall *getFormattedNameTag)(Actor *this, std::string *result);
  void (__fastcall *filterFormattedNameTag)(Actor *this, const UIProfanityContext *);
  void (__fastcall *setNameTag)(Actor *this, const std::string *);
  bool (__fastcall *getAlwaysShowNameTag)(Actor *this);
  void (__fastcall *setScoreTag)(Actor *this, const std::string *);
  const std::string *(__fastcall *getScoreTag)(Actor *this);
  bool (__fastcall *isInWater)(Actor *this);
  bool (__fastcall *hasEnteredWater)(Actor *this);
  bool (__fastcall *isImmersedInWater)(Actor *this);
  bool (__fastcall *isInWaterOrRain)(Actor *this);
  bool (__fastcall *isInLava)(Actor *this);
  bool (__fastcall *isUnderLiquid)(Actor *this, MaterialType);
  bool (__fastcall *isOverWater)(Actor *this);
  void (__fastcall *makeStuckInBlock)(Actor *this, const Vec3 *);
  float (__fastcall *getCameraOffset)(Actor *this);
  float (__fastcall *getShadowHeightOffs)(Actor *this);
  float (__fastcall *getShadowRadius)(Actor *this);
  Vec3 *(__fastcall *getHeadLookVector)(Actor *this, Vec3 *result, float);
  bool (__fastcall *canSeeInvisible)(Actor *this);
  bool (__fastcall *canSee)(Actor *this, const Vec3 *);
  bool (__fastcall *canSee)(Actor *this, const Actor *);
  bool (__fastcall *isSkyLit)(Actor *this, float);
  float (__fastcall *getBrightness)(Actor *this, float);
  bool (__fastcall *interactPreventDefault)(Actor *this);
  void (__fastcall *playerTouch)(Actor *this, Player *);
  void (__fastcall *onAboveBubbleColumn)(Actor *this, const bool);
  void (__fastcall *onInsideBubbleColumn)(Actor *this, const bool);
  bool (__fastcall *isImmobile)(Actor *this);
  bool (__fastcall *isSilent)(Actor *this);
  bool (__fastcall *isPickable)(Actor *this);
  bool (__fastcall *isFishable)(Actor *this);
  bool (__fastcall *isSleeping)(Actor *this);
  bool (__fastcall *isShootable)(Actor *this);
  void (__fastcall *setSneaking)(Actor *this, bool);
  bool (__fastcall *isBlocking)(Actor *this);
  bool (__fastcall *isDamageBlocked)(Actor *this, const ActorDamageSource *);
  bool (__fastcall *isAlive)(Actor *this);
  bool (__fastcall *isOnFire)(Actor *this);
  bool (__fastcall *isOnHotBlock)(Actor *this);
  bool (__fastcall *isCreativeModeAllowed)(Actor *this);
  bool (__fastcall *isSurfaceMob)(Actor *this);
  bool (__fastcall *isTargetable)(Actor *this);
  bool (__fastcall *isLocalPlayer)(Actor *this);
  bool (__fastcall *isPlayer)(Actor *this);
  bool (__fastcall *canAttack)(Actor *this, Actor *, bool);
  void (__fastcall *setTarget)(Actor *this, Actor *);
  Actor *(__fastcall *findAttackTarget)(Actor *this);
  bool (__fastcall *isValidTarget)(Actor *this, Actor *);
  bool (__fastcall *attack)(Actor *this, Actor *);
  void (__fastcall *performRangedAttack)(Actor *this, Actor *, float);
  void (__fastcall *adjustDamageAmount)(Actor *this, int *);
  int (__fastcall *getEquipmentCount)(Actor *this);
  void (__fastcall *setOwner)(Actor *this, const ActorUniqueID);
  void (__fastcall *setSitting)(Actor *this, bool);
  void (__fastcall *onTame)(Actor *this);
  void (__fastcall *onFailedTame)(Actor *this);
  int (__fastcall *getInventorySize)(Actor *this);
  int (__fastcall *getEquipSlots)(Actor *this);
  int (__fastcall *getChestSlots)(Actor *this);
  void (__fastcall *setStanding)(Actor *this, bool);
  bool (__fastcall *canPowerJump)(Actor *this);
  void (__fastcall *setCanPowerJump)(Actor *this, bool);
  bool (__fastcall *isJumping)(Actor *this);
  bool (__fastcall *isEnchanted)(Actor *this);
  void (__fastcall *rideJumped)(Actor *this);
  void (__fastcall *rideLanded)(Actor *this, const Vec3 *, const Vec3 *);
  bool (__fastcall *shouldRender)(Actor *this);
  bool (__fastcall *isInvulnerableTo)(Actor *this, const ActorDamageSource *);
  ActorDamageCause (__fastcall *getBlockDamageCause)(Actor *this, const Block *);
  void (__fastcall *actuallyHurt)(Actor *this, int, const ActorDamageSource *, bool);
  void (__fastcall *animateHurt)(Actor *this);
  bool (__fastcall *doFireHurt)(Actor *this, int);
  void (__fastcall *onLightningHit)(Actor *this);
  void (__fastcall *onBounceStarted)(Actor *this, const BlockPos *, const Block *);
  void (__fastcall *feed)(Actor *this, int);
  void (__fastcall *handleEntityEvent)(Actor *this, ActorEvent, int);
  float (__fastcall *getPickRadius)(Actor *this);
  const HashedString *(__fastcall *getActorRendererId)(Actor *this);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, const ItemStack *, float);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, const Block *, int, float);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, const Block *, int);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, int, int, float);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, int, int);
  void (__fastcall *despawn)(Actor *this);
  void (__fastcall *killed)(Actor *this, Actor *);
  void (__fastcall *awardKillScore)(Actor *this, Actor *, int);
  void (__fastcall *setArmor)(Actor *this, ArmorSlot, const ItemStack *);
  const ItemStack *(__fastcall *getArmor)(Actor *this, ArmorSlot);
  ArmorMaterialType (__fastcall *getArmorMaterialTypeInSlot)(Actor *this, ArmorSlot);
  ArmorTextureType (__fastcall *getArmorMaterialTextureTypeInSlot)(Actor *this, ArmorSlot);
  float (__fastcall *getArmorColorInSlot)(Actor *this, ArmorSlot, int);
  const ItemStack *(__fastcall *getEquippedSlot)(Actor *this, EquipmentSlot);
  void (__fastcall *setEquippedSlot)(Actor *this, EquipmentSlot, const ItemStack *);
  const ItemStack *(__fastcall *getCarriedItem)(Actor *this);
  void (__fastcall *setCarriedItem)(Actor *this, const ItemStack *);
  void (__fastcall *setOffhandSlot)(Actor *this, const ItemStack *);
  const ItemStack *(__fastcall *getEquippedTotem)(Actor *this);
  bool (__fastcall *consumeTotem)(Actor *this);
  bool (__fastcall *save)(Actor *this, CompoundTag *);
  void (__fastcall *saveWithoutId)(Actor *this, CompoundTag *);
  bool (__fastcall *load)(Actor *this, const CompoundTag *, DataLoadHelper *);
  void (__fastcall *loadLinks)(Actor *this, const CompoundTag *, std::vector<ActorLink> *, DataLoadHelper *);
  ActorType (__fastcall *getEntityTypeId)(Actor *this);
  const HashedString *(__fastcall *queryEntityRenderer)(Actor *this);
  ActorUniqueID *(__fastcall *getSourceUniqueID)(Actor *this, ActorUniqueID *result);
  void (__fastcall *setOnFire)(Actor *this, int);
  AABB *(__fastcall *getHandleWaterAABB)(Actor *this, AABB *result);
  void (__fastcall *handleInsidePortal)(Actor *this, const BlockPos *);
  int (__fastcall *getPortalCooldown)(Actor *this);
  int (__fastcall *getPortalWaitTime)(Actor *this);
  AutomaticID<Dimension,int> *(__fastcall *getDimensionId)(Actor *this, AutomaticID<Dimension,int> *result);
  bool (__fastcall *canChangeDimensions)(Actor *this);
  void (__fastcall *changeDimension)(Actor *this, const ChangeDimensionPacket *);
  void (__fastcall *changeDimension)(Actor *this, AutomaticID<Dimension,int>, bool);
  ActorUniqueID *(__fastcall *getControllingPlayer)(Actor *this, ActorUniqueID *result);
  void (__fastcall *checkFallDamage)(Actor *this, float, bool);
  void (__fastcall *causeFallDamage)(Actor *this, float);
  void (__fastcall *handleFallDistanceOnServer)(Actor *this, float, bool);
  void (__fastcall *playSynchronizedSound)(Actor *this, LevelSoundEvent, const Vec3 *, int, bool);
  void (__fastcall *playSynchronizedSound)(Actor *this, LevelSoundEvent, const Vec3 *, const Block *, bool);
  void (__fastcall *onSynchedDataUpdate)(Actor *this, int);
  bool (__fastcall *canAddRider)(Actor *this, Actor *);
  bool (__fastcall *canPickupItem)(Actor *this, const ItemStack *);
  bool (__fastcall *canBePulledIntoVehicle)(Actor *this);
  bool (__fastcall *inCaravan)(Actor *this);
  bool (__fastcall *isLeashableType)(Actor *this);
  void (__fastcall *tickLeash)(Actor *this);
  void (__fastcall *sendMotionPacketIfNeeded)(Actor *this);
  bool (__fastcall *canSynchronizeNewEntity)(Actor *this);
  bool (__fastcall *stopRiding)(Actor *this, bool, bool, bool, bool);
  void (__fastcall *startSwimming)(Actor *this);
  void (__fastcall *stopSwimming)(Actor *this);
  void (__fastcall *buildDebugInfo)(Actor *this, std::string *);
  CommandPermissionLevel (__fastcall *getCommandPermissionLevel)(Actor *this);
  AttributeInstance *(__fastcall *getMutableAttribute)(Actor *this, const Attribute *);
  const AttributeInstance *(__fastcall *getAttribute)(Actor *this, const Attribute *);
  int (__fastcall *getDeathTime)(Actor *this);
  void (__fastcall *heal)(Actor *this, int);
  bool (__fastcall *isInvertedHealAndHarm)(Actor *this);
  bool (__fastcall *canBeAffected)(Actor *this, const MobEffectInstance *);
  bool (__fastcall *canBeAffected)(Actor *this, int);
  bool (__fastcall *canBeAffectedByArrow)(Actor *this, const MobEffectInstance *);
  void (__fastcall *onEffectAdded)(Actor *this, MobEffectInstance *);
  void (__fastcall *onEffectUpdated)(Actor *this, const MobEffectInstance *);
  void (__fastcall *onEffectRemoved)(Actor *this, MobEffectInstance *);
  AnimationComponent *(__fastcall *getAnimationComponent)(Actor *this);
  void (__fastcall *openContainerComponent)(Actor *this, Player *);
  void (__fastcall *swing)(Actor *this);
  void (__fastcall *useItem)(Actor *this, ItemStackBase *, ItemUseMethod, bool);
  bool (__fastcall *hasOutputSignal)(Actor *this, unsigned __int8);
  int (__fastcall *getOutputSignal)(Actor *this);
  void (__fastcall *getDebugText)(Actor *this, std::vector<std::string> *);
  float (__fastcall *getMapDecorationRotation)(Actor *this);
  float (__fastcall *getRiderYRotation)(Actor *this, const Actor *);
  float (__fastcall *getYHeadRot)(Actor *this);
  bool (__fastcall *isWorldBuilder)(Actor *this);
  bool (__fastcall *isCreative)(Actor *this);
  bool (__fastcall *isAdventure)(Actor *this);
  bool (__fastcall *add)(Actor *this, ItemStack *);
  bool (__fastcall *drop)(Actor *this, const ItemStack *, bool);
  bool (__fastcall *getInteraction)(Actor *this, Player *, ActorInteraction *, const Vec3 *);
  bool (__fastcall *canDestroyBlock)(Actor *this, const Block *);
  void (__fastcall *setAuxValue)(Actor *this, int);
  void (__fastcall *setSize)(Actor *this, float, float);
  int (__fastcall *getLifeSpan)(Actor *this);
  void (__fastcall *onOrphan)(Actor *this);
  void (__fastcall *wobble)(Actor *this);
  bool (__fastcall *wasHurt)(Actor *this);
  void (__fastcall *startSpinAttack)(Actor *this);
  void (__fastcall *stopSpinAttack)(Actor *this);
  void (__fastcall *setDamageNearbyMobs)(Actor *this, bool);
  bool (__fastcall *hasCritBox)(Actor *this);
  bool (__fastcall *isCritHit)(Actor *this);
  void (__fastcall *renderDebugServerState)(Actor *this, const Options *);
  void (__fastcall *reloadLootTable)(Actor *this, const EquipmentTableDefinition *);
  void (__fastcall *reloadLootTable)(Actor *this);
  float (__fastcall *getDeletionDelayTimeSeconds)(Actor *this);
  void (__fastcall *kill)(Actor *this);
  void (__fastcall *die)(Actor *this, const ActorDamageSource *);
  bool (__fastcall *shouldTick)(Actor *this);
  std::shared_ptr<IActorMovementProxy> *(__fastcall *createMovementProxy)(Actor *this, std::shared_ptr<IActorMovementProxy> *result);
  void (__fastcall *updateEntitySpecificMolangVariables)(Actor *this, RenderParams *);
  bool (__fastcall *shouldTryMakeStepSound)(Actor *this);
  float (__fastcall *getNextStep)(Actor *this, const float);
  bool (__fastcall *canMakeStepSound)(Actor *this);
  void (__fastcall *outOfWorld)(Actor *this);
  bool (__fastcall *_hurt)(Actor *this, const ActorDamageSource *, int, bool, bool);
  void (__fastcall *markHurt)(Actor *this);
  void (__fastcall *readAdditionalSaveData)(Actor *this, const CompoundTag *, DataLoadHelper *);
  void (__fastcall *addAdditionalSaveData)(Actor *this, CompoundTag *);
  void (__fastcall *_playStepSound)(Actor *this, const BlockPos *, const Block *);
  void (__fastcall *_playFlySound)(Actor *this, const BlockPos *, const Block *);
  bool (__fastcall *_makeFlySound)(Actor *this);
  void (__fastcall *checkInsideBlocks)(Actor *this, float);
  void (__fastcall *pushOutOfBlocks)(Actor *this, const Vec3 *);
  bool (__fastcall *updateWaterState)(Actor *this);
  void (__fastcall *doWaterSplashEffect)(Actor *this);
  void (__fastcall *spawnTrailBubbles)(Actor *this);
  void (__fastcall *updateInsideBlock)(Actor *this);
  LootTable *(__fastcall *getLootTable)(Actor *this);
  LootTable *(__fastcall *getDefaultLootTable)(Actor *this);
  void (__fastcall *_removeRider)(Actor *this, const ActorUniqueID *, bool, bool, bool);
  void (__fastcall *_onSizeUpdated)(Actor *this);
  void (__fastcall *_doAutoAttackOnTouch)(Actor *this, Actor *);
  void (__fastcall *knockback)(Mob *this, Actor *, int, float, float, float, float, float);
  void (__fastcall *resolveDeathLoot)(Mob *this, int, const ActorDamageSource *);
  void (__fastcall *spawnAnim)(Mob *this);
  void (__fastcall *setSleeping)(Mob *this, bool);
  void (__fastcall *setSprinting)(Mob *this, bool);
  void (__fastcall *playAmbientSound)(Mob *this);
  LevelSoundEvent (__fastcall *getAmbientSound)(Mob *this);
  int (__fastcall *getAmbientSoundPostponeTicks)(Mob *this);
  int (__fastcall *getAmbientSoundPostponeTicksRange)(Mob *this);
  const TextureUVCoordinateSet *(__fastcall *getItemInHandIcon)(Mob *this, const ItemStack *, int);
  float (__fastcall *getSpeed)(Mob *this);
  void (__fastcall *setSpeed)(Mob *this, float);
  float (__fastcall *getJumpPower)(Mob *this);
  bool (__fastcall *hurtEffects)(Mob *this, const ActorDamageSource *, int, bool, bool);
  int (__fastcall *getMeleeWeaponDamageBonus)(Mob *this, Mob *);
  int (__fastcall *getMeleeKnockbackBonus)(Mob *this);
  void (__fastcall *travel)(Mob *this, IMobMovementProxy *, float, float, float);
  void (__fastcall *travel)(Mob *this, float, float, float);
  void (__fastcall *applyFinalFriction)(Mob *this, float, bool);
  void (__fastcall *updateWalkAnim)(Mob *this);
  void (__fastcall *aiStep)(Mob *this, IMobMovementProxy *);
  void (__fastcall *aiStep)(Mob *this);
  void (__fastcall *pushActors)(Mob *this);
  void (__fastcall *lookAt)(Mob *this, Actor *, float, float);
  bool (__fastcall *isLookingAtAnEntity)(Mob *this);
  bool (__fastcall *checkSpawnRules)(Mob *this, bool);
  bool (__fastcall *checkSpawnObstruction)(Mob *this);
  float (__fastcall *getAttackAnim)(Mob *this, float);
  int (__fastcall *getItemUseDuration)(Mob *this);
  float (__fastcall *getItemUseStartupProgress)(Mob *this);
  float (__fastcall *getItemUseIntervalProgress)(Mob *this);
  int (__fastcall *getItemuseIntervalAxis)(Mob *this);
  int (__fastcall *getTimeAlongSwing)(Mob *this);
  void (__fastcall *ate)(Mob *this);
  float (__fastcall *getMaxHeadXRot)(Mob *this);
  Mob *(__fastcall *getLastHurtByMob)(Mob *this);
  void (__fastcall *setLastHurtByMob)(Mob *this, Mob *);
  Player *(__fastcall *getLastHurtByPlayer)(Mob *this);
  void (__fastcall *setLastHurtByPlayer)(Mob *this, Player *);
  Mob *(__fastcall *getLastHurtMob)(Mob *this);
  void (__fastcall *setLastHurtMob)(Mob *this, Actor *);
  bool (__fastcall *isAlliedTo)(Mob *this, Mob *);
  bool (__fastcall *doHurtTarget)(Mob *this, Actor *);
  bool (__fastcall *canBeControlledByRider)(Mob *this);
  void (__fastcall *leaveCaravan)(Mob *this);
  void (__fastcall *joinCaravan)(Mob *this, Mob *);
  bool (__fastcall *hasCaravanTail)(Mob *this);
  ActorUniqueID *(__fastcall *getCaravanHead)(Mob *this, ActorUniqueID *result);
  int (__fastcall *getArmorValue)(Mob *this);
  float (__fastcall *getArmorCoverPercentage)(Mob *this);
  void (__fastcall *hurtArmor)(Mob *this, const ActorDamageSource *, int, const std::bitset<4> *);
  void (__fastcall *hurtArmor)(Mob *this, const ActorDamageSource *, int);
  void (__fastcall *hurtArmorSlot)(Mob *this, const ActorDamageSource *, int, ArmorSlot);
  void (__fastcall *setDamagedArmor)(Mob *this, ArmorSlot, const ItemStack *);
  void (__fastcall *sendArmorDamage)(Mob *this, const std::bitset<4> *);
  void (__fastcall *sendArmor)(Mob *this, const std::bitset<4> *);
  void (__fastcall *containerChanged)(Mob *this, int);
  void (__fastcall *updateEquipment)(Mob *this);
  int (__fastcall *clearEquipment)(Mob *this);
  std::vector<ItemStack const *> *(__fastcall *getAllArmor)(Mob *this, std::vector<ItemStack const *> *result);
  std::vector<int> *(__fastcall *getAllArmorID)(Mob *this, std::vector<int> *result);
  std::vector<ItemStack const *> *(__fastcall *getAllHand)(Mob *this, std::vector<ItemStack const *> *result);
  std::vector<ItemStack const *> *(__fastcall *getAllEquipment)(Mob *this, std::vector<ItemStack const *> *result);
  int (__fastcall *getArmorTypeHash)(Mob *this);
  void (__fastcall *dropEquipmentOnDeath)(Mob *this);
  void (__fastcall *dropEquipmentOnDeath)(Mob *this, const ActorDamageSource *, int);
  void (__fastcall *clearVanishEnchantedItemsOnDeath)(Mob *this);
  void (__fastcall *sendInventory)(Mob *this, bool);
  int (__fastcall *getDamageAfterMagicAbsorb)(Mob *this, const ActorDamageSource *, int);
  bool (__fastcall *createAIGoals)(Mob *this);
  void (__fastcall *onBorn)(Mob *this, Actor *, Actor *);
  bool (__fastcall *setItemSlot)(Mob *this, EquipmentSlot, const ItemStack *);
  void (__fastcall *setTransitioningSitting)(Mob *this, bool);
  void (__fastcall *attackAnimation)(Mob *this, Actor *, float);
  int (__fastcall *getAttackTime)(Mob *this);
  float (__fastcall *_getWalkTargetValue)(Mob *this, const BlockPos *);
  bool (__fastcall *canExistWhenDisallowMob)(Mob *this);
  bool (__fastcall *useNewAi)(Mob *this);
  void (__fastcall *ascendLadder)(Mob *this);
  void (__fastcall *ascendScaffolding)(Mob *this);
  void (__fastcall *descendScaffolding)(Mob *this);
  void (__fastcall *dropContainer)(Mob *this);
  std::unique_ptr<BodyControl> *(__fastcall *initBodyControl)(Mob *this, std::unique_ptr<BodyControl> *result);
  void (__fastcall *jumpFromGround)(Mob *this, IMobMovementProxy *);
  void (__fastcall *jumpFromGround)(Mob *this);
  void (__fastcall *updateAi)(Mob *this);
  void (__fastcall *newServerAiStep)(Mob *this);
  void (__fastcall *_serverAiMobStep)(Mob *this);
  int (__fastcall *getDamageAfterEnchantReduction)(Mob *this, const ActorDamageSource *, int);
  int (__fastcall *getDamageAfterArmorAbsorb)(Mob *this, const ActorDamageSource *, int);
  void (__fastcall *dropBags)(Mob *this);
  void (__fastcall *tickDeath)(Mob *this);
  void (__fastcall *updateGliding)(Mob *this);
  bool (__fastcall *_allowAscendingScaffolding)(Mob *this);
  void (__fastcall *prepareRegion)(Player *this, ChunkSource *);
  void (__fastcall *destroyRegion)(Player *this);
  void (__fastcall *suspendRegion)(Player *this);
  void (__fastcall *resendAllChunks)(Player *this);
  void (__fastcall *_fireWillChangeDimension)(Player *this);
  void (__fastcall *_fireDimensionChanged)(Player *this);
  void (__fastcall *changeDimensionWithCredits)(Player *this, AutomaticID<Dimension,int>);
  int (__fastcall *tickWorld)(Player *this, const Tick *);
  void (__fastcall *frameUpdate)(Player *this, FrameUpdateContextBase *);
  const std::vector<ChunkPos> *(__fastcall *getTickingOffsets)(Player *this);
  void (__fastcall *moveView)(Player *this);
  void (__fastcall *setName)(Player *this, const std::string *);
  void (__fastcall *checkMovementStats)(Player *this, const Vec3 *);
  StructureFeatureType (__fastcall *getCurrentStructureFeature)(Player *this);
  bool (__fastcall *isAutoJumpEnabled)(Player *this);
  void (__fastcall *respawn)(Player *this);
  void (__fastcall *resetRot)(Player *this);
  void (__fastcall *resetPos)(Player *this, bool);
  bool (__fastcall *isInTrialMode)(Player *this);
  bool (__fastcall *hasResource)(Player *this, int);
  void (__fastcall *completeUsingItem)(Player *this);
  void (__fastcall *setPermissions)(Player *this, CommandPermissionLevel);
  void (__fastcall *startDestroying)(Player *this);
  void (__fastcall *stopDestroying)(Player *this);
  void (__fastcall *openPortfolio)(Player *this);
  void (__fastcall *openBook)(Player *this, int, bool, int, BlockActor *);
  void (__fastcall *openTrading)(Player *this, const ActorUniqueID *, bool);
  bool (__fastcall *canOpenContainerScreen)(Player *this);
  void (__fastcall *openChalkboard)(Player *this, ChalkboardBlockActor *, bool);
  void (__fastcall *openNpcInteractScreen)(Player *this, Actor *);
  bool (__fastcall *openInventory)(Player *this);
  void (__fastcall *displayChatMessage)(Player *this, const std::string *, const std::string *);
  void (__fastcall *displayClientMessage)(Player *this, const std::string *);
  void (__fastcall *displayTextObjectMessage)(Player *this, const TextObjectRoot *);
  void (__fastcall *displayTextObjectWhisperMessage)(Player *this, const ResolvedTextObject *, const std::string *, const std::string *);
  void (__fastcall *displayWhisperMessage)(Player *this, const std::string *, const std::string *, const std::string *, const std::string *);
  BedSleepingResult (__fastcall *startSleepInBed)(Player *this, const BlockPos *);
  void (__fastcall *stopSleepInBed)(Player *this, bool, bool);
  bool (__fastcall *canStartSleepInBed)(Player *this);
  int (__fastcall *getSleepTimer)(Player *this);
  int (__fastcall *getPreviousTickSleepTimer)(Player *this);
  void (__fastcall *openSign)(Player *this, const BlockPos *);
  void (__fastcall *playEmote)(Player *this, const std::string *);
  bool (__fastcall *isHostingPlayer)(Player *this);
  bool (__fastcall *isLoading)(Player *this);
  bool (__fastcall *isPlayerInitialized)(Player *this);
  void (__fastcall *stopLoading)(Player *this);
  void (__fastcall *registerTrackedBoss)(Player *this, ActorUniqueID);
  void (__fastcall *unRegisterTrackedBoss)(Player *this, ActorUniqueID);
  void (__fastcall *setPlayerGameType)(Player *this, GameType);
  void (__fastcall *initHUDContainerManager)(Player *this);
  void (__fastcall *_crit)(Player *this, Actor *);
  IMinecraftEventing *(__fastcall *getEventing)(Player *this);
  unsigned int (__fastcall *getUserId)(Player *this);
  void (__fastcall *sendEventPacket)(Player *this, EventPacket *);
  void (__fastcall *addExperience)(Player *this, int);
  void (__fastcall *addLevels)(Player *this, int);
  void (__fastcall *setContainerData)(Player *this, IContainerManager *, int, int);
  void (__fastcall *slotChanged)(Player *this, IContainerManager *, Container *, int, const ItemStack *, const ItemStack *, bool);
  void (__fastcall *inventoryChanged)(Player *this, Container *, int, const ItemStack *, const ItemStack *, bool);
  void (__fastcall *refreshContainer)(Player *this, IContainerManager *);
  void (__fastcall *deleteContainerManager)(Player *this);
  void (__fastcall *setFieldOfViewModifier)(Player *this, float);
  bool (__fastcall *is2DPositionRelevant)(Player *this, AutomaticID<Dimension,int>, const BlockPos *);
  bool (__fastcall *isEntityRelevant)(Player *this, const Actor *);
  bool (__fastcall *isTeacher)(Player *this);
  void (__fastcall *onSuspension)(Player *this);
  void (__fastcall *onLinkedSlotsChanged)(Player *this);
  void (__fastcall *startCooldown)(Player *this, const Item *);
  int (__fastcall *getItemCooldownLeft)(Player *this, const std::string *);
  bool (__fastcall *isItemInCooldown)(Player *this, const std::string *);
  void (__fastcall *sendInventoryTransaction)(Player *this, const InventoryTransaction *);
  void (__fastcall *sendComplexInventoryTransaction)(Player *this, std::unique_ptr<ComplexInventoryTransaction>);
  void (__fastcall *sendNetworkPacket)(Player *this, Packet *);
  PlayerEventCoordinator *(__fastcall *getPlayerEventCoordinator)(Player *this);
  MoveInputHandler *(__fastcall *getMoveInputHandler)(Player *this);
  InputMode (__fastcall *getInputMode)(Player *this);
  ClientPlayMode (__fastcall *getPlayMode)(Player *this);
  void (__fastcall *reportMovementTelemetry)(Player *this, const MovementEventType);
  bool (__fastcall *getCamereDeparted)(Player *this);
  bool (__fastcall *getThirdPersonPerspective)(Player *this);
  Vec2 *(__fastcall *getRotationToCamera)(Player *this, Vec2 *result);
  void (__fastcall *onMovePlayerPacketNormal)(Player *this, const Vec3 *, const Vec2 *, float);
};

# RenderChunkCoordinator_vtbl

struct /*VFT*/ RenderChunkCoordinator_vtbl
{
  void (__fastcall *~BlockSourceListener)(BlockSourceListener *this);
  void (__fastcall *onSourceCreated)(BlockSourceListener *this, BlockSource *);
  void (__fastcall *onSourceDestroyed)(BlockSourceListener *this, BlockSource *);
  void (__fastcall *onAreaChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *, const BlockPos *);
  void (__fastcall *onBlockChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *, unsigned int, const Block *, const Block *, int, const ActorBlockSyncMessage *);
  void (__fastcall *onBrightnessChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *);
  void (__fastcall *onBlockEntityChanged)(BlockSourceListener *this, BlockSource *, BlockActor *);
  void (__fastcall *onBlockEntityAboutToBeRemoved)(BlockSourceListener *this, BlockSource *, std::shared_ptr<BlockActor>);
  void (__fastcall *onEntityChanged)(BlockSourceListener *this, BlockSource *, Actor *);
  void (__fastcall *onBlockEvent)(BlockSourceListener *this, BlockSource *, int, int, int, int, int);
  void (__fastcall *allChanged)(LevelListener *this);
  Particle *(__fastcall *addParticle)(LevelListener *this, ParticleType, const Vec3 *, const Vec3 *, int, const CompoundTag *, bool);
  void (__fastcall *sendServerLegacyParticle)(LevelListener *this, ParticleType, const Vec3 *, const Vec3 *, int);
  void (__fastcall *addParticleEffect)(LevelListener *this, const HashedString *, const Actor *, const HashedString *, const Vec3 *, const MolangVariableMap *);
  void (__fastcall *addParticleEffect)(LevelListener *this, const HashedString *, const Vec3 *, const MolangVariableMap *);
  void (__fastcall *addTerrainParticleEffect)(LevelListener *this, const BlockPos *, const Block *, const Vec3 *, float, float, float);
  void (__fastcall *addTerrainSlideEffect)(LevelListener *this, const BlockPos *, const Block *, const Vec3 *, float, float, float);
  void (__fastcall *addBreakingItemParticleEffect)(LevelListener *this, const Vec3 *, ParticleType, const TextureUVCoordinateSet *, bool);
  void (__fastcall *playMusic)(LevelListener *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *playStreamingMusic)(LevelListener *this, const std::string *, int, int, int);
  void (__fastcall *onEntityAdded)(LevelListener *this, Actor *);
  void (__fastcall *onEntityRemoved)(LevelListener *this, Actor *);
  void (__fastcall *onChunkLoaded)(LevelListener *this, ChunkSource *, LevelChunk *);
  void (__fastcall *onChunkUnloaded)(LevelListener *this, LevelChunk *);
  void (__fastcall *onLevelDestruction)(LevelListener *this, const std::string *);
  void (__fastcall *levelEvent)(LevelListener *this, LevelEvent, const CompoundTag *);
  void (__fastcall *levelEvent)(LevelListener *this, LevelEvent, const Vec3 *, int);
  void (__fastcall *levelSoundEvent)(LevelListener *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *levelSoundEvent)(LevelListener *this, LevelSoundEvent, const Vec3 *, int, const ActorDefinitionIdentifier *, bool, bool);
  void (__fastcall *stopSoundEvent)(LevelListener *this, const std::string *);
  void (__fastcall *stopAllSounds)(LevelListener *this);
  void (__fastcall *takePicture)(LevelListener *this, cg::ImageBuffer *, Actor *, Actor *, ScreenshotOptions *);
  void (__fastcall *playerListChanged)(LevelListener *this);
};

# Rabbit_vtbl

struct /*VFT*/ Rabbit_vtbl
{
  bool (__fastcall *hasComponent)(Actor *this, const HashedString *);
  void (__fastcall *reloadHardcoded)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *reloadHardcodedClient)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *initializeComponents)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *reloadComponents)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *_serverInitItemStackIds)(Actor *this);
  void (__fastcall *_doInitialMove)(Actor *this);
  bool (__fastcall *checkAllSensitiveWords)(Actor *this);
  bool (__fastcall *checkNameTag)(Actor *this);
  void (__fastcall *~Actor)(Actor *this);
  void (__fastcall *reset)(Actor *this);
  int (__fastcall *getOnDeathExperience)(Actor *this);
  ActorType (__fastcall *getOwnerEntityType)(Actor *this);
  void (__fastcall *remove)(Actor *this);
  void (__fastcall *setPos)(Actor *this, const Vec3 *);
  const PredictedMovementValues *(__fastcall *getPredictedMovementValues)(Actor *this);
  const Vec3 *(__fastcall *getPos)(Actor *this);
  const Vec3 *(__fastcall *getPosOld)(Actor *this);
  const Vec3 *(__fastcall *getPosExtrapolated)(Actor *this, const Vec3 *result, float);
  Vec3 *(__fastcall *getAttachPos)(Actor *this, Vec3 *result, ActorLocation, float);
  Vec3 *(__fastcall *getFiringPos)(Actor *this, Vec3 *result);
  void (__fastcall *setRot)(Actor *this, const Vec2 *);
  void (__fastcall *move)(Actor *this, IActorMovementProxy *, const Vec3 *);
  void (__fastcall *move)(Actor *this, const Vec3 *);
  Vec3 *(__fastcall *getInterpolatedRidingPosition)(Actor *this, Vec3 *result, float);
  float (__fastcall *getInterpolatedBodyRot)(Actor *this, float);
  float (__fastcall *getInterpolatedHeadRot)(Actor *this, float);
  float (__fastcall *getInterpolatedBodyYaw)(Actor *this, float);
  float (__fastcall *getYawSpeedInDegreesPerSecond)(Actor *this);
  float (__fastcall *getInterpolatedWalkAnimSpeed)(Actor *this, float);
  Vec3 *(__fastcall *getInterpolatedRidingOffset)(Actor *this, Vec3 *result, float);
  void (__fastcall *checkBlockCollisions)(Actor *this);
  void (__fastcall *checkBlockCollisions)(Actor *this, const AABB *, std::function<void __cdecl(BlockSource &,Block const &,BlockPos const &,Actor &)>);
  bool (__fastcall *isFireImmune)(Actor *this);
  bool (__fastcall *breaksFallingBlocks)(Actor *this);
  void (__fastcall *blockedByShield)(Actor *this, const ActorDamageSource *, Actor *);
  void (__fastcall *teleportTo)(Actor *this, const Vec3 *, bool, int, int, const ActorUniqueID *);
  bool (__fastcall *tryTeleportTo)(Actor *this, const Vec3 *, bool, bool, int, int);
  void (__fastcall *chorusFruitTeleport)(Actor *this, Vec3 *);
  void (__fastcall *lerpTo)(Actor *this, const Vec3 *, const Vec2 *, int);
  void (__fastcall *lerpMotion)(Actor *this, const Vec3 *);
  std::unique_ptr<AddActorBasePacket> *(__fastcall *getAddPacket)(Actor *this, std::unique_ptr<AddActorBasePacket> *result);
  void (__fastcall *normalTick)(Actor *this);
  void (__fastcall *baseTick)(Actor *this);
  void (__fastcall *rideTick)(Actor *this);
  void (__fastcall *positionRider)(Actor *this, Actor *, float);
  float (__fastcall *getRidingHeight)(Actor *this);
  bool (__fastcall *startRiding)(Actor *this, Actor *);
  void (__fastcall *addRider)(Actor *this, Actor *);
  void (__fastcall *flagRiderToRemove)(Actor *this, Actor *);
  std::string *(__fastcall *getExitTip)(Actor *this, std::string *result, const std::string *, InputMode);
  bool (__fastcall *intersects)(Actor *this, const Vec3 *, const Vec3 *);
  bool (__fastcall *isFree)(Actor *this, const Vec3 *);
  bool (__fastcall *isFree)(Actor *this, const Vec3 *, float);
  bool (__fastcall *isInWall)(Actor *this);
  bool (__fastcall *isInvisible)(Actor *this);
  bool (__fastcall *canShowNameTag)(Actor *this);
  bool (__fastcall *canExistInPeaceful)(Actor *this);
  void (__fastcall *setNameTagVisible)(Actor *this, bool);
  const std::string *(__fastcall *getNameTag)(Actor *this);
  unsigned __int64 (__fastcall *getNameTagAsHash)(Actor *this);
  std::string *(__fastcall *getFormattedNameTag)(Actor *this, std::string *result);
  void (__fastcall *filterFormattedNameTag)(Actor *this, const UIProfanityContext *);
  void (__fastcall *setNameTag)(Actor *this, const std::string *);
  bool (__fastcall *getAlwaysShowNameTag)(Actor *this);
  void (__fastcall *setScoreTag)(Actor *this, const std::string *);
  const std::string *(__fastcall *getScoreTag)(Actor *this);
  bool (__fastcall *isInWater)(Actor *this);
  bool (__fastcall *hasEnteredWater)(Actor *this);
  bool (__fastcall *isImmersedInWater)(Actor *this);
  bool (__fastcall *isInWaterOrRain)(Actor *this);
  bool (__fastcall *isInLava)(Actor *this);
  bool (__fastcall *isUnderLiquid)(Actor *this, MaterialType);
  bool (__fastcall *isOverWater)(Actor *this);
  void (__fastcall *makeStuckInBlock)(Actor *this, const Vec3 *);
  float (__fastcall *getCameraOffset)(Actor *this);
  float (__fastcall *getShadowHeightOffs)(Actor *this);
  float (__fastcall *getShadowRadius)(Actor *this);
  Vec3 *(__fastcall *getHeadLookVector)(Actor *this, Vec3 *result, float);
  bool (__fastcall *canSeeInvisible)(Actor *this);
  bool (__fastcall *canSee)(Actor *this, const Vec3 *);
  bool (__fastcall *canSee)(Actor *this, const Actor *);
  bool (__fastcall *isSkyLit)(Actor *this, float);
  float (__fastcall *getBrightness)(Actor *this, float);
  bool (__fastcall *interactPreventDefault)(Actor *this);
  void (__fastcall *playerTouch)(Actor *this, Player *);
  void (__fastcall *onAboveBubbleColumn)(Actor *this, const bool);
  void (__fastcall *onInsideBubbleColumn)(Actor *this, const bool);
  bool (__fastcall *isImmobile)(Actor *this);
  bool (__fastcall *isSilent)(Actor *this);
  bool (__fastcall *isPickable)(Actor *this);
  bool (__fastcall *isFishable)(Actor *this);
  bool (__fastcall *isSleeping)(Actor *this);
  bool (__fastcall *isShootable)(Actor *this);
  void (__fastcall *setSneaking)(Actor *this, bool);
  bool (__fastcall *isBlocking)(Actor *this);
  bool (__fastcall *isDamageBlocked)(Actor *this, const ActorDamageSource *);
  bool (__fastcall *isAlive)(Actor *this);
  bool (__fastcall *isOnFire)(Actor *this);
  bool (__fastcall *isOnHotBlock)(Actor *this);
  bool (__fastcall *isCreativeModeAllowed)(Actor *this);
  bool (__fastcall *isSurfaceMob)(Actor *this);
  bool (__fastcall *isTargetable)(Actor *this);
  bool (__fastcall *isLocalPlayer)(Actor *this);
  bool (__fastcall *isPlayer)(Actor *this);
  bool (__fastcall *canAttack)(Actor *this, Actor *, bool);
  void (__fastcall *setTarget)(Actor *this, Actor *);
  Actor *(__fastcall *findAttackTarget)(Actor *this);
  bool (__fastcall *isValidTarget)(Actor *this, Actor *);
  bool (__fastcall *attack)(Actor *this, Actor *);
  void (__fastcall *performRangedAttack)(Actor *this, Actor *, float);
  void (__fastcall *adjustDamageAmount)(Actor *this, int *);
  int (__fastcall *getEquipmentCount)(Actor *this);
  void (__fastcall *setOwner)(Actor *this, const ActorUniqueID);
  void (__fastcall *setSitting)(Actor *this, bool);
  void (__fastcall *onTame)(Actor *this);
  void (__fastcall *onFailedTame)(Actor *this);
  int (__fastcall *getInventorySize)(Actor *this);
  int (__fastcall *getEquipSlots)(Actor *this);
  int (__fastcall *getChestSlots)(Actor *this);
  void (__fastcall *setStanding)(Actor *this, bool);
  bool (__fastcall *canPowerJump)(Actor *this);
  void (__fastcall *setCanPowerJump)(Actor *this, bool);
  bool (__fastcall *isJumping)(Actor *this);
  bool (__fastcall *isEnchanted)(Actor *this);
  void (__fastcall *rideJumped)(Actor *this);
  void (__fastcall *rideLanded)(Actor *this, const Vec3 *, const Vec3 *);
  bool (__fastcall *shouldRender)(Actor *this);
  bool (__fastcall *isInvulnerableTo)(Actor *this, const ActorDamageSource *);
  ActorDamageCause (__fastcall *getBlockDamageCause)(Actor *this, const Block *);
  void (__fastcall *actuallyHurt)(Actor *this, int, const ActorDamageSource *, bool);
  void (__fastcall *animateHurt)(Actor *this);
  bool (__fastcall *doFireHurt)(Actor *this, int);
  void (__fastcall *onLightningHit)(Actor *this);
  void (__fastcall *onBounceStarted)(Actor *this, const BlockPos *, const Block *);
  void (__fastcall *feed)(Actor *this, int);
  void (__fastcall *handleEntityEvent)(Actor *this, ActorEvent, int);
  float (__fastcall *getPickRadius)(Actor *this);
  const HashedString *(__fastcall *getActorRendererId)(Actor *this);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, const ItemStack *, float);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, const Block *, int, float);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, const Block *, int);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, int, int, float);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, int, int);
  void (__fastcall *despawn)(Actor *this);
  void (__fastcall *killed)(Actor *this, Actor *);
  void (__fastcall *awardKillScore)(Actor *this, Actor *, int);
  void (__fastcall *setArmor)(Actor *this, ArmorSlot, const ItemStack *);
  const ItemStack *(__fastcall *getArmor)(Actor *this, ArmorSlot);
  ArmorMaterialType (__fastcall *getArmorMaterialTypeInSlot)(Actor *this, ArmorSlot);
  ArmorTextureType (__fastcall *getArmorMaterialTextureTypeInSlot)(Actor *this, ArmorSlot);
  float (__fastcall *getArmorColorInSlot)(Actor *this, ArmorSlot, int);
  const ItemStack *(__fastcall *getEquippedSlot)(Actor *this, EquipmentSlot);
  void (__fastcall *setEquippedSlot)(Actor *this, EquipmentSlot, const ItemStack *);
  const ItemStack *(__fastcall *getCarriedItem)(Actor *this);
  void (__fastcall *setCarriedItem)(Actor *this, const ItemStack *);
  void (__fastcall *setOffhandSlot)(Actor *this, const ItemStack *);
  const ItemStack *(__fastcall *getEquippedTotem)(Actor *this);
  bool (__fastcall *consumeTotem)(Actor *this);
  bool (__fastcall *save)(Actor *this, CompoundTag *);
  void (__fastcall *saveWithoutId)(Actor *this, CompoundTag *);
  bool (__fastcall *load)(Actor *this, const CompoundTag *, DataLoadHelper *);
  void (__fastcall *loadLinks)(Actor *this, const CompoundTag *, std::vector<ActorLink> *, DataLoadHelper *);
  ActorType (__fastcall *getEntityTypeId)(Actor *this);
  const HashedString *(__fastcall *queryEntityRenderer)(Actor *this);
  ActorUniqueID *(__fastcall *getSourceUniqueID)(Actor *this, ActorUniqueID *result);
  void (__fastcall *setOnFire)(Actor *this, int);
  AABB *(__fastcall *getHandleWaterAABB)(Actor *this, AABB *result);
  void (__fastcall *handleInsidePortal)(Actor *this, const BlockPos *);
  int (__fastcall *getPortalCooldown)(Actor *this);
  int (__fastcall *getPortalWaitTime)(Actor *this);
  AutomaticID<Dimension,int> *(__fastcall *getDimensionId)(Actor *this, AutomaticID<Dimension,int> *result);
  bool (__fastcall *canChangeDimensions)(Actor *this);
  void (__fastcall *changeDimension)(Actor *this, const ChangeDimensionPacket *);
  void (__fastcall *changeDimension)(Actor *this, AutomaticID<Dimension,int>, bool);
  ActorUniqueID *(__fastcall *getControllingPlayer)(Actor *this, ActorUniqueID *result);
  void (__fastcall *checkFallDamage)(Actor *this, float, bool);
  void (__fastcall *causeFallDamage)(Actor *this, float);
  void (__fastcall *handleFallDistanceOnServer)(Actor *this, float, bool);
  void (__fastcall *playSynchronizedSound)(Actor *this, LevelSoundEvent, const Vec3 *, int, bool);
  void (__fastcall *playSynchronizedSound)(Actor *this, LevelSoundEvent, const Vec3 *, const Block *, bool);
  void (__fastcall *onSynchedDataUpdate)(Actor *this, int);
  bool (__fastcall *canAddRider)(Actor *this, Actor *);
  bool (__fastcall *canPickupItem)(Actor *this, const ItemStack *);
  bool (__fastcall *canBePulledIntoVehicle)(Actor *this);
  bool (__fastcall *inCaravan)(Actor *this);
  bool (__fastcall *isLeashableType)(Actor *this);
  void (__fastcall *tickLeash)(Actor *this);
  void (__fastcall *sendMotionPacketIfNeeded)(Actor *this);
  bool (__fastcall *canSynchronizeNewEntity)(Actor *this);
  bool (__fastcall *stopRiding)(Actor *this, bool, bool, bool, bool);
  void (__fastcall *startSwimming)(Actor *this);
  void (__fastcall *stopSwimming)(Actor *this);
  void (__fastcall *buildDebugInfo)(Actor *this, std::string *);
  CommandPermissionLevel (__fastcall *getCommandPermissionLevel)(Actor *this);
  AttributeInstance *(__fastcall *getMutableAttribute)(Actor *this, const Attribute *);
  const AttributeInstance *(__fastcall *getAttribute)(Actor *this, const Attribute *);
  int (__fastcall *getDeathTime)(Actor *this);
  void (__fastcall *heal)(Actor *this, int);
  bool (__fastcall *isInvertedHealAndHarm)(Actor *this);
  bool (__fastcall *canBeAffected)(Actor *this, const MobEffectInstance *);
  bool (__fastcall *canBeAffected)(Actor *this, int);
  bool (__fastcall *canBeAffectedByArrow)(Actor *this, const MobEffectInstance *);
  void (__fastcall *onEffectAdded)(Actor *this, MobEffectInstance *);
  void (__fastcall *onEffectUpdated)(Actor *this, const MobEffectInstance *);
  void (__fastcall *onEffectRemoved)(Actor *this, MobEffectInstance *);
  AnimationComponent *(__fastcall *getAnimationComponent)(Actor *this);
  void (__fastcall *openContainerComponent)(Actor *this, Player *);
  void (__fastcall *swing)(Actor *this);
  void (__fastcall *useItem)(Actor *this, ItemStackBase *, ItemUseMethod, bool);
  bool (__fastcall *hasOutputSignal)(Actor *this, unsigned __int8);
  int (__fastcall *getOutputSignal)(Actor *this);
  void (__fastcall *getDebugText)(Actor *this, std::vector<std::string> *);
  float (__fastcall *getMapDecorationRotation)(Actor *this);
  float (__fastcall *getRiderYRotation)(Actor *this, const Actor *);
  float (__fastcall *getYHeadRot)(Actor *this);
  bool (__fastcall *isWorldBuilder)(Actor *this);
  bool (__fastcall *isCreative)(Actor *this);
  bool (__fastcall *isAdventure)(Actor *this);
  bool (__fastcall *add)(Actor *this, ItemStack *);
  bool (__fastcall *drop)(Actor *this, const ItemStack *, bool);
  bool (__fastcall *getInteraction)(Actor *this, Player *, ActorInteraction *, const Vec3 *);
  bool (__fastcall *canDestroyBlock)(Actor *this, const Block *);
  void (__fastcall *setAuxValue)(Actor *this, int);
  void (__fastcall *setSize)(Actor *this, float, float);
  int (__fastcall *getLifeSpan)(Actor *this);
  void (__fastcall *onOrphan)(Actor *this);
  void (__fastcall *wobble)(Actor *this);
  bool (__fastcall *wasHurt)(Actor *this);
  void (__fastcall *startSpinAttack)(Actor *this);
  void (__fastcall *stopSpinAttack)(Actor *this);
  void (__fastcall *setDamageNearbyMobs)(Actor *this, bool);
  bool (__fastcall *hasCritBox)(Actor *this);
  bool (__fastcall *isCritHit)(Actor *this);
  void (__fastcall *renderDebugServerState)(Actor *this, const Options *);
  void (__fastcall *reloadLootTable)(Actor *this, const EquipmentTableDefinition *);
  void (__fastcall *reloadLootTable)(Actor *this);
  float (__fastcall *getDeletionDelayTimeSeconds)(Actor *this);
  void (__fastcall *kill)(Actor *this);
  void (__fastcall *die)(Actor *this, const ActorDamageSource *);
  bool (__fastcall *shouldTick)(Actor *this);
  std::shared_ptr<IActorMovementProxy> *(__fastcall *createMovementProxy)(Actor *this, std::shared_ptr<IActorMovementProxy> *result);
  void (__fastcall *updateEntitySpecificMolangVariables)(Actor *this, RenderParams *);
  bool (__fastcall *shouldTryMakeStepSound)(Actor *this);
  float (__fastcall *getNextStep)(Actor *this, const float);
  bool (__fastcall *canMakeStepSound)(Actor *this);
  void (__fastcall *outOfWorld)(Actor *this);
  bool (__fastcall *_hurt)(Actor *this, const ActorDamageSource *, int, bool, bool);
  void (__fastcall *markHurt)(Actor *this);
  void (__fastcall *readAdditionalSaveData)(Actor *this, const CompoundTag *, DataLoadHelper *);
  void (__fastcall *addAdditionalSaveData)(Actor *this, CompoundTag *);
  void (__fastcall *_playStepSound)(Actor *this, const BlockPos *, const Block *);
  void (__fastcall *_playFlySound)(Actor *this, const BlockPos *, const Block *);
  bool (__fastcall *_makeFlySound)(Actor *this);
  void (__fastcall *checkInsideBlocks)(Actor *this, float);
  void (__fastcall *pushOutOfBlocks)(Actor *this, const Vec3 *);
  bool (__fastcall *updateWaterState)(Actor *this);
  void (__fastcall *doWaterSplashEffect)(Actor *this);
  void (__fastcall *spawnTrailBubbles)(Actor *this);
  void (__fastcall *updateInsideBlock)(Actor *this);
  LootTable *(__fastcall *getLootTable)(Actor *this);
  LootTable *(__fastcall *getDefaultLootTable)(Actor *this);
  void (__fastcall *_removeRider)(Actor *this, const ActorUniqueID *, bool, bool, bool);
  void (__fastcall *_onSizeUpdated)(Actor *this);
  void (__fastcall *_doAutoAttackOnTouch)(Actor *this, Actor *);
  void (__fastcall *knockback)(Mob *this, Actor *, int, float, float, float, float, float);
  void (__fastcall *resolveDeathLoot)(Mob *this, int, const ActorDamageSource *);
  void (__fastcall *spawnAnim)(Mob *this);
  void (__fastcall *setSleeping)(Mob *this, bool);
  void (__fastcall *setSprinting)(Mob *this, bool);
  void (__fastcall *playAmbientSound)(Mob *this);
  LevelSoundEvent (__fastcall *getAmbientSound)(Mob *this);
  int (__fastcall *getAmbientSoundPostponeTicks)(Mob *this);
  int (__fastcall *getAmbientSoundPostponeTicksRange)(Mob *this);
  const TextureUVCoordinateSet *(__fastcall *getItemInHandIcon)(Mob *this, const ItemStack *, int);
  float (__fastcall *getSpeed)(Mob *this);
  void (__fastcall *setSpeed)(Mob *this, float);
  float (__fastcall *getJumpPower)(Mob *this);
  bool (__fastcall *hurtEffects)(Mob *this, const ActorDamageSource *, int, bool, bool);
  int (__fastcall *getMeleeWeaponDamageBonus)(Mob *this, Mob *);
  int (__fastcall *getMeleeKnockbackBonus)(Mob *this);
  void (__fastcall *travel)(Mob *this, IMobMovementProxy *, float, float, float);
  void (__fastcall *travel)(Mob *this, float, float, float);
  void (__fastcall *applyFinalFriction)(Mob *this, float, bool);
  void (__fastcall *updateWalkAnim)(Mob *this);
  void (__fastcall *aiStep)(Mob *this, IMobMovementProxy *);
  void (__fastcall *aiStep)(Mob *this);
  void (__fastcall *pushActors)(Mob *this);
  void (__fastcall *lookAt)(Mob *this, Actor *, float, float);
  bool (__fastcall *isLookingAtAnEntity)(Mob *this);
  bool (__fastcall *checkSpawnRules)(Mob *this, bool);
  bool (__fastcall *checkSpawnObstruction)(Mob *this);
  float (__fastcall *getAttackAnim)(Mob *this, float);
  int (__fastcall *getItemUseDuration)(Mob *this);
  float (__fastcall *getItemUseStartupProgress)(Mob *this);
  float (__fastcall *getItemUseIntervalProgress)(Mob *this);
  int (__fastcall *getItemuseIntervalAxis)(Mob *this);
  int (__fastcall *getTimeAlongSwing)(Mob *this);
  void (__fastcall *ate)(Mob *this);
  float (__fastcall *getMaxHeadXRot)(Mob *this);
  Mob *(__fastcall *getLastHurtByMob)(Mob *this);
  void (__fastcall *setLastHurtByMob)(Mob *this, Mob *);
  Player *(__fastcall *getLastHurtByPlayer)(Mob *this);
  void (__fastcall *setLastHurtByPlayer)(Mob *this, Player *);
  Mob *(__fastcall *getLastHurtMob)(Mob *this);
  void (__fastcall *setLastHurtMob)(Mob *this, Actor *);
  bool (__fastcall *isAlliedTo)(Mob *this, Mob *);
  bool (__fastcall *doHurtTarget)(Mob *this, Actor *);
  bool (__fastcall *canBeControlledByRider)(Mob *this);
  void (__fastcall *leaveCaravan)(Mob *this);
  void (__fastcall *joinCaravan)(Mob *this, Mob *);
  bool (__fastcall *hasCaravanTail)(Mob *this);
  ActorUniqueID *(__fastcall *getCaravanHead)(Mob *this, ActorUniqueID *result);
  int (__fastcall *getArmorValue)(Mob *this);
  float (__fastcall *getArmorCoverPercentage)(Mob *this);
  void (__fastcall *hurtArmor)(Mob *this, const ActorDamageSource *, int, const std::bitset<4> *);
  void (__fastcall *hurtArmor)(Mob *this, const ActorDamageSource *, int);
  void (__fastcall *hurtArmorSlot)(Mob *this, const ActorDamageSource *, int, ArmorSlot);
  void (__fastcall *setDamagedArmor)(Mob *this, ArmorSlot, const ItemStack *);
  void (__fastcall *sendArmorDamage)(Mob *this, const std::bitset<4> *);
  void (__fastcall *sendArmor)(Mob *this, const std::bitset<4> *);
  void (__fastcall *containerChanged)(Mob *this, int);
  void (__fastcall *updateEquipment)(Mob *this);
  int (__fastcall *clearEquipment)(Mob *this);
  std::vector<ItemStack const *> *(__fastcall *getAllArmor)(Mob *this, std::vector<ItemStack const *> *result);
  std::vector<int> *(__fastcall *getAllArmorID)(Mob *this, std::vector<int> *result);
  std::vector<ItemStack const *> *(__fastcall *getAllHand)(Mob *this, std::vector<ItemStack const *> *result);
  std::vector<ItemStack const *> *(__fastcall *getAllEquipment)(Mob *this, std::vector<ItemStack const *> *result);
  int (__fastcall *getArmorTypeHash)(Mob *this);
  void (__fastcall *dropEquipmentOnDeath)(Mob *this);
  void (__fastcall *dropEquipmentOnDeath)(Mob *this, const ActorDamageSource *, int);
  void (__fastcall *clearVanishEnchantedItemsOnDeath)(Mob *this);
  void (__fastcall *sendInventory)(Mob *this, bool);
  int (__fastcall *getDamageAfterMagicAbsorb)(Mob *this, const ActorDamageSource *, int);
  bool (__fastcall *createAIGoals)(Mob *this);
  void (__fastcall *onBorn)(Mob *this, Actor *, Actor *);
  bool (__fastcall *setItemSlot)(Mob *this, EquipmentSlot, const ItemStack *);
  void (__fastcall *setTransitioningSitting)(Mob *this, bool);
  void (__fastcall *attackAnimation)(Mob *this, Actor *, float);
  int (__fastcall *getAttackTime)(Mob *this);
  float (__fastcall *_getWalkTargetValue)(Mob *this, const BlockPos *);
  bool (__fastcall *canExistWhenDisallowMob)(Mob *this);
  bool (__fastcall *useNewAi)(Mob *this);
  void (__fastcall *ascendLadder)(Mob *this);
  void (__fastcall *ascendScaffolding)(Mob *this);
  void (__fastcall *descendScaffolding)(Mob *this);
  void (__fastcall *dropContainer)(Mob *this);
  std::unique_ptr<BodyControl> *(__fastcall *initBodyControl)(Mob *this, std::unique_ptr<BodyControl> *result);
  void (__fastcall *jumpFromGround)(Mob *this, IMobMovementProxy *);
  void (__fastcall *jumpFromGround)(Mob *this);
  void (__fastcall *updateAi)(Mob *this);
  void (__fastcall *newServerAiStep)(Mob *this);
  void (__fastcall *_serverAiMobStep)(Mob *this);
  int (__fastcall *getDamageAfterEnchantReduction)(Mob *this, const ActorDamageSource *, int);
  int (__fastcall *getDamageAfterArmorAbsorb)(Mob *this, const ActorDamageSource *, int);
  void (__fastcall *dropBags)(Mob *this);
  void (__fastcall *tickDeath)(Mob *this);
  void (__fastcall *updateGliding)(Mob *this);
  bool (__fastcall *_allowAscendingScaffolding)(Mob *this);
};