# S

# sockaddr_storage

Offset Type Name
0 (2) unsigned __int16 ss_family
2 (6) char[6] __ss_pad1
8 (8) __int64 __ss_align
16 (112) char[112] __ss_pad2

# sockaddr_in6

Offset Type Name
0 (2) unsigned __int16 sin6_family
2 (2) unsigned __int16 sin6_port
4 (4) unsigned int sin6_flowinfo
8 (16) in6_addr sin6_addr
24 (4) $FFF57C54CBA81593691E4AEB54295E0F ___u4

# SCOPE_ID

Offset Type Name
0 (4) $530EFB6A1D65251AD0979CDC2CB9746C ___u0

# sockaddr_in

Offset Type Name
0 (2) unsigned __int16 sin_family
2 (2) unsigned __int16 sin_port
4 (4) in_addr sin_addr
8 (8) char[8] sin_zero

# Social::MultiplayerGameInfo

Offset Type Name
0 (24) std::vector<Social::GameConnectionInfo> supportedConnections
24 (32) std::string ownerId
56 (24) std::vector<unsigned __int64> playerIds
80 (32) std::string ownerNickname
112 (32) std::string handleId
144 (32) std::string levelId
176 (32) std::string sessionId
208 (32) std::string rakNetGUID
240 (32) std::string worldName
272 (32) std::string gameType
304 (32) std::string version
336 (8) __int64 realmId
344 (32) std::string thirdPartyServerId
376 (32) std::string thirdPartyServerIp
408 (4) int thirdPartyServerPort
412 (4) int protocol
416 (4) int maxMemberCount
420 (4) int memberCount
424 (4) Social::MultiplayerServiceIdentifier serviceProvider
432 (32) Core::Path serviceIconPath
464 (4) Social::GamePublishSetting broadcastSetting
468 (1) bool lanGame
469 (1) bool onlineCrossPlatformGame

# ScoreboardScreenController::_generatePlayerLists::__l9::<lambda_c30327f16354614b4afd1e568442035f>

Offset Type Name
0 (8) const __int64 localId

# StorageManagementScreenController::_registerBindings::__l2::<lambda_2b4e32f678902a37655dae31890e7661>::()::__l2::<lambda_e8ef8c4786064a9115d51b6c5376d6f0>

Offset Type Name

# StorageManagementScreenController::_registerBindings::__l2::<lambda_55a97dd0adea2a21290bc7f05a124545>::()::__l2::<lambda_efaf8c6a77e10d7cc7313ebe36397c81>

Offset Type Name

# Stopwatch

Offset Type Name
0 (8) Stopwatch_vtbl * __vftable
8 (8) long double _st
16 (8) long double _tt
24 (8) long double _last
32 (8) long double _max
40 (4) int _count
44 (4) int _printcounter

# ScreenRenderBatch::_sortRenderControlsCollection::__l2::<lambda_3bc987c7d55656a61929d19e67d0bc15>

Offset Type Name

# ScreenView::_prepResevedButtonUpLists::__l15::<lambda_52074e29716179749e6c979bfd9e3b6c>

Offset Type Name

# SemVersion

Offset Type Name
0 (2) unsigned __int16 mMajor
2 (2) unsigned __int16 mMinor
4 (2) unsigned __int16 mPatch
8 (32) std::string mPreRelease
40 (32) std::string mBuildMeta
72 (32) std::string mFullVersionString
104 (1) bool mValidVersion
105 (1) bool mAnyVersion

# Skin

Offset Type Name
0 (32) Core::PathBuffer<std::string > mSkinTextureName
32 (8) SkinPack * mSkinPack
40 (16) std::shared_ptr<FileWatcherUpdate> mFileWatcherUpdate
56 (32) std::string mName
88 (32) std::string mLocName
120 (32) std::string mSerializableName
152 (32) std::string mSerializableLegacyName
184 (32) Core::PathBuffer<std::string > mCapeTextureName
216 (32) Core::PathBuffer<std::string > mBloomTextureName
248 (56) ResourceLocation mBloomImageLocation
304 (32) std::string mIID
336 (56) ResourceLocation mSkinImageLocation
392 (56) ResourceLocation mCapeImageLocation
448 (56) ResourceLocation mAnimationsLocation
504 (56) ResourceLocation mAnimationControllersLocation
560 (4) Skin::SkinType mSkinType
568 (16) mce::FileWatcherHandle mSkinFileWatcherHanedle
584 (16) mce::FileWatcherHandle mCapeFileWatcherHanedle
600 (4) int mSkinIndex
608 (8) std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastUpdated
616 (1) bool mIsCapeOnClassicSkin
624 (32) std::string mCapeId
656 (640) SerializedSkin mSerializedSkin

# SerializedSkin

Offset Type Name
0 (32) std::string mId
32 (32) std::string fullId
64 (32) std::string mResourcePatch
96 (32) std::string mDefaultGeometryName
128 (80) mce::Image mSkinImage
208 (80) mce::Image mCapeImage
288 (80) mce::Image mBloomImage
368 (24) std::vector<AnimatedImageData> mSkinAnimatedImages
392 (16) Json::Value mGeometryData
408 (16) Json::Value mGeometryDataMutable
424 (32) std::string mAnimationData
456 (32) std::string mCapeId
488 (1) bool mIsPremium
489 (1) bool mIsPersona
490 (1) bool mIsPersonaCapeOnClassicSkin
496 (24) std::vector<SerializedPersonaPieceHandle> mPersonaPieces
520 (32) std::string mArmSize
552 (64) std::unordered_map<enum persona::PieceType,TintMapColor> mPieceTintColors
616 (16) mce::Color mSkinColor
632 (1) TrustedSkinFlag mIsTrustedSkin
633 (1) bool mIsPreview
636 (4) unsigned int mSkinVersion

# SkinHandle

Offset Type Name
0 (16) mce::UUID mPackId
16 (24) ContentIdentity mContentIdentity
40 (4) int mSkinIndex
48 (32) std::string mSkinName
80 (32) std::string mCapeId

# StoreCatalogItem

Offset Type Name
0 (8) IStoreCatalogItem baseclass_0
8 (32) const std::string mProductId
40 (32) std::string mPriceInCoinsStr
72 (32) std::string mDiscountPriceStr
104 (4) int mDiscountPrice
108 (4) int mTotalMSRP
112 (4) float mDiscount
120 (32) std::string mSalesDocId
152 (8) __int64 mDiscountEndTimeInSeconds
160 (4) StoreCatalogCategory mStoreCategory
164 (4) _BYTE[4] mMinPerfTier
168 (368) DurableCustom mDurableCustom
536 (584) CommonDocument mCommon
1120 (8) std::unique_ptr<StoreCatalogItemCollectionInfo> mOfferCollectionInfo
1128 (24) std::vector<StoreItemPDPData> mMashupSections
1152 (24) std::vector<std::string> mPackIcons
1176 (1) bool mIsFeatured
1177 (1) bool mIsHydrating
1184 (24) std::vector<Entitlement const *> mEntitlements
1208 (48) ReviewModel mReviewModel
1256 (24) std::vector<StoreCatalogItem::ImageInfo> mImageInfoList
1280 (64) std::unordered_map<std::string,std::string> mTitleDictionary
1344 (64) std::unordered_map<std::string,std::string> mDescriptionDictionary
1408 (64) std::function<void __cdecl(void)> mRefreshBindsCallback
1472 (64) std::function<enum ItemInstallState __cdecl(std::vector<PackIdVersion> const &)> mGetItemInstallStateCallback
1536 (1) bool mIsValid
1537 (1) bool mVersionCompatible
1538 (1) bool mCreatedFromSearchResults
1539 (1) bool mIsOnSale
1540 (1) bool mExpired
1544 (16) std::shared_ptr<bool> mExistenceTracker
1560 (16) std::shared_ptr<StoreVisualStyle> mRelatedItemsRow

# StoreFilter::Toggle

Offset Type Name
0 (32) std::string mLabel
32 (32) std::string mTag
64 (16) SearchQuery::Range mRange
80 (1) bool mDefaultState
81 (1) bool mState

# SearchQuery::Range

Offset Type Name
0 (1) bool mLowSet
4 (4) float mLow
8 (1) bool mHighSet
12 (4) float mHigh

# ServiceRegistrationToken<AppPlatform>

Offset Type Name
0 (8) AppPlatform * mService

# SPSCQueue<GameControllerHandler_Windows::InputState_Windows,512>

Offset Type Name
0 (8) Lockless::WeakAtomic<SPSCQueue<GameControllerHandler_Windows::InputState_Windows,512>::Block *> mFrontBlock
8 (56) char[56] mCachelineFiller
64 (8) Lockless::WeakAtomic<SPSCQueue<GameControllerHandler_Windows::InputState_Windows,512>::Block *> mTailBlock
72 (8) unsigned __int64 mLargestBlockSize

# SerializerEnumMapping

Offset Type Name
0 (64) std::unordered_map<std::string,unsigned int> mNameToID
64 (64) std::unordered_map<unsigned int,std::string> mIDToName
128 (8) unsigned __int64 mSizeOf

# SkinData

Offset Type Name
0 (8) std::optional<int> mVariant
8 (8) std::optional<int> mMarkVariant

# ScoreboardCommand::listObjectives::__l2::<lambda_4f79f5ac9079702c990b557428a715f7>

Offset Type Name

# SoundPlayerInterface

Offset Type Name
0 (8) SoundPlayerInterface_vtbl * __vftable
8 (16) Bedrock::EnableNonOwnerReferences baseclass_8

# SlotData

Offset Type Name
0 (32) std::string mCollectionName
32 (4) int mCollectionIndex

# ScatterParamsMolangVariableIndices

Offset Type Name
0 (2) _BYTE[2] mVariableOriginXIndex
2 (2) _BYTE[2] mVariableOriginYIndex
4 (2) _BYTE[2] mVariableOriginZIndex
6 (6) _BYTE[6] mVariableWorldIndex

# ServiceRegistrationToken<AppConfigs>

Offset Type Name
0 (8) AppConfigs * mService

# ServiceRegistrationToken<DataUtils::MiscData>

Offset Type Name
0 (8) DataUtils::MiscData * mService

# ScriptUtility

Offset Type Name
0 (8) ScriptInstance * m_instance

# Semaphore

Offset Type Name
0 (72) std::condition_variable mCondition
72 (80) std::mutex mMutex
152 (4) std::atomic<unsigned int> mCount

# SPSCQueue<unsigned int,512>

Offset Type Name
0 (8) Lockless::WeakAtomic<SPSCQueue<unsigned int,512>::Block *> mFrontBlock
8 (56) char[56] mCachelineFiller
64 (8) Lockless::WeakAtomic<SPSCQueue<unsigned int,512>::Block *> mTailBlock
72 (8) unsigned __int64 mLargestBlockSize

# static_tree_desc_s

Offset Type Name
0 (8) const ct_data_s * static_tree
8 (8) const int * extra_bits
16 (4) int extra_base
20 (4) int elems
24 (4) int max_length

# stbi_io_callbacks

Offset Type Name
0 (8) int (__fastcall *)(void *, char *, int) read
8 (8) void (__fastcall *)(void *, int) skip
16 (8) int (__fastcall *)(void *) eof

# stbir__filter_info

Offset Type Name
0 (8) float (__fastcall *)(float, float) kernel
8 (8) float (__fastcall *)(float) support

# SFNT_Interface_

Offset Type Name
0 (8) int (__fastcall *)(TT_FaceRec_ *, unsigned int, FT_StreamRec_ *, unsigned int *) goto_table
8 (8) int (__fastcall *)(FT_StreamRec_ *, TT_FaceRec_ *, int, int, FT_Parameter_ *) init_face
16 (8) int (__fastcall *)(FT_StreamRec_ *, TT_FaceRec_ *, int, int, FT_Parameter_ *) load_face
24 (8) void (__fastcall *)(TT_FaceRec_ *) done_face
32 (8) void *(__fastcall *)(FT_ModuleRec_ *, const char *) get_interface
40 (8) int (__fastcall *)(TT_FaceRec_ *, unsigned int, int, unsigned __int8 *, unsigned int *) load_any
48 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_head
56 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *, unsigned __int8) load_hhea
64 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_cmap
72 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_maxp
80 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_os2
88 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_post
96 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_name
104 (8) void (__fastcall *)(TT_FaceRec_ *) free_name
112 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_kern
120 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_gasp
128 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_pclt
136 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_bhed
144 (8) int (__fastcall *)(TT_FaceRec_ *, unsigned int, unsigned int, unsigned int, FT_StreamRec_ *, FT_Bitmap_ *, TT_SBit_MetricsRec_ *) load_sbit_image
152 (8) int (__fastcall *)(TT_FaceRec_ *, unsigned int, char **) get_psname
160 (8) void (__fastcall *)(TT_FaceRec_ *) free_psnames
168 (8) int (__fastcall *)(TT_FaceRec_ *, unsigned int, unsigned int) get_kerning
176 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_font_dir
184 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *, unsigned __int8) load_hmtx
192 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_eblc
200 (8) void (__fastcall *)(TT_FaceRec_ *) free_eblc
208 (8) int (__fastcall *)(TT_FaceRec_ *, FT_Size_RequestRec_ *, unsigned int *) set_sbit_strike
216 (8) int (__fastcall *)(TT_FaceRec_ *, unsigned int, FT_Size_Metrics_ *) load_strike_metrics
224 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_cpal
232 (8) int (__fastcall *)(TT_FaceRec_ *, FT_StreamRec_ *) load_colr
240 (8) void (__fastcall *)(TT_FaceRec_ *) free_cpal
248 (8) void (__fastcall *)(TT_FaceRec_ *) free_colr
256 (8) int (__fastcall *)(TT_FaceRec_ *, unsigned int) set_palette
264 (8) unsigned __int8 (__fastcall *)(TT_FaceRec_ *, unsigned int, unsigned int *, unsigned int *, FT_LayerIterator_ *) get_colr_layer
272 (8) int (__fastcall *)(TT_FaceRec_ *, unsigned int, FT_GlyphSlotRec_ *, FT_GlyphSlotRec_ *) colr_blend
280 (8) void (__fastcall *)(TT_FaceRec_ *, unsigned __int8, unsigned int, __int16 *, wchar_t *) get_metrics
288 (8) int (__fastcall *)(TT_FaceRec_ *, unsigned __int16, char **) get_name
296 (8) unsigned __int8 (__fastcall *)(TT_FaceRec_ *, unsigned __int16, int *, int *) get_name_id

# state

Offset Type Name
0 (4) int s_narcs
8 (8) arc * s_arc
16 (4) int s_lower
20 (4) int s_upper
24 (8) int * s_accel
32 (4) int s_accept

# ScoreboardIdentityRef

Offset Type Name
0 (4) unsigned int mObjectiveReferences
8 (16) ScoreboardId mScoreboardId

# ScoreboardId

Offset Type Name
0 (8) __int64 mRawID
8 (8) IdentityDefinition * mIdentityDef

# SubChunkPos

Offset Type Name
0 (4) int x
4 (4) int y
8 (4) int z

# Social::GameConnectionInfo

Offset Type Name
0 (2) _BYTE[2] mType
8 (32) std::string mHostIpAddress
40 (32) std::string mUnresolvedUrl
72 (4) int mPort
80 (32) std::string mRakNetGUID
112 (136) ThirdPartyInfo mThirdPartyServerInfo
248 (1) bool mAllowSmallDownloads

# SparklerItem::ColorInfo

Offset Type Name
0 (1) _BYTE[1] mDyeId
1 (1) _BYTE[1] mColorCompound
4 (4) int mVariantIndex
8 (4) int mRGB

# SpatialActorNetworkData::DebugSendRateModifiers

Offset Type Name
0 (4) int mSendEveryNPackets
4 (4) int mDropPacketChance
8 (1) bool mDrawDebugLines

# SmallSet<WorkerPool *>

Offset Type Name
0 (24) std::vector<WorkerPool *> c

# ServiceRegistrationToken<EducationOptions>

Offset Type Name
0 (8) EducationOptions * mService

# SpinLock

Offset Type Name
8 (8) const unsigned __int64 mNoThreadId
16 (8) std::atomic<unsigned __int64> mOwnerThread
24 (4) unsigned int mOwnerRefCount

# ServiceOverrider<bool (__cdecl*)(AssertHandlerContext const &)>

Offset Type Name
0 (168) Bedrock::Threading::InstancedThreadLocal<bool (__cdecl**)(AssertHandlerContext const &),std::allocator<bool (__cdecl**)(AssertHandlerContext const &)> > mService
168 (8) bool (__fastcall **)(const AssertHandlerContext *) mDefaultService

# SubChunk

Offset Type Name
0 (8) DirtyTicksCounter mDirtyTicksCounter
8 (8) std::unique_ptr<SubChunkBrightnessStorage> mLight
16 (16) std::unique_ptr<SubChunkBlockStorage>[2] mBlocks
32 (16) SubChunkBlockStorage *[2] mBlocksReadPtr
48 (8) SpinLock * mWriteLock

# Social::XboxLiveUserProfileData

Offset Type Name
0 (32) std::string mXuid
32 (4) _BYTE[4] mFetchedData
40 (32) std::string mGamertag
72 (32) std::string mDisplayName
104 (16) Social::UserPicturePath mGamerPicPath
120 (32) std::string mTitleName
152 (4) int mTitleId
160 (32) std::string mGamerScore
192 (1) bool mNarratorEnabled
193 (1) bool mIsProfileValid
200 (32) std::string mPresenceMessage
232 (4) _BYTE[4] mPresence
236 (4) _BYTE[4] mIsMuted
240 (4) _BYTE[4] mIsBlocked
244 (4) _BYTE[4] mIsFriend
248 (4) _BYTE[4] mIsFavorite
252 (4) _BYTE[4] mIsFollowingMe
256 (24) std::vector<Social::XboxLivePermission> mPermissions

# Social::UserPicturePath

Offset Type Name
0 (16) std::shared_ptr<ResourceLocation> mLocation

# StopwatchHandler

Offset Type Name
0 (16) std::map<std::string,std::unique_ptr<Stopwatch>> _map
16 (4) int _printcounter

# SpatialActorNetworkData::DebugSpatialPacketModifiers

Offset Type Name
0 (8) unsigned __int64 mCurrentSentSpatialPackets
8 (8) unsigned __int64 mExpectedSentSpatialPackets
16 (8) unsigned __int64 mCurrentSentMotionPredictionHintsPackets
24 (1) bool mUseValueOverrides
25 (1) bool mUseScoreOverride
28 (4) float mOverridemMaxOptimizedDistance
32 (8) unsigned __int64 mOverridemMaxDroppedTicks
40 (8) unsigned __int64 mOverrideScoreValue
48 (1) bool mOverridemUseMotionPredictionHints

# Social::XboxLiveLimits

Offset Type Name
0 (4) unsigned int burstLimit
4 (4) unsigned int sustainLimit

# ServiceReference<AppPlatform>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<AppPlatform> mService

# Social::PlatformUserProfileData

Offset Type Name
0 (32) std::string mUuid
32 (32) std::string mDisplayName
64 (32) std::string mTitleName
96 (4) _BYTE[4] mPresence
104 (16) Social::UserPicturePath mProfilePicturePath
120 (32) std::string mProfilePictureUrl

# StringHash

Offset Type Name
0 (4) const unsigned int m_hash

# ServiceReference<IMinecraftEventing>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<IMinecraftEventing> mService

# SynchedActorData

Offset Type Name
0 (24) std::vector<std::unique_ptr<DataItem>> mItemsArray
24 (2) unsigned __int16 minIdxDirty
26 (2) unsigned __int16 maxIdxDirty

# StateVectorComponent

Offset Type Name
0 (12) Vec3 mPos
12 (12) Vec3 mPosPrev
24 (12) Vec3 mPosDelta

# ServiceReference<ContentLog>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<ContentLog> mService

# static_vector<ClientBlockPipeline::SmoothLightBakingStep::VisibleCellData,27>

Offset Type Name
0 (648) std::_Align_type<double,24>[27] mArray
648 (8) unsigned __int64 mSize

# ServiceReference<FeatureToggles>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<FeatureToggles> mService

# SoundOptions::VolumeSlider

Offset Type Name
0 (32) const std::string sound
32 (4) float volume
40 (8) unsigned __int64 soundHandle

# ServiceReference<OfferRepository>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<OfferRepository> mService

# SPIEntitlementManager::purchaseCoinOffer::__l5::<lambda_243221c31ed258c47641733602b06e40>

Offset Type Name
0 (64) std::function<void __cdecl(bool)> resultCallback

# SPIEntitlementManager::purchaseCatalogOffer::__l5::<lambda_4bb8df429293c8353616859f9c956b6d>

Offset Type Name
0 (64) std::function<void __cdecl(enum TransactionStatus)> callback

# SPIEntitlementManager::transferDeviceAccountToXboxLive::__l5::<lambda_83b624fc21278211102362b27549b1e2>

Offset Type Name
0 (64) std::function<void __cdecl(bool)> resultCallback

# ScreenContext

Offset Type Name
0 (12) UIScreenContext baseclass_0
16 (112) mce::MeshContext baseclass_10
128 (8) mce::RenderDevice * renderDevice
136 (8) mce::RendererSettings * rendererSettings
144 (8) mce::FrameBufferObject * frameBufferObject
152 (8) const mce::ViewportInfo * viewport
160 (8) const GuiData * guiData
168 (8) const mce::Clock * clock
176 (8) Tessellator * tessellator
184 (8) MinecraftGraphicsPipeline * minecraftGraphicsPipeline
192 (8) MinecraftGraphics * minecraftGraphics
200 (8) const UIProfanityContext * uiProfanityContext
208 (8) CommandListQueue * commandListQueue
216 (8) LinearAllocator<FrameRenderObject> * frameAllocator

# StructureBlockPalette::TickingQueueData

Offset Type Name
0 (4) int mTickDelay

# Spherical

Offset Type Name
0 (4) float mRadius
4 (4) float mAzimuth
8 (4) float mPolarAngle

# SpecificEnchantFunction::EnchantInfo

Offset Type Name
0 (1) Enchant::Type enchantment
4 (8) IntRange levelRange

# ServiceReference<AppConfigs>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<AppConfigs> mService

# ServiceReference<DataUtils::MiscData>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<DataUtils::MiscData> mService

# ServiceReference<mce::framebuilder::FrameBuilder>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<mce::framebuilder::FrameBuilder> mService

# StoreSearchQuery

Offset Type Name
0 (576) SearchQuery baseclass_0
576 (32) std::string mTelemetryId
608 (4) _BYTE[4] mFlags

# SearchQuery

Offset Type Name
0 (24) std::vector<std::string> mContentTypes
24 (24) std::vector<std::string> mSelectedFields
48 (32) std::string mSearchString
80 (32) std::string mStartDateFrom
112 (32) std::string mStartDateTo
144 (32) std::string mPlatform
176 (32) std::string mTitleTag
208 (24) std::vector<std::string> mAndTags
232 (24) std::vector<std::string> mOrTags
256 (24) std::vector<std::string> mNotTags
280 (24) std::vector<std::string> mSaleTags
304 (24) std::vector<std::string> mProductIdOrder
328 (24) std::vector<std::string> mCreatorIds
352 (24) std::vector<std::string> mNotCreatorIds
376 (24) std::vector<std::string> mPackIds
400 (24) std::vector<std::string> mPieceTypeFilters
424 (24) std::vector<std::string> mNotPieceTypeFilters
448 (24) std::vector<std::string> mRarityFilters
472 (24) std::vector<SearchQuery::Range> mPriceRangeFilters
496 (16) SearchQuery::Range mRatingFilter
512 (4) SearchQuery::SortBy mSortBy
516 (4) SearchQuery::SortDirection mSortDirection
520 (4) int mSkip
524 (4) int mTop
528 (1) SearchQuery::InventoryFilter mClientSideInventoryFilter
536 (32) std::string mClientSortType
568 (1) bool mFilterPastRealmsPlus
569 (1) bool mFilterCurrentRealmsPlus
570 (1) bool mClientSideInventorySearchEnabled
571 (1) bool mIncludeBundles

# SubChunkLightIndex

Offset Type Name
0 (4) $1CD88F237A8B1E43A1194E114715C208 ___u0

# SkinInfoData

Offset Type Name
0 (8) SkinInfoData_vtbl * __vftable
8 (32) std::string mDefaultMeshName
40 (1) bool mIsAlphaTest
41 (1) bool mIsDirty
48 (640) SerializedSkin mSkin

# SpawnSettings

Offset Type Name
0 (2) _BYTE[2] type
8 (32) std::string userDefinedBiomeName
40 (4) AutomaticID<Dimension,int> dimId
44 (4) AutomaticID<Dimension,int> dimension

# ServiceReference<Social::UserManager>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<Social::UserManager> mService

# ServiceRegistrationToken<ProfilingManager>

Offset Type Name
0 (8) ProfilingManager * mService

# ServiceRegistrationToken<Bedrock::Threading::PendingConditionals>

Offset Type Name
0 (8) Bedrock::Threading::PendingConditionals * mService

# ServiceRegistrationToken<ChunkPerformanceData>

Offset Type Name
0 (8) ChunkPerformanceData * mService

# ServiceReference<Core::LoadTimeProfiler>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<Core::LoadTimeProfiler> mService

# ServiceRegistrationToken<ResourceLoadManager>

Offset Type Name
0 (8) ResourceLoadManager * mService

# ServiceRegistrationToken<mce::FileWatcherNull>

Offset Type Name
0 (8) mce::FileWatcherNull * mService

# ServiceRegistrationToken<DateManager>

Offset Type Name
0 (8) DateManager * mService

# ServiceRegistrationToken<ContentLog>

Offset Type Name
0 (8) ContentLog * mService

# SoundSystemGUID

Offset Type Name
0 (4) unsigned int Data1
4 (2) unsigned __int16 Data2
6 (2) unsigned __int16 Data3
8 (8) unsigned __int8[8] Data4

# ServiceReference<BasicTestProfileStats>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<BasicTestProfileStats> mService

# ServiceReference<IRayTracingOptions>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<IRayTracingOptions> mService

# ServiceRegistrationToken<mce::framebuilder::FrameBuilder>

Offset Type Name
0 (8) mce::framebuilder::FrameBuilder * mService

# ScreenshotOptions

Offset Type Name
0 (1) bool mCropToRatio
4 (4) int mWidthRatio
8 (4) int mHeightRatio
12 (4) unsigned int mMaxWidth
16 (4) unsigned int mMaxHeight
20 (1) bool mRestrictScreenshotSize
21 (1) bool mApplySquareFrame
24 (32) Core::PathBuffer<std::string > mRequestedFileName
56 (32) Core::PathBuffer<std::string > mRequestedFilePath
88 (32) Core::PathBuffer<std::string > mRequestedExtension
120 (1) bool mReplaceImage
121 (1) bool mUseScreenshotsFolder
122 (1) bool mHideUI
123 (1) bool mLogRequest
124 (1) bool mWriteScreenshotToFile
125 (1) bool mIsSavegameScreenshot
128 (32) Core::PathBuffer<std::string > mOutFileName
160 (32) Core::PathBuffer<std::string > mOutFileDir
192 (32) Core::PathBuffer<std::string > mOutExtension

# ServiceReference<GameStore>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<GameStore> mService

# SerialWorkList::WorkItem

Offset Type Name
0 (8) const char * name
8 (64) std::function<enum SerialWorkList::WorkResult __cdecl(void)> func
72 (8) unsigned __int64 callCount
80 (4) float maxSessionTime
84 (4) float totalExclusiveTime
88 (4) float totalInclusiveTime

# ServiceReference<IEntitlementManager>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<IEntitlementManager> mService

# ScreenEvent

Offset Type Name
0 (4) ScreenEventType type
8 (56) ScreenEventData data
64 (1) ScreenEventScope scope
65 (1) bool localEvent
66 (1) bool handleMapping
67 (1) bool swallowTouch

# ScreenEventData

Offset Type Name
0 (56) ButtonScreenEventData button
1 (32) TextEditScreenEventData textEdit
2 (16) HoverScreenEventData hover
3 (16) PointerMoveScreenEventData pointerMove
4 (20) PointerHeldScreenEventData pointerHeld
5 (8) FocusMoveScreenEventData focusMove
6 (4) InputModeChangeScreenEventData inputMode
7 (4) HoloInputModeChangeScreenEventData holoInputMode
8 (8) ScrollRequestScreenEventData scrollRequest
9 (16) ScrollDirectionEventData scrollDirectionRequest
10 (32) ToggleChangeEventData toggle
11 (12) ControllerDirectionEventData controllerDirectionEventData
12 (8) RawInputScreenEventData rawInput
13 (24) SliderChangeEventData slider
14 (4) AnimationEventData animEventData
15 (1) LockedStateEventData locked
16 (24) ClippedCollectionEventData clippedCollection
17 (24) ClipStateChangeEventData clipStateChangeEventData
18 (12) TextEditSelectedStateChangeEventData textEditSelectedStateChangeEventData
19 (4) CustomRendererEventData customRendererEventData

# ScrollRequestScreenEventData

Offset Type Name
0 (8) float[2] delta

# ScrollDirectionEventData

Offset Type Name
0 (8) float[2] cursorPosition
8 (8) float[2] deltaPosition

# SliderChangeEventData

Offset Type Name
0 (4) unsigned int id
4 (4) int index
8 (4) float value
12 (1) bool finalized
16 (8) UIPropertyBag * properties

# StrongholdFeature::StrongholdResult

Offset Type Name
0 (1) bool success
8 (8) ChunkPos location

# ServiceReference<ResourceLoadManager>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<ResourceLoadManager> mService

# stbtt__buf

Offset Type Name
0 (8) unsigned __int8 * data
8 (4) int cursor
12 (4) int size

# stbtt__csctx

Offset Type Name
0 (4) int bounds
4 (4) int started
8 (4) float first_x
12 (4) float first_y
16 (4) float x
20 (4) float y
24 (4) int min_x
28 (4) int max_x
32 (4) int min_y
36 (4) int max_y
40 (8) stbtt_vertex * pvertices
48 (4) int num_vertices

# stbtt__bitmap

Offset Type Name
0 (4) int w
4 (4) int h
8 (4) int stride
16 (8) unsigned __int8 * pixels

# stbtt_fontinfo

Offset Type Name
0 (8) void * userdata
8 (8) unsigned __int8 * data
16 (4) int fontstart
20 (4) int numGlyphs
24 (4) int loca
28 (4) int head
32 (4) int glyf
36 (4) int hhea
40 (4) int hmtx
44 (4) int kern
48 (4) int gpos
52 (4) int index_map
56 (4) int indexToLocFormat
64 (16) stbtt__buf cff
80 (16) stbtt__buf charstrings
96 (16) stbtt__buf gsubrs
112 (16) stbtt__buf subrs
128 (16) stbtt__buf fontdicts
144 (16) stbtt__buf fdselect

# stbtt_packedchar

Offset Type Name
0 (2) unsigned __int16 x0
2 (2) unsigned __int16 y0
4 (2) unsigned __int16 x1
6 (2) unsigned __int16 y1
8 (4) float xoff
12 (4) float yoff
16 (4) float xadvance
20 (4) float xoff2
24 (4) float yoff2

# stbtt_pack_context

Offset Type Name
0 (8) void * user_allocator_context
8 (8) void * pack_info
16 (4) int width
20 (4) int height
24 (4) int stride_in_bytes
28 (4) int padding
32 (4) unsigned int h_oversample
36 (4) unsigned int v_oversample
40 (8) unsigned __int8 * pixels
48 (8) void * nodes

# stbtt_pack_range

Offset Type Name
0 (4) float font_size
4 (4) int first_unicode_codepoint_in_range
8 (8) int * array_of_unicode_codepoints
16 (4) int num_chars
24 (8) stbtt_packedchar * chardata_for_range
32 (1) unsigned __int8 h_oversample
33 (1) unsigned __int8 v_oversample

# SelectedSlotInfo

Offset Type Name
0 (8) const SlotData * mSlot
8 (4) const int mProgressiveTake

# ScreenController

Offset Type Name
0 (8) IScreenController baseclass_0
8 (64) std::function<void __cdecl(std::string const &,UIPropertyBag const &)> mControlCreateCallback
72 (64) std::function<void __cdecl(std::string const &,std::string const &)> mControlDestroyCallback
136 (64) std::function<void __cdecl(std::string const &)> mControlDestroyAllCallback
200 (64) std::function<void __cdecl(std::string const &)> mScreenViewSendManualInputEventCallback
264 (8) std::unique_ptr<ScreenControllerProxy> mProxy
272 (1) bool mCreateInitialized
273 (1) bool mInitialized
280 (1024) ScreenViewCommand mScreenViewCommand
1304 (64) std::unordered_map<std::tuple<unsigned int,enum ButtonState>,std::vector<std::tuple<enum ScreenController::PreviousButtonStateRequirement,std::function<enum ui::ViewRequest __cdecl(UIPropertyBag *)> >>,ScreenController::ButtonEventCallbackKeyHasher,std::equal_to<std::tuple<unsigned int,enum ButtonState> >,std::allocator<std::pair<std::tuple<unsigned int,enum ButtonState> const ,std::vector<std::tuple<enum ScreenController::PreviousButtonStateRequirement,std::function<enum ui::ViewRequest __cdecl(UIPropertyBag *)> >> > > > mButtonEventCallbackMap
1368 (64) std::unordered_map<unsigned int,std::vector<std::function<enum ui::ViewRequest __cdecl(UIPropertyBag *)>>> mButtonInteractedEventCallbackMap
1432 (64) std::function<enum ui::ViewRequest __cdecl(RawInputScreenEventData &)> mRawInputEventHandlerCallback
1496 (24) std::vector<std::function<enum ui::ViewRequest __cdecl(FocusMoveScreenEventData &)>> mFocusMoveEventCallbacks
1520 (24) std::vector<std::function<enum ui::ViewRequest __cdecl(InputModeChangeScreenEventData &)>> mInputModeChangedEventCallbacks
1544 (24) std::vector<std::function<enum ui::ViewRequest __cdecl(HoloInputModeChangeScreenEventData &)>> mHoloInputModeChangedEventCallbacks
1568 (24) std::vector<std::function<enum ui::ViewRequest __cdecl(PointerHeldScreenEventData &)>> mPointerHeldEventCallbacks
1592 (64) std::unordered_map<unsigned int,std::vector<std::tuple<bool,std::function<enum ui::ViewRequest __cdecl(TextEditScreenEventData &,int)> >>> mTextEditEventCallbackMap
1656 (64) std::unordered_map<unsigned int,std::vector<std::function<enum ui::ViewRequest __cdecl(ToggleChangeEventData &)>>> mToggleChangeEventCallbackMap
1720 (64) std::unordered_map<unsigned int,std::vector<std::function<enum ui::ViewRequest __cdecl(TextEditSelectedStateChangeEventData &)>>> mTextEditSelectedStateChangeEventCallbackMap
1784 (24) std::vector<std::shared_ptr<ScreenController>> mSubControllers
1808 (64) std::unordered_map<unsigned int,std::vector<std::tuple<bool,std::function<enum ui::ViewRequest __cdecl(int,float)> >>> mSliderChangeEventCallbackMap
1872 (64) std::unordered_map<unsigned int,std::vector<std::function<enum ui::ViewRequest __cdecl(void)>>> mAnimationEventCallbackMap
1936 (64) std::unordered_map<unsigned int,std::vector<std::function<enum ui::ViewRequest __cdecl(int,int,UIPropertyBag &)>>> mClippedCollectionEventCallbackMap
2000 (64) std::unordered_map<unsigned int,std::vector<std::function<enum ui::ViewRequest __cdecl(bool,UIPropertyBag &)>>> mClipStateChangeEventCallbackMap
2064 (64) std::unordered_map<unsigned int,std::vector<std::function<enum ui::ViewRequest __cdecl(void)>>> mCustomRendererEventHandlerCallbackMap
2128 (64) std::unordered_map<unsigned int,std::function<void __cdecl(std::string const &,UIPropertyBag &)>> mBindCallbacks
2192 (64) std::unordered_map<unsigned int,std::function<void __cdecl(int,std::string const &,UIPropertyBag &)>> mCollectionBindCallbacks
2256 (64) std::unordered_map<unsigned int,std::function<void __cdecl(std::string const &,int,std::string const &,UIPropertyBag &)>> mAnyCollectionBindCallbacks
2320 (8) std::unique_ptr<TaskGroup> mTaskGroup

# ScreenViewCommand

Offset Type Name
0 (64) std::function<void __cdecl(FlyingItemCommand &)> sendFlyingItems
64 (64) std::function<void __cdecl(SelectNavigationTabCommand &)> selectNavigationTab
128 (64) std::function<void __cdecl(void)> openKeyboard
192 (64) std::function<void __cdecl(void)> closeKeyboard
256 (64) std::function<void __cdecl(std::string const &)> selectControl
320 (64) std::function<void __cdecl(std::string const &,bool)> focusControl
384 (64) std::function<void __cdecl(std::string const &)> setFocusedTextBoxText
448 (64) std::function<bool __cdecl(std::string const &)> isFocusWithin
512 (64) std::function<bool __cdecl(std::string const &)> isSelected
576 (64) std::function<void __cdecl(std::string const &,bool)> scrollToControl
640 (64) std::function<void __cdecl(std::string const &)> scrollToControlAndSelect
704 (64) std::function<void __cdecl(std::string const &,int)> focusCollectionItem
768 (64) std::function<bool __cdecl(std::string const &,int,int)> scrollToGridItemOffset
832 (64) std::function<void __cdecl(std::string const &)> resetScrollWithin
896 (64) std::function<void __cdecl(std::string const &,std::string const &,int)> setFocusToFocusIdWhenVisible
960 (64) std::function<void __cdecl(void)> prepareFocusForModalPopup

# ScoreInfo

Offset Type Name
0 (8) const Objective * mObjective
8 (1) bool mValid
12 (4) int mValue

# ServiceReference<DateManager>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<DateManager> mService

# SubpackInfoCollection

Offset Type Name
0 (24) std::vector<SubpackInfo> mSubpackInfo

# ScoreboardCacheData

Offset Type Name
0 (32) std::string mName
32 (8) __int64 mId
40 (4) int mScore
44 (1) _BYTE[1] mType

# ServerFormScreenController::{ctor}::__l2::<lambda_c420b3d9dde99628d68fd9f5e707e82a>::()::__l2::<lambda_281d68185358cc0fc73ff3ed393d8320>

Offset Type Name
0 (16) std::weak_ptr<ServerFormScreenController> weakThis
16 (64) std::function<void __cdecl(Core::Path const &)> callback

# SettingsScreenControllerProxyCallbacks

Offset Type Name
0 (64) std::function<void __cdecl(int)> mSelectTab
64 (64) std::function<std::string __cdecl(void)> mGetAdditionalScreenInfo
128 (64) std::function<GeneralSettingsScreenControllerProxy * __cdecl(void)> mGetGeneralSettingsScreenController
192 (64) std::function<std::string __cdecl(void)> mGetCurrentTabTitle
256 (64) std::function<WorldSettingsScreenControllerProxy * __cdecl(void)> mGetWorldSettingsScreenController

# SettingsScreenController::_registerEventHandlers::__l2::<lambda_e7cffde8d07f346efec15a9f629adc2d>

Offset Type Name
0 (8) SettingsScreenController *const __this
8 (40) const SettingsScreenCapabilities capabilities

# SettingsScreenCapabilities

Offset Type Name
0 (8) TypedScreenCapabilities<SettingsScreenCapabilities> baseclass_0
8 (1) bool mWorldSectionIgnored
9 (1) bool mGlobalResourcesSectionIgnored
10 (1) bool mStorageSectionIgnored
11 (1) bool mControllerLayoutIgnored
12 (1) bool mSwitchAccountsButtonIgnored
13 (1) bool mSSOToggleIgnored
14 (1) bool mChatScreenInputsIgnored
16 (24) std::vector<std::string> mDisabledInputMappings

# SettingsScreenControllerBase::setupCallbacksForStringOption::__l2::<lambda_b07a1af5566bb31a8be96ce36d1c76fc>

Offset Type Name
0 (64) std::function<std::string __cdecl(void)> getValue

# SettingsScreenControllerBase::setupCallbacksForStringOption::__l2::<lambda_7e24beb4c048526995bf6b613ba977e4>

Offset Type Name
0 (64) std::function<void __cdecl(std::string const &)> setValue
64 (64) std::function<bool __cdecl(std::string const &)> changedValidator
128 (64) std::function<bool __cdecl(void)> isEnabled

# SettingsScreenControllerBase::setUpCallbacksForBooleanOption::__l2::<lambda_649d2d084df48e8c21a2219060ac83ac>

Offset Type Name
0 (8) Option * option
8 (32) const std::string toggleName

# SettingsScreenControllerBase::setUpCallbacksForBooleanOption::__l2::<lambda_13beeeda3122f2d8143eb7d4a2012b88>

Offset Type Name
0 (64) std::function<bool __cdecl(void)> getValue

# StorageManagementScreenController::ContentTab

Offset Type Name
0 (32) std::string prefix
32 (8) ContentView * view
40 (1) bool expanded

# StorageManagementScreenController::_registerBindings::__l10::<lambda_e36cc80f2a5d6c86836293d3d7a510d9>

Offset Type Name
0 (8) StorageManagementScreenController::ContentTab * tab

# StorageDependencyScreenController::createDepdendencyPopup::__l5::<lambda_852e9a4d9eb0d18e43dff83399d74bbf>

Offset Type Name
0 (8) StorageDependencyScreenController *const __this
8 (64) std::function<void __cdecl(enum ModalScreenButtonId)> callback

# SubscriptionsScreenController::_getRealmSubscriptionFromWorld::__l2::<lambda_5cdf67128f3bea6159dd8fc163d38d57>

Offset Type Name
0 (8) Realms::RealmId realmId
8 (1) bool realmsPlusWorld
16 (16) std::weak_ptr<SubscriptionsScreenController> weakThis

# ScreenViewProxyCallbacks

Offset Type Name
0 (64) std::function<VisualTreeProxy * __cdecl(void)> mGetVisualTree
64 (64) std::function<FocusManagerProxy * __cdecl(void)> mGetFocusManager
128 (64) std::function<bool __cdecl(void)> mIsInitialized
192 (64) std::function<bool __cdecl(std::string const &,ScreenEvent &)> mTestAutomationHandleRawInputEvent

# SweepResult

Offset Type Name
0 (16) std::shared_ptr<UIControl> collision

# SweepDescription

Offset Type Name
0 (8) glm::tvec2<float,0> origin
8 (8) glm::tvec2<float,0> dirOrigin
16 (4) float halfAngleCos
20 (1) ui::CardinalDirection direction
24 (16) std::shared_ptr<UIControl> ignoreControl
40 (1) bool canWrap
41 (1) bool respectClipping
44 (16) RectangleArea controlBoundary
60 (16) RectangleArea sweepBoundary

# ScreenCuller

Offset Type Name
0 (192) Frustum mFrustum

# SkinRepository::loadSkinPackAsync::__l2::<lambda_4884fa209f3dd3288358f533e94823d9>

Offset Type Name
0 (8) SkinRepository *const __this
8 (16) const mce::UUID packId
24 (960) const SkinPackMeta metadata

# SkinPackMeta

Offset Type Name
0 (584) CommonDocument mCommon
584 (368) DurableCustom mCustom
952 (1) bool isHidden

# SkinRepositoryClientInterface::pickCustomSkin::__l2::<lambda_ebc291d69d17bbd2739c441c4eab9845>

Offset Type Name
0 (8) SkinRepositoryClientInterface *const __this
8 (64) std::function<void __cdecl(enum PickCustomSkinResult)> onPickCustomSkin

# SceneFactory::createUIScene::__l18::<lambda_ad9193836c0ea19e914606f0c72a1f8e>

Offset Type Name
0 (8) VisualTree * visualTree
8 (16) std::shared_ptr<UIControlFactory> controlFactory
24 (32) const std::string screenName
56 (8) LayoutManager * layout
64 (24) ScreenSizeData size
88 (8) UIMeasureStrategy * uiMeasureStrategy
96 (32) SceneFactory::createUIScene::__l2::<lambda_bdf3b827e5dc52ddbb6699b3cb5b3ebe> textureLoadSpiner

# ScreenSizeData

Offset Type Name
0 (8) Vec2 totalScreenSize
8 (8) Vec2 clientScreenSize
16 (8) Vec2 clientUIScreenSize

# SceneFactory::createUIScene::__l2::<lambda_bdf3b827e5dc52ddbb6699b3cb5b3ebe>

Offset Type Name
0 (8) SceneFactory *const __this
8 (16) std::shared_ptr<gsl::final_action<std::function<void __cdecl(void)> > > finalAction
24 (8) IMinecraftGame * mc

# SceneFactory::createUIScene::__l2::<lambda_f7b87fe8f31baed6fb7df6e9fc16ea4c>

Offset Type Name
0 (1) const bool loadScreenNow
8 (64) std::function<TaskResult __cdecl(bool)> task

# SceneFactoryProxyCallbacks

Offset Type Name
0 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateAchievementsScreen
64 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateAddEditExternalServerScreen
128 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(LevelSummary const &)> mCreateEditWorldScreen
192 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateHowToPlayScreen
256 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(enum CraftingType)> mCreateInventoryScreen
320 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateNewRealmScreen
384 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateNXSignInScreen
448 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(enum SettingsTabIndex)> mCreateOptionsScreen
512 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(enum PlayScreenDefaultTab)> mCreatePlayScreen
576 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateSkinPickerScreen
640 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(bool)> mCreateStartMenuScreen
704 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(std::string const &)> mCreateStoreHomeScreen
768 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreatePauseScreen
832 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateWorldScreen
896 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateWorldTemplateScreen
960 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateWorldUpsellScreen
1024 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateXboxSignInScreen
1088 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateChatScreen
1152 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateDeathScreen
1216 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateCreditsScreen
1280 (64) std::function<std::shared_ptr<AbstractScene> __cdecl(void)> mCreateGlobalPauseScreen
1344 (64) std::function<std::shared_ptr<MainMenuScreenModel> __cdecl(void)> mCreateMainMenuScreenModel

# SceneFactory::createAchievementScreen::__l2::<lambda_75466363780256f04be3b12cd4862d30>

Offset Type Name
0 (8) SceneFactory *const __this
8 (8) ISceneStack * stack
16 (32) const std::string achievementDeepLinkId

# SceneFactory::createSceneFromUrl::__l2::<lambda_7a50495d96f6fa0223db03711ef77471>

Offset Type Name
0 (8) SceneFactory *const __this

# SceneFactory::createSceneFromUrl::__l2::<lambda_2c129547f4eb785503e32024ad3cea47>

Offset Type Name
0 (8) SceneFactory *const __this

# SceneFactory::_preCacheScreen::__l5::<lambda_5475fd3f06752852ce17dc9fafaae368>

Offset Type Name
0 (40) SceneFactory::_preCacheScreen::__l5::<lambda_eb0418b1e2b48e33230d326c46b49fe8> asyncTask
40 (24) SceneFactory::_preCacheScreen::__l5::<lambda_26218586035ff86053a04bccb33794fe> callback

# SceneFactory::_preCacheScreen::__l5::<lambda_eb0418b1e2b48e33230d326c46b49fe8>

Offset Type Name
0 (16) std::weak_ptr<SceneFactory::PreCachePackage> weakPackage
16 (24) ScreenSizeData size

# SceneFactory::_preCacheScreen::__l5::<lambda_26218586035ff86053a04bccb33794fe>

Offset Type Name
0 (8) SceneFactory *const __this
8 (16) std::weak_ptr<SceneFactory::PreCachePackage> weakPackage

# SceneStackProxyCallbacks

Offset Type Name
0 (64) std::function<void __cdecl(std::function<void __cdecl(AbstractScene &)>)> mForEachAlwaysAcceptInputScreenWithTop
64 (64) std::function<std::weak_ptr<AbstractSceneProxy> __cdecl(void)> mGetScreen
128 (64) std::function<std::string __cdecl(void)> mGetScreenName
192 (64) std::function<bool __cdecl(void)> mHasScheduledScreens
256 (64) std::function<void __cdecl(std::shared_ptr<AbstractScene>,bool)> mPushScreen
320 (64) std::function<void __cdecl(void)> mSchedulePopScreen
384 (64) std::function<bool __cdecl(std::string)> mScreenOnStack
448 (64) std::function<bool __cdecl(void)> mGetScreenTicking
512 (64) std::function<void __cdecl(bool)> mSetScreenTicking
576 (64) std::function<bool __cdecl(void)> mUpdate

# ScreenController::bindString::__l2::<lambda_637346be989b4c387b25a023e4c50a19>

Offset Type Name
0 (64) const std::function<bool __cdecl(void)> condition
64 (64) const std::function<std::string __cdecl(void)> callback

# ScreenController::bindBool::__l2::<lambda_98a591b06e11514cd0729875041c2864>

Offset Type Name
0 (64) const std::function<bool __cdecl(void)> condition
64 (64) const std::function<bool __cdecl(void)> callback

# ScreenController::bindInt::__l2::<lambda_65b8f135cfd9eee96e8adc74ceb3a47b>

Offset Type Name
0 (64) const std::function<bool __cdecl(void)> condition
64 (64) const std::function<int __cdecl(void)> callback

# ScreenController::bindFloat::__l2::<lambda_0fb14b10bd2d4d05590cce0a8f71cea9>

Offset Type Name
0 (64) const std::function<bool __cdecl(void)> condition
64 (64) const std::function<float __cdecl(void)> callback

# ScreenController::bindGridSize::__l2::<lambda_44781a3a7259cd73563916bd500c22a3>

Offset Type Name
0 (64) const std::function<bool __cdecl(void)> condition
64 (64) const std::function<glm::tvec2<int,0> __cdecl(void)> callback

# ScreenController::bindColor::__l2::<lambda_71daed87eaabe04495df376596f58d57>

Offset Type Name
0 (64) const std::function<bool __cdecl(void)> condition
64 (64) const std::function<mce::Color __cdecl(void)> callback

# ScreenController::bindFloatForCollection::__l2::<lambda_223083f257fe3cccc2536db1405cc5e0>

Offset Type Name
0 (64) const std::function<float __cdecl(int)> callback

# ScreenController::bindStringForAnyCollection::__l2::<lambda_31cbdbd7cec8ef564e716a4e0237f5e4>

Offset Type Name
0 (64) const std::function<bool __cdecl(std::string const &,int)> condition
64 (64) const std::function<std::string __cdecl(std::string const &,int)> callback

# ScreenController::bindBoolForAnyCollection::__l2::<lambda_ae59d9ba61e4ce0a8046dc3649d21f6f>

Offset Type Name
0 (64) const std::function<bool __cdecl(std::string const &,int)> condition
64 (64) const std::function<bool __cdecl(std::string const &,int)> callback

# ScreenController::bindIntForAnyCollection::__l2::<lambda_be6a73063a11417ea19dc8f0e00c7d4f>

Offset Type Name
0 (64) const std::function<bool __cdecl(std::string const &,int)> condition
64 (64) const std::function<int __cdecl(std::string const &,int)> callback

# ScreenController::bindFloatForAnyCollection::__l2::<lambda_d0cd1827bf2646dcfecdabd3c03663fc>

Offset Type Name
0 (64) const std::function<bool __cdecl(std::string const &,int)> condition
64 (64) const std::function<float __cdecl(std::string const &,int)> callback

# ScreenController::bindForAnyCollection::__l2::<lambda_3e00cdd5c08afa9bc2f2639ee2ff40c2>

Offset Type Name
0 (64) const std::function<bool __cdecl(std::string const &,int)> condition
64 (64) const std::function<void __cdecl(int,std::string const &,UIPropertyBag &)> callback

# ScreenController::bindForAnyCollection::__l2::<lambda_e0768ab872b28fe3baa25f2a9efb0443>

Offset Type Name
0 (64) const std::function<bool __cdecl(std::string const &,int)> condition
64 (64) const std::function<void __cdecl(std::string const &,int,std::string const &,UIPropertyBag &)> callback

# ScreenInputContext

Offset Type Name
0 (24) std::vector<ScreenEvent> mEvents
24 (24) std::vector<ButtonUpRightOfFirstRefusalRequest> mButtonUpRightOfFirstRefusalRequests

# ScreenView::_passViewCommand::__l2::<lambda_93c65d98a224a7189057352f2adde7a9>::()::__l2::<lambda_2d32da526ec4782697106d510a4cf701>

Offset Type Name
0 (8) glm::tvec2<float,0> * originPosition
8 (8) glm::tvec2<float,0> * destinationPosition
16 (8) bool * originFound
24 (8) bool * destinationFound
32 (8) float * originScale
40 (8) float * destinationScale
48 (8) FlyingItemCommand * command

# ScreenView::_passViewCommand::__l2::<lambda_ac84362c2fc48afe21d9ba36b9bee780>::()::__l7::<lambda_19ffe1652e69a43d03797558e1bfa97c>

Offset Type Name
0 (40) ScreenView::_passViewCommand::__l2::<lambda_ac84362c2fc48afe21d9ba36b9bee780>::()::__l2::<lambda_ec6a1eeb66f00bc93da838a31f086452> focusCommand

# ScreenView::_passViewCommand::__l2::<lambda_ac84362c2fc48afe21d9ba36b9bee780>::()::__l2::<lambda_ec6a1eeb66f00bc93da838a31f086452>

Offset Type Name
0 (8) ScreenView *const __this
8 (32) const std::string controlName

# ScreenView::_passViewCommand::__l2::<lambda_8531114544531f8d9afa78ddfccd4350>::()::__l5::<lambda_4a6597b1821b24edfbbf4b4ee4b10bc7>

Offset Type Name
0 (8) ScreenView::_passViewCommand::__l2::<lambda_8531114544531f8d9afa78ddfccd4350>::()::__l2::<lambda_b59ab18380bd03e7578d33d6d3a7ab61> tabNavigationCallback
8 (48) SelectNavigationTabCommand command

# ScreenView::_passViewCommand::__l2::<lambda_8531114544531f8d9afa78ddfccd4350>::()::__l2::<lambda_b59ab18380bd03e7578d33d6d3a7ab61>

Offset Type Name
0 (8) ScreenView *const __this

# SelectNavigationTabCommand

Offset Type Name
0 (4) int navigationTabIndex
8 (32) std::string navigationTabName
40 (1) bool success
41 (1) bool maintainOldFocus

# ScreenController::bindIntForCollection::__l2::<lambda_f9e2e2e7b8304f39ac84a40451779042>

Offset Type Name
0 (64) const std::function<bool __cdecl(int)> condition
64 (64) const std::function<int __cdecl(int)> callback

# ScreenView::_passViewCommand::__l2::<lambda_727b71b870d5f42264879f25630d1d44>::()::__l2::<lambda_d32be51470d88502a92d141e471d9e09>

Offset Type Name
0 (8) ScreenView::_passViewCommand::__l2::<lambda_19b77a382f571e532765a35e4fd287ea> scrollToGridItemOffset
8 (32) const std::string collectionName
40 (4) int collectionIndex
44 (4) int numItems

# ScreenView::_passViewCommand::__l2::<lambda_19b77a382f571e532765a35e4fd287ea>

Offset Type Name
0 (8) ScreenView *const __this

# Social::XboxLiveIdentity::signIn::__l17::<lambda_9f7d45a869e41ae635151b0458651e01>

Offset Type Name
0 (16) std::weak_ptr<Social::XboxLiveIdentity> weakThis
16 (64) std::function<void __cdecl(Social::SingleIdentitySignInResult)> callback

# Social::XboxLiveIdentity::signIn::__l19::<lambda_67943a87e469b1364289dddd8839232e>

Offset Type Name
0 (16) std::weak_ptr<Social::XboxLiveIdentity> weakThis
16 (64) std::function<void __cdecl(Social::SingleIdentitySignInResult)> callback

# Social::XboxLiveIdentity::signOut::__l5::<lambda_d7f005516538f9b78b33e93a1bef05bd>

Offset Type Name
0 (16) std::weak_ptr<Social::XboxLiveIdentity> weakThis
16 (64) std::function<void __cdecl(bool)> callback

# ScreenRenderer

Offset Type Name

# StackRefResultT<EntityRefTraits>

Offset Type Name
0 (24) StackResultStorageEntity baseclass_0

# StackResultStorageEntity

Offset Type Name
0 (24) std::optional<EntityContext> mContext

# ServiceReference<Social::MultiplayerServiceManager>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<Social::MultiplayerServiceManager> mService

# ServiceReference<ChunkPerformanceData>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<ChunkPerformanceData> mService

# ServiceReference<GameRelightingTestData>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<GameRelightingTestData> mService

# Social::Events::Property

Offset Type Name
0 (32) std::string mName
32 (16) Json::Value mValue

# ServiceReference<mce::FileWatcherNull>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<mce::FileWatcherNull> mService

# SkinRepository::loadSkinPack::__l2::<lambda_8c1eeeeaa04463bff8a93f30eef087af>

Offset Type Name
0 (8) SkinRepository *const __this
8 (16) const mce::UUID packId
24 (8) bool * successfulLoad
32 (64) std::function<void __cdecl(void)> callback

# SkinRepositoryClientInterface::_getReloadCallback::__l2::<lambda_846de32044adc214daef4861df24efff>

Offset Type Name
0 (8) const SkinRepositoryClientInterface *const __this
8 (4) persona::ProfileType profileType
16 (64) std::function<void __cdecl(SkinHandle)> cb

# SkinRepositoryClientInterface::tryFullPersonaReload::__l5::<lambda_1ed64e594555dfc39033a7d296bb8ee4>

Offset Type Name
0 (8) SkinRepositoryClientInterface *const __this
8 (64) std::function<void __cdecl(SkinHandle)> cb

# SkinRepositoryClientInterface::updatePersonaFromAppearance::__l2::<lambda_b3352670756ecc0ec5561e2be7c4a035>

Offset Type Name
0 (8) SkinRepositoryClientInterface *const __this
8 (16) std::weak_ptr<bool> weakExistance
24 (40) const persona::PersonaCharacterHandle personaToUpdateHandle
64 (64) std::function<void __cdecl(SkinHandle)> syncCompletedCallback

# SkinRepositoryClientInterface::_setSelectedAppearance::__l2::<lambda_8e0eea89dcb2aebf5e193f6af928111b>

Offset Type Name
0 (8) SkinRepositoryClientInterface *const __this
8 (16) std::weak_ptr<bool> weakExistance
24 (64) std::function<void __cdecl(SkinHandle)> requestCallback
88 (112) SkinHandle newAppearanceHandle

# SkinRepositoryClientInterface::_setPendingAppearance::__l2::<lambda_2cbdc008895cad531a7677657fc5960b>

Offset Type Name
0 (8) SkinRepositoryClientInterface *const __this
8 (64) std::function<void __cdecl(SkinHandle)> callback

# SkinRepositoryClientInterface::createPersona::__l2::<lambda_d54e64862f49427c8dc912d11abd5afc>

Offset Type Name
0 (8) SkinRepositoryClientInterface *const __this
8 (4) persona::ProfileType profileType
16 (16) std::weak_ptr<bool> weakExistance
32 (64) std::function<void __cdecl(void)> cb

# SkinRepositoryClientInterface::tryFullPersonaReload::__l5::<lambda_1ed64e594555dfc39033a7d296bb8ee4>::()::__l2::<lambda_85e6ae7f28a76659b894f16127b59f1c>

Offset Type Name
0 (8) SkinRepositoryClientInterface *const __this
8 (4) persona::ProfileType profileType
16 (64) std::function<void __cdecl(SkinHandle)> syncCb

# SpawnEggInfo

Offset Type Name
0 (48) HashedString mTextureName
48 (4) unsigned int mTextureIndex
52 (16) mce::Color mEggBaseTint
68 (16) mce::Color mEggOverlayTint

# SignBlockActor::CachedMessageData

Offset Type Name
0 (160) SignBlockActor::CachedLineData[4] lineData
160 (4) unsigned int numLines
168 (32) std::string filteredMessage
200 (8) const void * cachedFontCompare
208 (1) bool dirty

# SignBlockActor::CachedLineData

Offset Type Name
0 (32) std::string text
32 (4) int lineLength

# SubChunkBrightnessStorage::LightPair

Offset Type Name
0 (1) $CE66EAFC7D8A60AB08C0D612611BAB18 ___u0

# SubChunkBlockPos

Offset Type Name
0 (4) $F965259FE24EEE58D216369F5461A2B9 ___u0

# SkyRenderObject

Offset Type Name
0 (16) std::shared_ptr<mce::Mesh> mSkyMesh
16 (16) std::shared_ptr<mce::Mesh> mStarsMesh
32 (16) std::shared_ptr<mce::Mesh> mSunMesh
48 (16) std::shared_ptr<mce::Mesh> mMoonMesh
64 (72) mce::TexturePtr mEndSkyTex
136 (72) mce::TexturePtr mSunTex
208 (72) mce::TexturePtr mMoonTex
280 (16) std::shared_ptr<mce::Mesh> mMilkyWayMesh
296 (72) mce::TexturePtr mMilkyWayTex
368 (16) std::shared_ptr<mce::Mesh> mMeteorMesh
384 (72) mce::TexturePtr mMeteorTex
456 (4) int mTime
464 (40) std::vector<mce::TexturePtr,LinearAllocator<mce::TexturePtr> > mCubemapTextures
504 (16) mce::ServerTexture mCubemapTexture
520 (8) const mce::MaterialPtr * mCubemapMaterial
528 (8) const mce::MaterialPtr * mSkyMaterial
536 (8) const mce::MaterialPtr * mStarsMaterial
544 (8) const mce::MaterialPtr * mSunMoonMaterial
552 (4) float mStarBrightness
556 (4) float mSunAngleOne
560 (4) float mSunAngleA
564 (4) float mFogLevel
568 (4) float mAmbientBrightness
572 (4) float mSkyDarken

# Sound

Offset Type Name
0 (32) std::string mName
32 (4) float mVolumeMin
36 (4) float mPitchMin
40 (4) float mVolumeMax
44 (4) float mPitchMax

# stbi__context

Offset Type Name
0 (4) unsigned int img_x
4 (4) unsigned int img_y
8 (4) int img_n
12 (4) int img_out_n
16 (24) stbi_io_callbacks io
40 (8) void * io_user_data
48 (4) int read_from_callbacks
52 (4) int buflen
56 (128) unsigned __int8[128] buffer_start
184 (8) unsigned __int8 * img_buffer
192 (8) unsigned __int8 * img_buffer_end
200 (8) unsigned __int8 * img_buffer_original
208 (8) unsigned __int8 * img_buffer_original_end

# ScriptApi::ScriptObjectHandle

Offset Type Name

# ScriptApi::EMPTYObjectHandle

Offset Type Name

# ScriptEngineWithContext<ScriptServerContext>::createEntity::__l2::<lambda_5a64297f6fe45bc0c8cf434a3b0c3a8e>

Offset Type Name
0 (8) ScriptEngineWithContext<ScriptServerContext> *const __this
8 (8) ScriptApi::ScriptObjectHandle * entityHandle
16 (8) const std::string * templateName
24 (8) const ScriptApi::ScriptVersionInfo * info

# ScriptOnlyComponents<ScriptServerContext>::ScriptOnly

Offset Type Name
0 (16) std::map<std::string,Json::Value> mLookup

# ScheduledCallback

Offset Type Name
0 (8) __int64 mTime
8 (16) std::weak_ptr<bool> mExistenceTracker
24 (64) std::function<void __cdecl(void)> mCallback
88 (1) bool mShouldCheckExistence

# ServiceReference<Social::IUserManager>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<Social::IUserManager> mService

# Social::MultiplayerService::disable::__l2::<lambda_31436da694b5c017c7d349683e2977e2>

Offset Type Name
0 (8) Social::MultiplayerService *const __this
8 (64) std::function<void __cdecl(bool)> callback

# Social::User::_finalizeSignIn::__l2::<lambda_5696a71c87ad7a8bea0790eaa1d241d0>

Offset Type Name
0 (16) std::weak_ptr<Social::User> weakThis
16 (24) std::vector<std::pair<enum Social::IdentityType,std::function<void __cdecl(Social::MultiIdentitySigninResult const &)> >> finishCallbacks
40 (56) Social::MultiIdentitySigninResult overallResult
96 (24) std::vector<enum Social::IdentityType> signedInTypes
120 (16) std::set<enum Social::IdentityType> attemptedTypes

# Social::MultiIdentitySigninResult

Offset Type Name
0 (1) bool mSuccess
1 (1) bool mIsNewAccount
8 (32) std::string mGamertagHint
40 (8) _BYTE[8] mFailingType
48 (4) _BYTE[4] mFailureReason

# Social::User::signOut::__l5::<lambda_ac64b0e11f97b4360e14fc032f1729bc>

Offset Type Name
0 (16) std::weak_ptr<Social::User> weakThis
16 (8) _BYTE[8] identitySignOut
24 (64) std::function<void __cdecl(bool)> callback

# Social::User::signOut::__l5::<lambda_ac64b0e11f97b4360e14fc032f1729bc>::()::__l5::<lambda_f18b942071897347fd596a3a2426c05c>

Offset Type Name
0 (16) std::weak_ptr<Social::User> weakThis
16 (8) _BYTE[8] identitySignOut
24 (64) std::function<void __cdecl(bool)> callback

# ServiceRegistrationToken<Social::UserManager>

Offset Type Name
0 (8) Social::UserManager * mService

# Social::UserManager::addSecondaryUserAsync::__l2::<lambda_f5201caa93f780558c3e4fa920a2799b>

Offset Type Name
0 (8) Social::UserManager *const __this
8 (16) std::shared_ptr<Social::UserCreationData> secondaryUserCreationData
24 (64) std::function<void __cdecl(enum Social::UserPlatformConnectionResult)> callback

# Social::UserManager::_notifyIdentityListenerList::__l9::<lambda_08b4e833884a368042d959555106c693>

Offset Type Name
0 (64) const std::function<void __cdecl(unsigned int,enum Social::IdentityType)> listener
64 (4) unsigned int userId
72 (8) _BYTE[8] identity

# Social::User::connectAsync::__l2::<lambda_5089e7f6c48e2348c0833f193542bf3a>

Offset Type Name
0 (64) std::function<void __cdecl(enum Social::UserPlatformConnectionResult)> callback
64 (8) Social::User *const __this

# Social::XboxLiveUserInfo::XboxLiveLimitTimer

Offset Type Name
0 (80) BasicTimer mBurstTimer
80 (80) BasicTimer mSustainTimer
160 (4) unsigned int mBurstRequests
164 (4) unsigned int mSustainRequests

# SoundItem

Offset Type Name
0 (1) bool mLoadFromMemory
8 (32) std::string mResourceStream
40 (32) Core::PathBuffer<std::string > mSoundName
72 (4) float mVolume
76 (4) float mPitch
80 (4) float mMinDistance
84 (4) float mMaxDistance
88 (1) bool mStream
89 (1) bool mIs3D
90 (1) bool mInterruptible
91 (1) bool mUseLegacyMaxDistance

# SoundEngine::_loadSoundItemAsync::__l2::<lambda_4daf6abd0616190312d5e6f10b63bbb4>

Offset Type Name
0 (8) SoundEngine *const __this
8 (96) const SoundItem soundItem

# SoundEngine::load::__l2::<lambda_c9086c560484b97729a5fad5c773e501>

Offset Type Name
0 (8) SoundEngine *const __this
8 (16) std::shared_ptr<std::vector<std::pair<std::string,std::shared_ptr<SoundEvent> >> > soundEvents
24 (32) std::string currentMusicEventName
56 (32) Core::PathBuffer<std::string > currentMusicItemName
88 (16) std::shared_ptr<bool> fadeOutMusic

# SoundDefinitionsJsonMergeStrategy

Offset Type Name
0 (112) JsonMergeStrategy baseclass_0

# ServiceRegistrationToken<OfferRepository>

Offset Type Name
0 (8) OfferRepository * mService

# StoreCatalogRepository::fetchRealmsCoinOffers::__l2::<lambda_4414f3671be2def991047236b7ca18b5>

Offset Type Name
0 (8) StoreCatalogRepository *const __this
8 (64) std::function<void __cdecl(void)> fetchCompleteCallback

# SearchQuery::SortParams

Offset Type Name
0 (4) const SearchQuery::SortBy mSortBy
4 (4) const SearchQuery::SortDirection mSortByDir

# StoreSearchObject::registerEventHandlers::__l2::<lambda_307276f4b78df759eec4cfa8d3251d68>::()::__l2::<lambda_c330bcbc9013ca66f9d3f3ae637c31f8>

Offset Type Name
0 (16) std::weak_ptr<StoreSearchObject> weakThis
16 (616) StoreSearchQuery copyBaseQuery

# StoreSearchObject::_createAndSendSearchQuery::__l2::<lambda_27308452179dc61d81a0e9047a1dad48>

Offset Type Name
0 (16) std::weak_ptr<StoreSearchObject> weakThis
16 (616) StoreSearchQuery searchQuery

# StoreSearchObject::_createAndSendSearchQuery::__l2::<lambda_ca3540f5454877ae825cd4cf75c35a2a>

Offset Type Name
0 (16) std::weak_ptr<StoreSearchObject> weakThis
16 (616) StoreSearchQuery searchQuery

# StoreSearchSort::SortToggleInfo

Offset Type Name
0 (32) const std::string mLabel
32 (8) const SearchQuery::SortParams mSortParams
40 (1) bool mIsActiveSort

# SaveContainer::queryIsContainerOutOfDate::__l7::<lambda_cfa8e7d91bf2acf9de79c49b366008ca>

Offset Type Name
0 (8) SaveContainer *const __this
8 (64) std::function<void __cdecl(Core::Result)> onComplete
72 (16) std::weak_ptr<bool> weakTracker

# ServerPlayerMovementComponent

Offset Type Name
0 (40) std::deque<PlayerAuthInputPacket> mQueuedUpdates

# Social::Events::Event

Offset Type Name
0 (4) const unsigned int mUserId
8 (32) const std::string mName
40 (1) bool mShouldAggregate
44 (4) unsigned int mCustomAggregationTime
48 (8) std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mEventCreationTime
56 (4) int mEventTags
64 (64) std::unordered_map<std::string,Social::Events::Property> mProperties
128 (64) std::unordered_map<std::string,Social::Events::Measurement> mMeasurements
192 (1) bool mRecordStamped

# Social::Events::Measurement

Offset Type Name
0 (32) std::string mName
32 (16) Json::Value mValue
48 (4) int mValueDivisorForAverage
52 (4) _BYTE[4] mType

# SharedPtr<Item>

Offset Type Name
0 (8) SharedCounter<Item> * pc

# SerializerTraits

Offset Type Name
0 (1) bool isRequired
1 (1) bool isPrimary
8 (32) std::string jsonName
40 (32) std::string nbtName
72 (8) unsigned __int64 arrayLengthConstraintMin
80 (8) unsigned __int64 arrayLengthConstraintMax
88 (8) entt::meta_any *(__fastcall *)(entt::meta_any *result, const std::string *) construct
96 (8) entt::meta_any *(__fastcall *)(entt::meta_any *result, const std::string *, void *) getAny
104 (8) void (__fastcall *)(entt::meta_any) serializeBegin
112 (8) void (__fastcall *)(entt::meta_any) serializeEnd
120 (64) std::function<bool __cdecl(entt::meta_any &,Serializer &)> validate
184 (8) const SerializerEnumMapping * mEnumMapping
192 (32) std::string documentation

# Serializer

Offset Type Name
0 (8) Serializer_vtbl * __vftable
8 (4) SerializerDirection mDirection
16 (48) SerializerContext mContext

# SerializerContext

Offset Type Name
0 (24) std::vector<std::string> mContextStack
24 (24) std::vector<std::string> mErrorMessages

# SharedPtr<BlockLegacy>

Offset Type Name
0 (8) SharedCounter<BlockLegacy> * pc

# StackRefResultT<SharePtrRefTraits<FogDefinition const > >

Offset Type Name
0 (16) StackResultStorageSharePtr<FogDefinition const > baseclass_0

# StackResultStorageSharePtr<FogDefinition const >

Offset Type Name
0 (16) std::shared_ptr<FogDefinition const > mValue

# SlotDescriptor

Offset Type Name
0 (4) int mSlot
8 (24) std::vector<ItemDescriptor> mAcceptedItems
32 (80) ItemDescriptor mItemDescriptor
112 (32) std::string mInteractText
144 (320) DefinitionTrigger mOnEquip
464 (320) DefinitionTrigger mOnUnequip

# SeatDescription

Offset Type Name
0 (12) Vec3 mPosition
12 (4) int mMinSeatCount
16 (4) int mMaxSeatCount
24 (216) ExpressionNode mSeatRotation
240 (1) bool mLockRiderRotation
244 (4) float mLockRiderRotationDegrees

# SpawnActorParameters

Offset Type Name
0 (4) int mSpawnTimeMin
4 (4) int mSpawnTimeMax
8 (4) LevelSoundEvent mSpawnSound
16 (80) ItemDescriptor mItemDescriptor
96 (32) std::string mEntityDefinition
128 (32) std::string mSpawnMethod
160 (64) ActorFilterGroup mFilters
224 (1) bool mSingleUse
225 (1) bool mShouldLeash
228 (4) int mNumToSpawn

# Social::Events::EventManager::recordEvent::__l2::<lambda_19d1731b0844f50611fd86fdcc1079df>

Offset Type Name
0 (8) Social::Events::EventManager *const __this
8 (200) Social::Events::Event event

# ServiceRegistrationToken<IMinecraftEventing>

Offset Type Name
0 (8) IMinecraftEventing * mService

# ShortTag

Offset Type Name
0 (8) Tag baseclass_0
8 (2) __int16 data

# StringTag

Offset Type Name
0 (8) Tag baseclass_0
8 (32) std::string data

# sockaddr

Offset Type Name
0 (2) unsigned __int16 sa_family
2 (14) char[14] sa_data

# SyncedAttribute

Offset Type Name
0 (32) std::string mName
32 (4) float mMinValue
36 (4) float mCurrentValue
40 (4) float mMaxValue

# ShapedRecipe

Offset Type Name
0 (208) Recipe baseclass_0
208 (24) std::vector<RecipeIngredient> mIngredients
232 (24) std::vector<ItemInstance> mResults

# ScoreboardIdentityPacketInfo

Offset Type Name
0 (16) ScoreboardId mScoreboardId
16 (8) PlayerScoreboardId mPlayerId

# ScorePacketInfo

Offset Type Name
0 (16) ScoreboardId mScoreboardId
16 (32) std::string mObjectiveName
48 (4) int mScoreValue
52 (1) _BYTE[1] mIdentityType
56 (8) PlayerScoreboardId mPlayerId
64 (8) ActorUniqueID mEntityId
72 (32) std::string mFakePlayerName

# SubClientConnectionRequest

Offset Type Name
0 (8) std::unique_ptr<UnverifiedCertificate> mCertificateData
8 (8) std::unique_ptr<Certificate> mCertificate
16 (8) std::unique_ptr<WebToken> mRawToken

# ServerNetworkHandler::disconnectClient::__l2::<lambda_8ab8e04d16e80d5ccda0091a8639a009>

Offset Type Name
0 (8) ServerNetworkHandler *const __this
8 (152) const NetworkIdentifier id
160 (1) unsigned __int8 subId
168 (32) std::string messageCopy
200 (1) bool skipMessage

# ServerNetworkHandler::handle::__l36::<lambda_d652cba9d3ff6790348d747c18e71ce4>

Offset Type Name
0 (8) ServerNetworkHandler *const __this
8 (168) const CommandBlockUpdatePacket packet

# StructureTemplate

Offset Type Name
0 (32) std::string mName
32 (176) StructureTemplateData mStructureTemplateData
208 (1) unsigned __int8 mStructureVersion

# StructureTemplateData

Offset Type Name
0 (8) StructureTemplateData_vtbl * __vftable
8 (4) int mFormatVersion
12 (12) BlockPos mSize
24 (12) BlockPos mStructureWorldOrigin
40 (24) std::vector<int> mBlockIndices
64 (24) std::vector<int> mExtraBlockIndices
88 (64) std::unordered_map<std::string,StructureBlockPalette> mPalettes
152 (24) std::vector<std::unique_ptr<CompoundTag>> mEntityData

# StructureTemplateDataResponsePacket

Offset Type Name
0 (40) Packet baseclass_0
40 (32) std::string mStructureName
72 (8) std::unique_ptr<CompoundTag> mStructureTag
80 (1) StructureTemplateResponseType mResponseType

# ServiceReference<ServerInstance>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<ServerInstance> mService

# ServerNetworkHandler::handle::__l2::<lambda_9d52b3aa3d855da2c243e137c204abab>

Offset Type Name
0 (8) ServerNetworkHandler *const __this
8 (152) const NetworkIdentifier source
160 (16) std::shared_ptr<BlockActorDataPacket> packet
176 (1) const bool shouldFilterText

# ServerNetworkHandler::handle::__l8::<lambda_b228fbb676f614edf5a86d27a92c8ccc>

Offset Type Name
0 (160) ServerNetworkHandler::handle::__l2::<lambda_ace92a5bcd49f90761b20503b23bdc43> callback
160 (152) BookEditPacket packet

# ServerNetworkHandler::handle::__l2::<lambda_ace92a5bcd49f90761b20503b23bdc43>

Offset Type Name
0 (8) ServerNetworkHandler *const __this
8 (152) const NetworkIdentifier source

# StartGamePacket

Offset Type Name
0 (40) Packet baseclass_0
40 (3360) LevelSettings mSettings
3400 (8) ActorUniqueID mEntityId
3408 (8) ActorRuntimeID mRuntimeId
3416 (4) GameType mEntityGameType
3420 (12) Vec3 mPos
3432 (8) Vec2 mRot
3440 (32) std::string mLevelId
3472 (32) std::string mLevelName
3504 (24) ContentIdentity mTemplateContentIdentity
3528 (1) bool mIsTrial
3532 (12) SyncedPlayerMovementSettings mMovementSettings
3544 (8) unsigned __int64 mLevelCurrentTime
3552 (4) int mEnchantmentSeed
3560 (32) std::string mMultiplayerCorrelationId
3592 (32) std::string mModelName
3624 (32) std::string mModelTexture
3656 (1) bool mUseModelSkin
3657 (1) bool mDisalbeHunger
3658 (1) bool mDisableDropItem
3659 (1) bool mDisableContainers
3660 (1) bool mDisableSolidify
3661 (1) bool mDisableGravityInLiquid
3662 (1) bool mIsNetWorkOptimize
3663 (1) bool mIsLoadSubChunkFromClient
3664 (4) int mLevelVersion
3668 (1) bool mLockDifficulty
3672 (64) std::unordered_map<unsigned __int64,float> mShearsDestorySpeed
3736 (8) const BlockPalette * mBlockPalette
3744 (8) std::unique_ptr<Tag> mBlockPaletteList
3752 (24) std::vector<ItemData> mItemData
3776 (1) bool mEnableItemStackNetManager
3777 (1) bool mUselimitArea
3780 (12) Vec3 mLimitAreaCenter
3792 (4) int mLimitAreaOffsetX
3796 (4) int mLimitAreaOffsetZ
3800 (1) bool mDisableItemUse
3801 (1) bool mDisableItemUseOnBlock
3808 (24) std::vector<std::pair<std::string,CompoundTag>> mBlockProperties

# SyncedPlayerMovementSettings

Offset Type Name
0 (1) ServerAuthMovementMode AuthorityMode
4 (4) int mRewindHistorySize
8 (1) bool ServerAuthBlockBreaking

# ServiceReference<EducationOptions>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<EducationOptions> mService

# ServiceReference<ContentTierManager::ValidatorRegistry>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<ContentTierManager::ValidatorRegistry> mService

# ServiceReference<PackManifest::CapabilityRegistry>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<PackManifest::CapabilityRegistry> mService

# SubpackInfo

Offset Type Name
0 (32) std::string mFolderName
32 (32) std::string mName
64 (4) int mMemoryTier

# ScriptApi::ScriptVersionInfo

Offset Type Name
0 (4) int mMajorVersion
4 (4) int mMinVerssion

# ScriptApi::EventTracking

Offset Type Name

# ScriptEngine::ScriptQueueData

Offset Type Name
0 (32) Core::PathBuffer<std::string > mScriptPath
32 (32) std::string mScriptName
64 (32) std::string mScriptContent
96 (32) std::string mPackID
128 (32) std::string mPackVersion
160 (8) unsigned __int64 mScriptHash

# ScoreboardCommand::SetScoreOutput

Offset Type Name
0 (4) int mSuccessCount
4 (4) int mFirstNewScore
8 (32) std::string mFirstSuccess

# SetTitlePacket

Offset Type Name
0 (40) Packet baseclass_0
40 (4) _BYTE[4] mType
48 (32) std::string mTitleText
80 (4) int mFadeInTime
84 (4) int mStayTime
88 (4) int mFadeOutTime

# SpawnActorDefinition

Offset Type Name
0 (24) std::vector<SpawnActorParameters> mSpawnParameters

# ScriptEventData

Offset Type Name
0 (8) ScriptEventData_vtbl * __vftable
8 (32) std::string mEventName

# ScriptCommandCallbackData

Offset Type Name
8 (32) std::string mCommand
40 (1) bool mCallbackReceived
48 (16) Json::Value mData

# ServerInstance::initializeServer::__l55::<lambda_fdcfded2c4d317134dd5efe145374f82>

Offset Type Name
0 (8) ServerInstance *const __this
8 (64) std::function<void __cdecl(void)> compactionCallback
72 (32) std::string levelId

# ServiceRegistrationToken<ServerInstance>

Offset Type Name
0 (8) ServerInstance * mService

# SaveTransactionManager::_showGlobalSaveIcon::__l5::<lambda_abfa177dbfd7bc38eb8ac17f971ba81f>

Offset Type Name
0 (64) std::function<void __cdecl(bool)> showIconFunction

# SaveTransactionManager::_hideGlobalSaveIcon::__l5::<lambda_9b3c9db278eb340d00c6747c3b07b14a>

Offset Type Name
0 (64) std::function<void __cdecl(bool)> showIconFunction

# SetActorDataPacket

Offset Type Name
0 (40) Packet baseclass_0
40 (8) ActorRuntimeID mId
48 (8) unsigned __int64 mTick
56 (24) std::vector<std::unique_ptr<DataItem>> mPackedItems

# SimpleBoolFilterTest

Offset Type Name
0 (16) FilterTest baseclass_0
16 (1) bool mValue

# SimpleHashStringFilterTest

Offset Type Name
0 (16) FilterTest baseclass_0
16 (48) HashedString mValueString

# SimpleIntFilterTest

Offset Type Name
0 (16) FilterTest baseclass_0
16 (4) int mValue

# SimpleTagIDFilterTest

Offset Type Name
0 (16) FilterTest baseclass_0
16 (16) IDType<BiomeTagIDType> mCachedIDValue
32 (48) HashedString mValueString

# SimpleFloatFilterTest

Offset Type Name
0 (16) FilterTest baseclass_0
16 (4) float mValue

# Spawner

Offset Type Name
0 (8) Level * mLevel
8 (56) int[2][7] mBaseTypeCount
64 (128) std::unordered_map<HashedString,int>[2] mEntityTypeCount
192 (4) int mTotalEntityCount
196 (4) int mEntityLimit

# ScatterParams::_buildSchema::__l2::<lambda_a76daf2e558065fdf74a6ef87fdf0cfb>

Offset Type Name
0 (64) std::function<ScatterParams & __cdecl(BiomeDecorationFeature * *)> scatterAccessor

# ScatterParams::_buildSchema::__l2::<lambda_3364f33938454b38ac82d4e8cb5ca9ef>

Offset Type Name
0 (64) std::function<ScatterParams & __cdecl(BiomeDecorationFeature * *)> scatterAccessor

# SharedPtr<HorseArmorItem>

Offset Type Name
0 (8) SharedCounter<HorseArmorItem> * pc

# SharedPtr<GlowStickItem>

Offset Type Name
0 (8) SharedCounter<GlowStickItem> * pc

# ScatterParams::_buildSchema::__l2::<lambda_51c888921c5363d51df6b2151f3d1065>

Offset Type Name
0 (64) std::function<ScatterParams::CoordinateRange & __cdecl(BiomeDecorationFeature * *)> coordAccessor

# ScatterParams::_buildSchema::__l2::<lambda_ad1c76902e674cf57d5e4282dadb34e2>

Offset Type Name
0 (64) std::function<ScatterParams::CoordinateRange & __cdecl(BiomeDecorationFeature * *)> coordAccessor

# ScatterParams::_buildSchema::__l2::<lambda_da11a43e5689853c53722bcf1dd03017>

Offset Type Name
0 (64) std::function<ScatterParams::CoordinateRange & __cdecl(BiomeDecorationFeature * *)> coordAccessor

# SurfaceMaterialAdjustmentEvaluated::Element

Offset Type Name
0 (4) int mHeightMin
4 (4) int mHeightMax
8 (48) SurfaceMaterialBlocks mSurfaceMaterialBlocks

# SurfaceMaterialBlocks

Offset Type Name
0 (8) const Block * mTop
8 (8) const Block * mMid
16 (8) const Block * mSeaFloor
24 (8) const Block * mFoundation
32 (8) const Block * mSea
40 (4) int mSeaFloorDepth

# SurfaceMaterialAttributes

Offset Type Name
0 (112) BlockDescriptor mTop
112 (112) BlockDescriptor mMid
224 (112) BlockDescriptor mSeaFloor
336 (112) BlockDescriptor mFoundation
448 (112) BlockDescriptor mSea
560 (4) int mSeaFloorDepth

# ScatterParams::ScatteredPositions

Offset Type Name
0 (8) RenderParams * mMolangParams
8 (8) Random * mRandom
16 (8) const ScatterParams * mScatterParams
24 (12) BlockPos mOrigin
36 (4) unsigned int mIterations

# SharedPtr<StairBlock>

Offset Type Name
0 (8) SharedCounter<StairBlock> * pc

# SharedPtr<RespawnAnchorBlock>

Offset Type Name
0 (8) SharedCounter<RespawnAnchorBlock> * pc

# SharedPtr<StoneButtonBlock>

Offset Type Name
0 (8) SharedCounter<StoneButtonBlock> * pc

# SubChunkRelighter

Offset Type Name
0 (1) bool mNeedToResetToDoBits
8 (24576) std::bitset<196608> mToDo
24584 (4096) std::array<unsigned char,4096> mOldAbsorption
28680 (768) std::vector<SubChunkLightIndex>[2][16] mAdditiveBlocksToProcess
29448 (384) std::vector<SubChunkLightIndex>[16] mEdgeBlocksToProcess
29832 (384) std::vector<SubChunkLightIndex>[16] mBlocksToProcess
30216 (24) std::vector<SubChunkLightIndex> mAbsorptionBlocksToProcess
30240 (48) std::vector<SubtractiveLightInfo>[2] mSubtractiveBlocks
30288 (384) SubChunk *[3][4][4] mSubChunkPtrArray
30672 (48) bool[3][4][4] mSubChunkPtrArrayValid
30720 (48) bool[3][4][4] mSubChunkTouched
30768 (8) ChunkPos mCenterChunkPos
30776 (8) unsigned __int64 mCenterSubChunkIndex
30784 (8) BlockSource * mSource
30792 (1) bool mOriginalLighting
30793 (1) SubChunkBrightnessStorage::LightPair mDefaultLightPair
30800 (8) const Block * mDefaultBlock

# SubChunkBlockStoragePaletted<1,1>::_fetchBlocksInShape::__l2::<lambda_4fadbc1be99a51583b3494c5343adb80>

Offset Type Name
0 (8) const std::bitset<2> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<1,1>::fetchBlocksInBox::__l2::<lambda_3a25f8be0adce3e4613c2792bb15ad32> * shapePredicate

# SubChunkBlockStoragePaletted<1,1>::_fetchBlocksInShape::__l2::<lambda_148186354e0804acaf9ad78f0fb1d814>

Offset Type Name
0 (8) const std::bitset<2> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<1,1>::fetchBlocksInCylinder::__l2::<lambda_6eff12cf755cbc8df5ad19484681e643> * shapePredicate

# SubChunkBlockStoragePaletted<16,16>::_fetchBlocksInShape::__l2::<lambda_c5b0b12ce6e93dc7dd5633d9ae774d30>

Offset Type Name
0 (8) const std::bitset<4096> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<16,16>::fetchBlocksInBox::__l2::<lambda_81f82229aefcc027330dfa10aa9c846d> * shapePredicate

# SubChunkBlockStoragePaletted<16,16>::_fetchBlocksInShape::__l2::<lambda_35cfabd93918b52980c17471ad686c94>

Offset Type Name
0 (8) const std::bitset<4096> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<16,16>::fetchBlocksInCylinder::__l2::<lambda_7ad7ae9e0b04fad7956ba5c2462033f8> * shapePredicate

# SubChunkBlockStoragePaletted<8,8>::_fetchBlocksInShape::__l2::<lambda_529262d6459d4c3a8c51f9d45d61b780>

Offset Type Name
0 (8) const std::bitset<256> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<8,8>::fetchBlocksInBox::__l2::<lambda_f43d19be392b01ec54de03992e19bbb7> * shapePredicate

# SubChunkBlockStoragePaletted<8,8>::_fetchBlocksInShape::__l2::<lambda_a0ffaf3ba0872261bc60c010a84dbded>

Offset Type Name
0 (8) const std::bitset<256> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<8,8>::fetchBlocksInCylinder::__l2::<lambda_2f8920f8aed8669ce026a439bb206b81> * shapePredicate

# SubChunkBlockStoragePaletted<6,6>::_fetchBlocksInShape::__l2::<lambda_54a4a943a27f5378148b6cba582fd961>

Offset Type Name
0 (8) const std::bitset<64> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<6,6>::fetchBlocksInBox::__l2::<lambda_997cfac59e34b9c498561474fd5a53aa> * shapePredicate

# SubChunkBlockStoragePaletted<6,6>::_fetchBlocksInShape::__l2::<lambda_cf11aac42eade1f5d742417c3b6f63b7>

Offset Type Name
0 (8) const std::bitset<64> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<6,6>::fetchBlocksInCylinder::__l2::<lambda_8505f348207d8ed882a967b263f00729> * shapePredicate

# SubChunkBlockStoragePaletted<5,5>::_fetchBlocksInShape::__l2::<lambda_46acb9a0372b6a308bbfed44681f55ce>

Offset Type Name
0 (8) const std::bitset<32> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<5,5>::fetchBlocksInBox::__l2::<lambda_edcd7c6147545643dd4f557b53945643> * shapePredicate

# SubChunkBlockStoragePaletted<5,5>::_fetchBlocksInShape::__l2::<lambda_e8c68019feae5bf749b86ced1f4ef924>

Offset Type Name
0 (8) const std::bitset<32> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<5,5>::fetchBlocksInCylinder::__l2::<lambda_2225f5dd488587be97d5ef16dbb05a4e> * shapePredicate

# SubChunkBlockStoragePaletted<4,4>::_fetchBlocksInShape::__l2::<lambda_38c371ccdcab6ebab3fef2d49dc63d2f>

Offset Type Name
0 (8) const std::bitset<16> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<4,4>::fetchBlocksInBox::__l2::<lambda_6805beeeeb20926306bc087a374beb00> * shapePredicate

# SubChunkBlockStoragePaletted<4,4>::_fetchBlocksInShape::__l2::<lambda_f968d5dbf19fb99c82f711db78303527>

Offset Type Name
0 (8) const std::bitset<16> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<4,4>::fetchBlocksInCylinder::__l2::<lambda_31ae1f2113d30483dfa86a8979a4b0c4> * shapePredicate

# SubChunkBlockStoragePaletted<3,3>::_fetchBlocksInShape::__l2::<lambda_cfed23f71127b6b4785eeefce13b38fd>

Offset Type Name
0 (8) const std::bitset<8> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<3,3>::fetchBlocksInBox::__l2::<lambda_333c91ec917de2d00c7d7b20be94f138> * shapePredicate

# SubChunkBlockStoragePaletted<3,3>::_fetchBlocksInShape::__l2::<lambda_b35f173d4742f344d961487cc1dada02>

Offset Type Name
0 (8) const std::bitset<8> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<3,3>::fetchBlocksInCylinder::__l2::<lambda_69eb90666f66735dbbd3c93a3c693a3d> * shapePredicate

# SubChunkBlockStoragePaletted<2,2>::_fetchBlocksInShape::__l2::<lambda_396c2787970d1a7a1021db67118b181b>

Offset Type Name
0 (8) const std::bitset<4> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<2,2>::fetchBlocksInBox::__l2::<lambda_05dcea0d077ab08977860bf1536271dc> * shapePredicate

# SubChunkBlockStoragePaletted<2,2>::_fetchBlocksInShape::__l2::<lambda_5f6af89c1e23d982784687a904482cf6>

Offset Type Name
0 (8) const std::bitset<4> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) unsigned __int16 * index
32 (8) const gsl::span<Block const * const,-1> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<2,2>::fetchBlocksInCylinder::__l2::<lambda_92f021db926b66e17c3d1841e8d27176> * shapePredicate

# ScatterParams

Offset Type Name
0 (1368) ScatterParams::CoordinateRange[3] mCoordinateRanges
1368 (4) ScatterParams::CoordinateEvaluationOrder mEvalOrder
1376 (224) ScatterParams::ChanceInformation mScatterChance
1600 (216) ExpressionNode mIterations

# ScatterParams::CoordinateRange

Offset Type Name
0 (216) ExpressionNode mMinOrSingleValue
216 (216) ExpressionNode mMax
432 (4) unsigned int mGridStepSize
436 (4) unsigned int mGridOffset
440 (4) ScatterParams::RandomDistributionType mDistribution
444 (12) std::optional<IntRange> mFastPathRange

# ScatterParams::ChanceInformation

Offset Type Name
0 (216) ExpressionNode mChancePercent
216 (4) int mNumerator
220 (4) int mDenominator

# ScatterParams::_buildSchema::__l2::<lambda_7b9a05a1953b3fb60663dfc73543637b>

Offset Type Name
0 (64) std::function<ScatterParams & __cdecl(AutomaticFeatureRules::AutomaticFeatureRule *)> scatterAccessor

# ScatterParams::_buildSchema::__l2::<lambda_7c5ad3777ba8587cfd702cc22d87f118>

Offset Type Name
0 (64) std::function<ScatterParams & __cdecl(AutomaticFeatureRules::AutomaticFeatureRule *)> scatterAccessor

# ScatterParams::_buildSchema::__l2::<lambda_d143a5e36f9b278f892d0e584fe33c9f>

Offset Type Name
0 (64) std::function<ScatterParams::CoordinateRange & __cdecl(AutomaticFeatureRules::AutomaticFeatureRule *)> coordAccessor

# ScatterParams::_buildSchema::__l2::<lambda_c9df66ead2a74545562a76e1b7eb86e7>

Offset Type Name
0 (64) std::function<ScatterParams::CoordinateRange & __cdecl(AutomaticFeatureRules::AutomaticFeatureRule *)> coordAccessor

# ScatterParams::_buildSchema::__l2::<lambda_e47c948e79de08d4acbaa398984b3d18>

Offset Type Name
0 (64) std::function<ScatterParams::CoordinateRange & __cdecl(AutomaticFeatureRules::AutomaticFeatureRule *)> coordAccessor

# ScatterParams::_buildSchema::__l2::<lambda_983896843df920686e72abccc67e9696>

Offset Type Name
0 (64) std::function<ScatterParams & __cdecl(FeatureLoading::ConcreteFeatureHolder<ScatterFeature> *)> scatterAccessor

# ScatterParams::_buildSchema::__l2::<lambda_90f750ba7b8940727bed6ecc9dcf9c82>

Offset Type Name
0 (64) std::function<ScatterParams & __cdecl(FeatureLoading::ConcreteFeatureHolder<ScatterFeature> *)> scatterAccessor

# ScatterParams::_buildSchema::__l2::<lambda_3aba8ead7a73cbf3eda52d898512bb18>

Offset Type Name
0 (64) std::function<ScatterParams::CoordinateRange & __cdecl(FeatureLoading::ConcreteFeatureHolder<ScatterFeature> *)> coordAccessor

# ScatterParams::_buildSchema::__l2::<lambda_33bb36551c13b4cec4c75593d0698498>

Offset Type Name
0 (64) std::function<ScatterParams::CoordinateRange & __cdecl(FeatureLoading::ConcreteFeatureHolder<ScatterFeature> *)> coordAccessor

# ScatterParams::_buildSchema::__l2::<lambda_2a19592188c209f1439b9279b6397a8a>

Offset Type Name
0 (64) std::function<ScatterParams::CoordinateRange & __cdecl(FeatureLoading::ConcreteFeatureHolder<ScatterFeature> *)> coordAccessor

# StructureFeature::findFarAwayStructures::__l2::StructureInfo

Offset Type Name
0 (8) ChunkPos min
8 (8) ChunkPos max
16 (8) ChunkPos id

# StringByteInput

Offset Type Name
0 (8) BytesDataInput baseclass_0
8 (8) unsigned __int64 mIdx
16 (16) gsl::basic_string_span<char const ,-1> mBuffer

# StructureBlockPalette

Offset Type Name
0 (24) std::vector<std::unique_ptr<CompoundTag>> mStructurePaletteIdToSerializationId
24 (64) std::unordered_map<unsigned __int64,StructureBlockPalette::BlockPositionData> mBlockPositionData

# StructureIntegrityProcessor

Offset Type Name
0 (4) float mIntegrity
4 (4) unsigned int mStartSeed

# SpawnConditions

Offset Type Name
0 (1) bool isOnSurface
1 (1) bool isInWater
2 (1) bool isInLava
3 (1) bool isUnderground
8 (8) unsigned __int64 delayEndWorldAge
16 (4) int rawBrightness
20 (12) BlockPos pos

# SmallSet<std::unique_ptr<Actor,std::default_delete<Actor> > >

Offset Type Name
0 (24) std::vector<std::unique_ptr<Actor>> c

# ScoreInfoRef

Offset Type Name
0 (8) const Objective * mObjective
8 (1) bool mValid
16 (8) int * mValue

# SetScorePacket

Offset Type Name
0 (40) Packet baseclass_0
40 (1) _BYTE[1] mType
48 (24) std::vector<ScorePacketInfo> mScoreInfo

# SetDisplayObjectivePacket

Offset Type Name
0 (40) Packet baseclass_0
40 (32) std::string mDisplaySlotName
72 (32) std::string mObjectiveName
104 (32) std::string mObjectiveDisplayName
136 (32) std::string mCriteriaName
168 (1) _BYTE[1] mSortOrder

# ServiceRegistrationToken<FeatureToggles>

Offset Type Name
0 (8) FeatureToggles * mService

# ServiceRegistrationToken<Core::LoadTimeProfiler>

Offset Type Name
0 (8) Core::LoadTimeProfiler * mService

# SkinHelper::PersonaInfo

Offset Type Name
0 (32) std::string base
32 (32) std::string armSize
64 (32) std::string height
96 (32) std::string skinColor
128 (24) std::vector<SkinHelper::PersonaInfo::PieceInfo> pieceInfos
152 (24) std::vector<SkinHelper::PersonaInfo::ResetPieceInfo> resetPieceInfos
176 (24) std::vector<SkinHelper::PersonaInfo::ResetTintInfo> resetTintInfos

# SkinHelper::PersonaInfo::PieceInfo

Offset Type Name
0 (32) std::string path
32 (4) _BYTE[4] side
36 (68) std::optional<TintMapColor> colors

# SharedPtr<CustomProjectileItem>

Offset Type Name
0 (8) SharedCounter<CustomProjectileItem> * pc

# SurfaceMaterialAdjustmentAttributes

Offset Type Name
0 (24) std::vector<SurfaceMaterialAdjustmentAttributes::Element> mAdjustments

# SpikeFeature

Offset Type Name
0 (24) Feature baseclass_0
24 (8) const SpikeFeature::EndSpike * mSpike
32 (12) BlockPos mCrystalBeamTarget
44 (1) bool mCrystalInvulnerable

# StackResultStorageFeature

Offset Type Name
0 (16) std::optional<std::reference_wrapper<FeatureRegistry> > mRegistry
16 (8) unsigned __int64 mIndex

# SimpleTreeCanopy::_buildSchema::__l5::<lambda_ce902fcfd1b27af12f7a6a7e2b717c31>

Offset Type Name

# StructurePiece

Offset Type Name
0 (8) StructurePiece_vtbl * __vftable
8 (24) BoundingBox mBoundingBox
32 (4) int mOrientation
36 (4) int mGenDepth

# StructurePoolElementSettings

Offset Type Name
0 (8) const std::vector<std::unique_ptr<StructurePoolBlockRule>> * mBlockRules
8 (8) const std::vector<std::unique_ptr<StructurePoolBlockTagRule>> * mBlockTagRules
16 (8) const std::vector<std::unique_ptr<StructurePoolActorRule>> * mActorRules
24 (4) Projection mProjection
28 (1) PostProcessSettings mPostProcessSettings
29 (1) bool mReloadActorLootTables

# StrongholdPiece

Offset Type Name
0 (40) StructurePiece baseclass_0
40 (4) StrongholdPiece::SmallDoorType entryDoor

# SharedPtr<EndGatewayBlock>

Offset Type Name
0 (8) SharedCounter<EndGatewayBlock> * pc

# SoundSystemFMOD::_addToSoundCache::__l5::<lambda_cae3fd833bb655085bfe054d224c3470>

Offset Type Name
0 (8) FMOD::System * system
8 (32) const Core::Path soundName
40 (8) FMOD::Sound * sound

# SoundSystemFMOD::_playEvent::__l2::<lambda_a5fe321c266b84f7a30b4afdfac3c78e>

Offset Type Name
0 (8) const std::string * eventName
8 (8) float * x
16 (8) float * y
24 (8) float * z
32 (8) const SoundItem * soundItem
40 (8) float * volumeScalar
48 (8) float * pitchScalar

# SoundEvent

Offset Type Name
0 (32) std::string mCategory
32 (32) std::string mExternalEventName
64 (24) std::vector<SoundItem> mAllSoundItems
88 (24) std::vector<SoundAction> mSoundActions
112 (24) std::vector<SoundParameter> mExternalEventParameters

# SoundSystemFMOD::_playEvent::__l2::<lambda_3a661bdd2d6abbebd48e1676efdccb3d>

Offset Type Name
0 (8) SoundSystemFMOD *const __this
8 (96) const SoundItem soundItem
104 (136) const SoundEvent soundEvent
240 (32) const std::string eventName
272 (8) const unsigned __int64 soundHandle
280 (4) float x
284 (4) float y
288 (4) float z
292 (4) float volumeScalar
296 (4) float pitchScalar
300 (1) bool is2D

# SoundInstanceProperties

Offset Type Name
0 (12) glm::tvec3<float,0> mPosition
16 (24) std::vector<SoundParameter> mParameters

# SoundSystemFMOD::playMusic::__l2::<lambda_a39fa897d000379322180842f3fea207>

Offset Type Name
0 (8) SoundSystemFMOD *const __this
8 (96) const SoundItem soundItem
104 (32) const std::string eventName

# SOCKADDR

Offset Type Name
0 (2) unsigned __int16 sa_family
2 (14) char[14] sa_data

# SoundListener

Offset Type Name
0 (12) glm::tvec3<float,0> mForward
12 (12) glm::tvec3<float,0> mUp
24 (12) glm::tvec3<float,0> mPos
36 (12) glm::tvec3<float,0> mVel

# stbi__png

Offset Type Name
0 (8) stbi__context * s
8 (8) unsigned __int8 * idata
16 (8) unsigned __int8 * expanded
24 (8) unsigned __int8 * out
32 (4) int depth

# stbi__result_info

Offset Type Name
0 (4) int bits_per_channel
4 (4) int num_channels
8 (4) int channel_order

# stbi__zhuffman

Offset Type Name
0 (1024) unsigned __int16[512] fast
1024 (32) unsigned __int16[16] firstcode
1056 (68) int[17] maxcode
1124 (32) unsigned __int16[16] firstsymbol
1156 (288) unsigned __int8[288] size
1444 (576) unsigned __int16[288] value

# stbi__zbuf

Offset Type Name
0 (8) unsigned __int8 * zbuffer
8 (8) unsigned __int8 * zbuffer_end
16 (4) int num_bits
20 (4) unsigned int code_buffer
24 (8) char * zout
32 (8) char * zout_start
40 (8) char * zout_end
48 (4) int z_expandable
52 (2020) stbi__zhuffman z_length
2072 (2020) stbi__zhuffman z_distance

# stbi__bmp_data

Offset Type Name
0 (4) int bpp
4 (4) int offset
8 (4) int hsz
12 (4) unsigned int mr
16 (4) unsigned int mg
20 (4) unsigned int mb
24 (4) unsigned int ma
28 (4) unsigned int all_a

# stbi__gif

Offset Type Name
0 (4) int w
4 (4) int h
8 (8) unsigned __int8 * out
16 (8) unsigned __int8 * background
24 (8) unsigned __int8 * history
32 (4) int flags
36 (4) int bgindex
40 (4) int ratio
44 (4) int transparent
48 (4) int eflags
52 (1024) unsigned __int8[256][4] pal
1076 (1024) unsigned __int8[256][4] lpal
2100 (32768) stbi__gif_lzw[8192] codes
34872 (8) unsigned __int8 * color_table
34880 (4) int parse
34884 (4) int step
34888 (4) int lflags
34892 (4) int start_x
34896 (4) int start_y
34900 (4) int max_x
34904 (4) int max_y
34908 (4) int cur_x
34912 (4) int cur_y
34916 (4) int line_size
34920 (4) int delay

# stbi__gif_lzw

Offset Type Name
0 (2) __int16 prefix
2 (1) unsigned __int8 first
3 (1) unsigned __int8 suffix

# stbir__info

Offset Type Name
0 (8) const void * input_data
8 (4) int input_w
12 (4) int input_h
16 (4) int input_stride_bytes
24 (8) void * output_data
32 (4) int output_w
36 (4) int output_h
40 (4) int output_stride_bytes
44 (4) float s0
48 (4) float t0
52 (4) float s1
56 (4) float t1
60 (4) float horizontal_shift
64 (4) float vertical_shift
68 (4) float horizontal_scale
72 (4) float vertical_scale
76 (4) int channels
80 (4) int alpha_channel
84 (4) unsigned int flags
88 (4) stbir_datatype type
92 (4) stbir_filter horizontal_filter
96 (4) stbir_filter vertical_filter
100 (4) stbir_edge edge_horizontal
104 (4) stbir_edge edge_vertical
108 (4) stbir_colorspace colorspace
112 (8) stbir__contributors * horizontal_contributors
120 (8) float * horizontal_coefficients
128 (8) stbir__contributors * vertical_contributors
136 (8) float * vertical_coefficients
144 (4) int decode_buffer_pixels
152 (8) float * decode_buffer
160 (8) float * horizontal_buffer
168 (4) int horizontal_coefficient_width
172 (4) int vertical_coefficient_width
176 (4) int horizontal_filter_pixel_width
180 (4) int vertical_filter_pixel_width
184 (4) int horizontal_filter_pixel_margin
188 (4) int vertical_filter_pixel_margin
192 (4) int horizontal_num_contributors
196 (4) int vertical_num_contributors
200 (4) int ring_buffer_length_bytes
204 (4) int ring_buffer_num_entries
208 (4) int ring_buffer_first_scanline
212 (4) int ring_buffer_last_scanline
216 (4) int ring_buffer_begin_index
224 (8) float * ring_buffer
232 (8) float * encode_buffer
240 (4) int horizontal_contributors_size
244 (4) int horizontal_coefficients_size
248 (4) int vertical_contributors_size
252 (4) int vertical_coefficients_size
256 (4) int decode_buffer_size
260 (4) int horizontal_buffer_size
264 (4) int ring_buffer_size
268 (4) int encode_buffer_size

# ServiceReference<cg::IGraphicsDevicePlatformProvider>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<cg::IGraphicsDevicePlatformProvider> mService

# ServiceReference<cg::IGraphicsDeviceVendorProvider>

Offset Type Name
0 (16) std::shared_lock<std::shared_mutex> mLock
16 (16) Bedrock::NonOwnerPointer<cg::IGraphicsDeviceVendorProvider> mService

# Serializer::serializeFields::__l2::<lambda_22057146df6c65ed81db23a915e61f14>

Offset Type Name
0 (4) const unsigned int kAttributesId
8 (8) entt::meta_any * any
16 (8) Serializer *const __this

# SRE_STATE

Offset Type Name
0 (8) void * ptr
8 (8) void * beginning
16 (8) void * start
24 (8) void * end
32 (8) _object * string
40 (8) __int64 pos
48 (8) __int64 endpos
56 (4) int charsize
64 (8) __int64 lastindex
72 (8) __int64 lastmark
80 (1600) void *[200] mark
1680 (8) char * data_stack
1688 (8) unsigned __int64 data_stack_size
1696 (8) unsigned __int64 data_stack_base
1704 (8) SRE_REPEAT_T * repeat
1712 (8) unsigned int (__fastcall *)(unsigned int) lower

# s_MergeState

Offset Type Name
0 (8) _object * compare
8 (8) __int64 min_gallop
16 (8) _object ** a
24 (8) __int64 alloced
32 (4) int n
40 (1360) s_slice[85] pending
1400 (2048) _object *[256] temparray

# s_slice

Offset Type Name
0 (8) _object ** base
8 (8) __int64 len

# setentry

Offset Type Name
0 (4) int hash
8 (8) _object * key

# SubString

Offset Type Name
0 (8) char * ptr
8 (8) char * end

# ShortTag_vtbl

struct /*VFT*/ ShortTag_vtbl
{
  void (__fastcall *~Tag)(Tag *this);
  void (__fastcall *deleteChildren)(Tag *this);
  void (__fastcall *write)(Tag *this, IDataOutput *);
  void (__fastcall *load)(Tag *this, IDataInput *);
  void (__fastcall *writeScriptData)(Tag *this, IDataOutput *);
  void (__fastcall *loadScriptData)(Tag *this, IDataInput *);
  std::string *(__fastcall *toString)(Tag *this, std::string *result);
  Tag::Type (__fastcall *getId)(Tag *this);
  bool (__fastcall *equals)(Tag *this, const Tag *);
  void (__fastcall *print)(Tag *this, const std::string *, PrintStream *);
  void (__fastcall *print)(Tag *this, PrintStream *);
  std::unique_ptr<Tag> *(__fastcall *copy)(Tag *this, std::unique_ptr<Tag> *result);
  unsigned __int64 (__fastcall *hash)(Tag *this);
};

# StringTag_vtbl

struct /*VFT*/ StringTag_vtbl
{
  void (__fastcall *~Tag)(Tag *this);
  void (__fastcall *deleteChildren)(Tag *this);
  void (__fastcall *write)(Tag *this, IDataOutput *);
  void (__fastcall *load)(Tag *this, IDataInput *);
  void (__fastcall *writeScriptData)(Tag *this, IDataOutput *);
  void (__fastcall *loadScriptData)(Tag *this, IDataInput *);
  std::string *(__fastcall *toString)(Tag *this, std::string *result);
  Tag::Type (__fastcall *getId)(Tag *this);
  bool (__fastcall *equals)(Tag *this, const Tag *);
  void (__fastcall *print)(Tag *this, const std::string *, PrintStream *);
  void (__fastcall *print)(Tag *this, PrintStream *);
  std::unique_ptr<Tag> *(__fastcall *copy)(Tag *this, std::unique_ptr<Tag> *result);
  unsigned __int64 (__fastcall *hash)(Tag *this);
};

# SkinnedMesh

struct __cppobj __declspec(align(8)) SkinnedMesh
{
  bool mShouldDrawThisFrame;
  std::vector<ModelPart *> mSkinnedParts;
  mce::Mesh mSkinnedMeshQuads;
  mce::Mesh mSkinnedMeshTris;
  std::vector<glm::tmat4x4<float,0>> mBoneMatrices;
  int mVertexCount;
  int mTotalVertices;
  bool mUseBones;
};

# SkinnedMeshGroup

struct __cppobj SkinnedMeshGroup
{
  std::unordered_map<RenderController const *,ExpressionNode> mVisibilityExpressionMap;
  std::unordered_map<RenderController const *,ExpressionNode> mMaterialExpressionMap;
  bool mShouldDrawThisFrame;
  bool mIsUniqueGroup;
  int mSkinnedMeshGroupIdentifier;
  std::vector<std::shared_ptr<SkinnedMesh>> mSkinnedMeshes;
};

# SkinAdjustments

struct __cppobj SkinAdjustments
{
  unsigned int mAnimOverrideBitmask;
};

# ShaderColor

struct __cppobj __declspec(align(4)) ShaderColor
{
  mce::Color color;
  bool dirty;
};

# SortedMeshDrawList

struct __cppobj SortedMeshDrawList
{
  std::vector<DrawsByRenderController> mDrawsByRenderController;
};

# Social::IGameConnectionInfoProvider

struct __cppobj Social::IGameConnectionInfoProvider
{
  Social::IGameConnectionInfoProvider_vtbl *__vftable /*VFT*/;
};

# Social::IGameConnectionInfoProvider_vtbl

struct /*VFT*/ Social::IGameConnectionInfoProvider_vtbl
{
  void (__fastcall *~IGameConnectionInfoProvider)(Social::IGameConnectionInfoProvider *this);
  const Social::GameConnectionInfo *(__fastcall *getConnectionInfo)(Social::IGameConnectionInfoProvider *this);
};

# ServerLocator

struct __cppobj ServerLocator : NetworkSuspendResumeListener
{
};

# ServerLocator_vtbl

struct /*VFT*/ ServerLocator_vtbl
{
  void (__fastcall *~NetworkSuspendResumeListener)(NetworkSuspendResumeListener *this);
  void (__fastcall *onSuspend)(NetworkSuspendResumeListener *this);
  void (__fastcall *onResume)(NetworkSuspendResumeListener *this);
  void (__fastcall *announceServer)(ServerLocator *this, const std::string *, const std::string *, GameType, int, int, bool);
  void (__fastcall *stopAnnouncingServer)(ServerLocator *this);
  void (__fastcall *findServers)(ServerLocator *this, int, int);
  void (__fastcall *addCustomServer)(ServerLocator *this, const std::string *, int);
  void (__fastcall *addCustomServer)(ServerLocator *this, const AsynchronousIPResolver *, int);
  void (__fastcall *stopFindingServers)(ServerLocator *this);
  std::vector<PingedCompatibleServer> *(__fastcall *getServerList)(ServerLocator *this, std::vector<PingedCompatibleServer> *result);
  void (__fastcall *clearServerList)(ServerLocator *this);
  bool (__fastcall *isIPv4Supported)(ServerLocator *this);
  bool (__fastcall *isIPv6Supported)(ServerLocator *this);
  void (__fastcall *setHostGUID)(ServerLocator *this, std::function<RakNet::RakNetGUID __cdecl(void)>);
  float (__fastcall *getPingTimeForGUID)(ServerLocator *this, const std::string *);
  void (__fastcall *checkCanConnectToCustomServerAsync)(ServerLocator *this, std::string, int, std::function<void __cdecl(bool)>);
};

# SPSCQueue<BatchedNetworkPeer::DataCallback,512>

struct __cppobj SPSCQueue<BatchedNetworkPeer::DataCallback,512>
{
  Lockless::WeakAtomic<SPSCQueue<BatchedNetworkPeer::DataCallback,512>::Block *> mFrontBlock;
  char mCachelineFiller[56];
  Lockless::WeakAtomic<SPSCQueue<BatchedNetworkPeer::DataCallback,512>::Block *> mTailBlock;
  unsigned __int64 mLargestBlockSize;
};

# SettingsCommandPacket

const struct __cppobj __declspec(align(8)) SettingsCommandPacket : Packet
{
  std::string mCommandString;
  bool mSupressOutput;
};

# SettingsCommandPacket_vtbl

struct /*VFT*/ SettingsCommandPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ScriptCustomEventPacket

const struct __cppobj ScriptCustomEventPacket : Packet
{
  std::string mEventName;
  Json::Value mData;
};

# ScriptCustomEventPacket_vtbl

struct /*VFT*/ ScriptCustomEventPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetLocalPlayerAsInitializedPacket

const struct __cppobj SetLocalPlayerAsInitializedPacket : Packet
{
  ActorRuntimeID mPlayerID;
};

# SetLocalPlayerAsInitializedPacket_vtbl

struct /*VFT*/ SetLocalPlayerAsInitializedPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# StoreBuySuccPacket

const struct __cppobj StoreBuySuccPacket : Packet
{
  std::string mContent;
};

# StoreBuySuccPacket_vtbl

struct /*VFT*/ StoreBuySuccPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetLastHurtByPacket

const struct __cppobj __declspec(align(8)) SetLastHurtByPacket : Packet
{
  ActorType mLastHurtBy;
};

# SetLastHurtByPacket_vtbl

struct /*VFT*/ SetLastHurtByPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SerializedPersonaPieceHandle

struct __cppobj SerializedPersonaPieceHandle
{
  std::string mPieceId;
  _BYTE mPieceType[4];
  mce::UUID mPackId;
  bool mIsDefaultPiece;
  std::string mProductId;
};

# ShowCreditsPacket

const struct __cppobj __declspec(align(8)) ShowCreditsPacket : Packet
{
  ActorRuntimeID mPlayerID;
  ShowCreditsPacket::CreditsState mCreditsState;
};

# ShowCreditsPacket_vtbl

struct /*VFT*/ ShowCreditsPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetScoreboardIdentityPacket

const struct __cppobj SetScoreboardIdentityPacket : Packet
{
  _BYTE mType[1];
  std::vector<ScoreboardIdentityPacketInfo> mIdentityInfo;
};

# SetScoreboardIdentityPacket_vtbl

struct /*VFT*/ SetScoreboardIdentityPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetScorePacket_vtbl

struct /*VFT*/ SetScorePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ShowProfilePacket

const struct __cppobj ShowProfilePacket : Packet
{
  std::string mPlayerXUID;
};

# ShowProfilePacket_vtbl

struct /*VFT*/ ShowProfilePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ServerSettingsResponsePacket

const struct __cppobj ServerSettingsResponsePacket : Packet
{
  unsigned int mFormId;
  std::string mFormJSON;
};

# ServerSettingsResponsePacket_vtbl

struct /*VFT*/ ServerSettingsResponsePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ServerSettingsRequestPacket

const struct __cppobj ServerSettingsRequestPacket : Packet
{
};

# ServerSettingsRequestPacket_vtbl

struct /*VFT*/ ServerSettingsRequestPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetDisplayObjectivePacket_vtbl

struct /*VFT*/ SetDisplayObjectivePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ShowStoreOfferPacket

const struct __cppobj __declspec(align(8)) ShowStoreOfferPacket : Packet
{
  std::string mOfferId;
  std::string mContentType;
  bool mShowAll;
};

# ShowStoreOfferPacket_vtbl

struct /*VFT*/ ShowStoreOfferPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetTitlePacket_vtbl

struct /*VFT*/ SetTitlePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# StopSoundPacket

const struct __cppobj __declspec(align(8)) StopSoundPacket : Packet
{
  std::string mName;
  bool mStopAll;
};

# StopSoundPacket_vtbl

struct /*VFT*/ StopSoundPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# StructureTemplateDataResponsePacket_vtbl

struct /*VFT*/ StructureTemplateDataResponsePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# StructureSettings

struct __cppobj StructureSettings
{
  std::string mPaletteName;
  bool mIgnoreEntities;
  bool mReloadActorEquipment;
  bool mIgnoreBlocks;
  bool mIgnoreJigsawBlocks;
  BlockPos mStructureSize;
  BlockPos mStructureOffset;
  Vec3 mPivot;
  ActorUniqueID mLastTouchedByPlayer;
  Rotation mRotation;
  Mirror mMirror;
  AnimationMode mAnimationMode;
  unsigned int mAnimationTicks;
  float mIntegrityValue;
  unsigned int mIntegritySeed;
};

# StructureTemplateDataRequestPacket

const struct __cppobj __declspec(align(8)) StructureTemplateDataRequestPacket : Packet
{
  std::string mStructureName;
  NetworkBlockPosition mStructureBlockPos;
  StructureSettings mStructureSettings;
  StructureTemplateRequestOperation mRequestOperation;
};

# StructureTemplateDataRequestPacket_vtbl

struct /*VFT*/ StructureTemplateDataRequestPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# StructureEditorData

struct __cppobj StructureEditorData
{
  std::string mStructureName;
  std::string mDataField;
  bool mIncludePlayers;
  bool mShowBoundingBox;
  StructureRedstoneSaveMode mRedstoneSaveMode;
  StructureBlockType mType;
  StructureSettings mSettings;
};

# StructureBlockUpdatePacket

const struct __cppobj __declspec(align(8)) StructureBlockUpdatePacket : Packet
{
  NetworkBlockPosition mBlockPos;
  StructureEditorData mData;
  bool mTrigger;
};

# StructureBlockUpdatePacket_vtbl

struct /*VFT*/ StructureBlockUpdatePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SpawnExperienceOrbPacket

const struct __cppobj SpawnExperienceOrbPacket : Packet
{
  Vec3 mPos;
  int mCount;
};

# SpawnExperienceOrbPacket_vtbl

struct /*VFT*/ SpawnExperienceOrbPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SimpleEventPacket

const struct __cppobj __declspec(align(8)) SimpleEventPacket : Packet
{
  SimpleEventPacket::Subtype mSubtype;
};

# SimpleEventPacket_vtbl

struct /*VFT*/ SimpleEventPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetDifficultyPacket

const struct __cppobj __declspec(align(8)) SetDifficultyPacket : Packet
{
  Difficulty mDifficulty;
};

# SetDifficultyPacket_vtbl

struct /*VFT*/ SetDifficultyPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetCommandsEnabledPacket

const struct __cppobj __declspec(align(8)) SetCommandsEnabledPacket : Packet
{
  bool mCommandsEnabled;
};

# SetCommandsEnabledPacket_vtbl

struct /*VFT*/ SetCommandsEnabledPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SharedCounter<Item>

struct __cppobj SharedCounter<Item>
{
  Item *ptr;
  std::atomic<int> share_count;
  std::atomic<int> weak_count;
};

# SetSpawnPositionPacket

const struct __cppobj SetSpawnPositionPacket : Packet
{
  NetworkBlockPosition mPos;
  SpawnPositionType mSpawnPosType;
  AutomaticID<Dimension,int> mDimensionType;
  NetworkBlockPosition mSpawnBlockPos;
};

# SetSpawnPositionPacket_vtbl

struct /*VFT*/ SetSpawnPositionPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetActorLinkPacket

const struct __cppobj SetActorLinkPacket : Packet
{
  ActorLink mLink;
};

# SetActorLinkPacket_vtbl

struct /*VFT*/ SetActorLinkPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetHealthPacket

const struct __cppobj __declspec(align(8)) SetHealthPacket : Packet
{
  int mHealth;
};

# SetHealthPacket_vtbl

struct /*VFT*/ SetHealthPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetActorMotionPacket

const struct __cppobj __declspec(align(8)) SetActorMotionPacket : Packet
{
  ActorRuntimeID mRuntimeId;
  Vec3 mMotion;
};

# SetActorMotionPacket_vtbl

struct /*VFT*/ SetActorMotionPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetActorDataPacket_vtbl

struct /*VFT*/ SetActorDataPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SpawnParticleEffectPacket

const struct __cppobj SpawnParticleEffectPacket : Packet
{
  unsigned __int8 mVanillaDimensionId;
  ActorUniqueID mActorId;
  Vec3 mPos;
  std::string mEffectName;
};

# SpawnParticleEffectPacket_vtbl

struct /*VFT*/ SpawnParticleEffectPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetDefaultGameTypePacket

const struct __cppobj __declspec(align(8)) SetDefaultGameTypePacket : Packet
{
  GameType mDefaultGameType;
};

# SetDefaultGameTypePacket_vtbl

struct /*VFT*/ SetDefaultGameTypePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetPlayerGameTypePacket

const struct __cppobj __declspec(align(8)) SetPlayerGameTypePacket : Packet
{
  GameType mPlayerGameType;
};

# SetPlayerGameTypePacket_vtbl

struct /*VFT*/ SetPlayerGameTypePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# StartGamePacket_vtbl

struct /*VFT*/ StartGamePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetDimensionLocalTimePacket

const struct __cppobj __declspec(align(8)) SetDimensionLocalTimePacket : Packet
{
  bool mIsLocal;
  int mTime;
  bool mDoDayNightCycle;
};

# SetDimensionLocalTimePacket_vtbl

struct /*VFT*/ SetDimensionLocalTimePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SetTimePacket

const struct __cppobj __declspec(align(8)) SetTimePacket : Packet
{
  int mTime;
};

# SetTimePacket_vtbl

struct /*VFT*/ SetTimePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# ServerToClientHandshakePacket

const struct __cppobj ServerToClientHandshakePacket : Packet
{
  std::string mData;
};

# ServerToClientHandshakePacket_vtbl

struct /*VFT*/ ServerToClientHandshakePacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SubClientLoginPacket

const struct __cppobj SubClientLoginPacket : Packet
{
  std::unique_ptr<SubClientConnectionRequest> mConnectionRequest;
};

# SubClientLoginPacket_vtbl

struct /*VFT*/ SubClientLoginPacket_vtbl
{
  void (__fastcall *~Packet)(Packet *this);
  MinecraftPacketIds (__fastcall *getId)(Packet *this);
  std::string *(__fastcall *getName)(Packet *this, std::string *result);
  void (__fastcall *write)(Packet *this, BinaryStream *);
  StreamReadResult (__fastcall *read)(Packet *this, ReadOnlyBinaryStream *);
  ExtendedStreamReadResult *(__fastcall *readExtended)(Packet *this, ExtendedStreamReadResult *result, ReadOnlyBinaryStream *);
  bool (__fastcall *disallowBatching)(Packet *this);
};

# SPSCQueue<std::shared_ptr<BackgroundTaskBase>,512>

struct __cppobj SPSCQueue<std::shared_ptr<BackgroundTaskBase>,512>
{
  Lockless::WeakAtomic<SPSCQueue<std::shared_ptr<BackgroundTaskBase>,512>::Block *> mFrontBlock;
  char mCachelineFiller[56];
  Lockless::WeakAtomic<SPSCQueue<std::shared_ptr<BackgroundTaskBase>,512>::Block *> mTailBlock;
  unsigned __int64 mLargestBlockSize;
};

# Scheduler

struct __cppobj __declspec(align(8)) Scheduler : Bedrock::EnableNonOwnerReferences
{
  unsigned int mTotalFrames;
  unsigned int mStarvedFrames;
  unsigned int mPromotionFrames;
  unsigned int mTargetFPS;
  unsigned int mEffectiveFPS;
  unsigned int mFramesOverBound;
  long double mAverageCallbackDuration;
  long double mTotalCoroutineDuration;
  unsigned __int64 mTotalRunCoroutines;
  long double mCoroutineTimeLimit;
  std::unique_ptr<WorkerPool> mCoroutinePool;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mNextStarveCheckTime;
  std::thread::id mThreadID;
};

# Social::Events::IEventListener

struct __cppobj Social::Events::IEventListener
{
  Social::Events::IEventListener_vtbl *__vftable /*VFT*/;
};

# Social::Events::IEventListener_vtbl

struct /*VFT*/ Social::Events::IEventListener_vtbl
{
  void (__fastcall *~IEventListener)(Social::Events::IEventListener *this);
  void (__fastcall *recordEvent)(Social::Events::IEventListener *this, const Social::Events::Event *);
  void (__fastcall *sendEvents)(Social::Events::IEventListener *this, bool);
  int (__fastcall *getEventTagsFilter)(Social::Events::IEventListener *this);
  void (__fastcall *stopDebugEventLogging)(Social::Events::IEventListener *this);
};

# Social::Events::EventManager

struct __cppobj Social::Events::EventManager
{
  std::vector<std::unique_ptr<Social::Events::IEventListener>> mEventListeners;
  std::unordered_map<std::string,Social::Events::Property> mGlobalProperties;
  std::unordered_map<std::string,Social::Events::Property> mCommonProperties;
  std::unordered_map<unsigned int,std::unordered_map<std::string,Social::Events::Property>> mPlayerCommonProperties;
  std::unordered_map<unsigned int,std::unordered_map<std::string,Social::Events::Property>> mPlayerGlobalProperties;
  std::shared_mutex mGlobalPropertiesMutex;
  std::shared_mutex mCommonPropertiesMutex;
  std::shared_mutex mPlayerCommonPropertiesMutex;
  std::shared_mutex mPlayerGlobalPropertiesMutex;
  std::shared_mutex mListenersMutex;
  unsigned int mGlobalSeqNum;
  bool mAcceptNewEvents;
  std::unique_ptr<TaskGroup> mRecordEventTaskGroup;
};

# Social::XboxLiveUser

const struct __cppobj __declspec(align(8)) Social::XboxLiveUser : AppPlatformListener, std::enable_shared_from_this<Social::XboxLiveUser>
{
  IMinecraftEventing *mEventing;
  PlayerAchievementData mCachedAchievementData;
  std::shared_ptr<Social::XboxLiveUserInfo> mXboxLiveUserInfo;
  Social::XsapiHandle<XalUser *> mCurrentUser;
  Social::XsapiHandle<XblContext *> mXblContext;
  bool mIsPlayerBan;
  std::chrono::duration<__int64,std::ratio<1,1> > mPrivacyListsRefreshInterval;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mTimeMarkOfPrivacyListsRefresh;
  std::vector<int> mUserVisitedBiomes;
  std::unordered_map<std::string,std::unique_ptr<Social::XboxLiveUserProfileData>> mXuidProfileMap;
  std::vector<Social::XboxLiveUserProfileData const *> mFriendList;
  std::vector<Social::XboxLiveUserProfileData *> mProfileQueries;
  std::vector<Social::XboxLiveUserProfileData *> mPermissionQueries;
  bool mTelemetryIsActive;
  std::string mRichPresence;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mUsersUpdateTime;
  MPMCQueue<std::function<void __cdecl(void)> > mCallbackQueue;
  bool mAppIsActive;
  std::string mXuid;
  Core::Subject<Social::XboxLiveUserObserver,Core::SingleThreadedLock> mObserverSubject;
  BasicTimer mProfileRequestTimer;
  BasicTimer mPermissionRequestTimer;
  std::vector<Social::XboxLiveUser::ProfileCallback> mProfileCallbacks;
  Core::PathBuffer<std::string > mStorageAreaPathOverride;
  bool mIsRealTimeActivityAllowed;
};

# Social::XboxLiveUserInfo

struct __cppobj Social::XboxLiveUserInfo : std::enable_shared_from_this<Social::XboxLiveUserInfo>
{
  Social::XboxLiveUser *mUser;
  std::vector<std::string> mXboxLiveBlockList;
  std::mutex mBlockListMutex;
  std::mutex mWritingFriendInfo;
  std::mutex mContextChange;
  std::unordered_map<enum Social::XboxLiveUserProfileData::FetchedData,Social::XboxLiveUserInfo::XboxLiveLimitTimer> mLimitTimers;
};

# Social::XsapiHandle<XalUser *>

struct __cppobj Social::XsapiHandle<XalUser *>
{
  struct XalUser *mHandle;
  std::function<void __cdecl(XalUser *)> mCloseFn;
  std::function<int __cdecl(XalUser *,XalUser * *)> mDuplicateFn;
};

# Social::XsapiHandle<XblContext *>

struct __cppobj Social::XsapiHandle<XblContext *>
{
  struct XblContext *mHandle;
  std::function<void __cdecl(XblContext *)> mCloseFn;
  std::function<int __cdecl(XblContext *,XblContext * *)> mDuplicateFn;
};

# Social::XboxLivePermission

struct __cppobj __declspec(align(4)) Social::XboxLivePermission
{
  _BYTE mPermission[4];
  bool mIsAllowed;
};

# Social::XboxLiveUserObserver

struct __cppobj Social::XboxLiveUserObserver : Core::Observer<Social::XboxLiveUserObserver,Core::SingleThreadedLock>
{
};

# Social::XboxLiveUserObserver_vtbl

struct /*VFT*/ Social::XboxLiveUserObserver_vtbl
{
  void (__fastcall *~Observer<Social::XboxLiveUserObserver,Core::SingleThreadedLock>)(Core::Observer<Social::XboxLiveUserObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onSubjectDestroyed)(Core::Observer<Social::XboxLiveUserObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *onXboxUserBlocked)(Social::XboxLiveUserObserver *this, const std::string *);
  void (__fastcall *onXboxUserUnblocked)(Social::XboxLiveUserObserver *this, const std::string *);
};

# Social::XboxLiveUser::ProfileCallback

struct __cppobj Social::XboxLiveUser::ProfileCallback
{
  std::function<void __cdecl(std::vector<Social::XboxLiveUserProfileData const *> const &)> mAction;
  std::vector<std::string> mXuids;
};

# Social::XboxLiveUser_vtbl

struct /*VFT*/ Social::XboxLiveUser_vtbl
{
  void (__fastcall *~AppPlatformListener)(AppPlatformListener *this);
  void (__fastcall *onLowMemory)(AppPlatformListener *this);
  void (__fastcall *onAppPaused)(AppPlatformListener *this);
  void (__fastcall *onAppUnpaused)(AppPlatformListener *this);
  void (__fastcall *onAppPreSuspended)(AppPlatformListener *this);
  void (__fastcall *onAppSuspended)(AppPlatformListener *this);
  void (__fastcall *onAppResumed)(AppPlatformListener *this);
  void (__fastcall *onAppFocusLost)(AppPlatformListener *this);
  void (__fastcall *onAppFocusGained)(AppPlatformListener *this);
  void (__fastcall *onAppTerminated)(AppPlatformListener *this);
  void (__fastcall *onOperationModeChanged)(AppPlatformListener *this, const OperationMode);
  void (__fastcall *onPerformanceModeChanged)(AppPlatformListener *this, const bool);
  void (__fastcall *onPushNotificationReceived)(AppPlatformListener *this, const PushNotificationMessage *);
  void (__fastcall *onResizeBegin)(AppPlatformListener *this);
  void (__fastcall *onResizeEnd)(AppPlatformListener *this);
  void (__fastcall *onDeviceLost)(AppPlatformListener *this);
};

# SearchRequestTelemetry

const struct __cppobj SearchRequestTelemetry : RequestTelemetry
{
  bool mSendCV;
  std::string mCVHeader;
};

# Scoreboard

const struct __cppobj Scoreboard
{
  Scoreboard_vtbl *__vftable /*VFT*/;
  CommandSoftEnumRegistry mRegistry;
  std::unordered_map<std::string,DisplayObjective> mDisplayObjectives;
  IdentityDictionary mIdentityDict;
  std::unordered_map<ScoreboardId,ScoreboardIdentityRef> mIdentityRefs;
  bool mShouldUpdateUI;
  std::unordered_map<std::string,std::unique_ptr<Objective>> mObjectives;
  std::unordered_map<std::string,std::unique_ptr<ObjectiveCriteria>> mCriteria;
};

# SensitiveWordsManager::HashRecord

struct __cppobj __declspec(align(4)) SensitiveWordsManager::HashRecord
{
  unsigned __int64 hash;
  int touchMarker;
  __int16 version;
};

# SensitiveWordsLog

struct __cppobj __declspec(align(8)) SensitiveWordsLog
{
  SensitiveWordsLog::ContentType contentType;
  std::string playerName;
  std::string content;
  std::string playerUid;
  bool isShield;
};

# SensitiveWordsManager

struct __cppobj SensitiveWordsManager
{
  std::list<SensitiveWordsManager::HashRecord> mValidHashList;
  std::unordered_map<unsigned __int64,std::_List_iterator<std::_List_val<std::_List_simple_types<SensitiveWordsManager::HashRecord> > >> mValidHashMap;
  std::vector<SensitiveWordsLog> mPendingSalog;
  std::vector<SensitiveWordsLog> mSendingSalog;
  int mTouchMarker;
  bool cacheHashDirty;
  bool salogDirty;
  BinaryStream mSaveStream;
  Level *mLevel;
};

# Scoreboard_vtbl

struct /*VFT*/ Scoreboard_vtbl
{
  void (__fastcall *~Scoreboard)(Scoreboard *this);
  const DisplayObjective *(__fastcall *setDisplayObjective)(Scoreboard *this, const std::string *, const Objective *, const ObjectiveSortOrder);
  Objective *(__fastcall *clearDisplayObjective)(Scoreboard *this, const std::string *);
  const ScoreboardId *(__fastcall *createScoreboardId)(Scoreboard *this, const std::string *);
  const ScoreboardId *(__fastcall *createScoreboardId)(Scoreboard *this, const Actor *);
  const ScoreboardId *(__fastcall *createScoreboardId)(Scoreboard *this, const Player *);
  void (__fastcall *onObjectiveAdded)(Scoreboard *this, const Objective *);
  void (__fastcall *onObjectiveRemoved)(Scoreboard *this, Objective *);
  void (__fastcall *onScoreChanged)(Scoreboard *this, const ScoreboardId *, const Objective *);
  void (__fastcall *onPlayerScoreRemoved)(Scoreboard *this, const ScoreboardId *, const Objective *);
  void (__fastcall *onPlayerJoined)(Scoreboard *this, const Player *);
  void (__fastcall *onPlayerIdentityUpdated)(Scoreboard *this, const PlayerScoreboardId *);
  void (__fastcall *tick)(Scoreboard *this);
  void (__fastcall *setPacketSender)(Scoreboard *this, PacketSender *);
  void (__fastcall *writeToLevelStorage)(Scoreboard *this);
  void (__fastcall *sensitiveCheckScoreboard)(Scoreboard *this, SensitiveWordsManager *);
  bool (__fastcall *isClientSide)(Scoreboard *this);
};

# SeasonsRenderer

struct __cppobj __declspec(align(8)) SeasonsRenderer
{
  unsigned int mTick;
  std::unique_ptr<TaskGroup> mMainThreadTaskGroup;
  std::shared_ptr<mce::Image> mSeasonsImage;
  std::shared_ptr<mce::ClientTexture> mSeasonsTexture;
  bool mSeasonsTextureDirty;
};

# StructureTemplateData_vtbl

struct /*VFT*/ StructureTemplateData_vtbl
{
  void (__fastcall *~StructureTemplateData)(StructureTemplateData *this);
};

# StructureBlockPalette::BlockPositionData

struct __cppobj StructureBlockPalette::BlockPositionData
{
  std::unique_ptr<CompoundTag> mBlockEntityData;
  std::vector<StructureBlockPalette::TickingQueueData> mTickData;
};

# SmallSet<std::unique_ptr<Actor> >

struct __cppobj SmallSet<std::unique_ptr<Actor> >
{
  std::vector<std::unique_ptr<Actor>> c;
};

# StructureAnimationData

struct __cppobj __declspec(align(8)) StructureAnimationData
{
  unsigned __int64 mTickQueued;
  std::string mStructureName;
  StructureSettings mStructureSettings;
  unsigned int mBlocksPlaced;
  unsigned int mTotalBlocks;
  unsigned __int8 mInitialStructureVersion;
  std::unique_ptr<CommandArea> mCmdArea;
  BlockPos mPlacementPos;
  unsigned int mQueueID;
  AutomaticID<Dimension,int> mTargetDimension;
};

# StructureManager

struct __cppobj __declspec(align(8)) StructureManager
{
  std::shared_mutex mTryGetMutex;
  std::shared_mutex mRepositoryMutex;
  std::unordered_map<std::string,std::unique_ptr<LegacyStructureTemplate>> mLegacyStructureRepository;
  std::unordered_map<std::string,std::unique_ptr<StructureTemplate>> mStructureRepository;
  std::vector<std::unique_ptr<StructureAnimationData>> mStructurePlacementQueue;
  unsigned int mStructurePlacementSaveCounter;
};

# SnapshotFilenameAndLength

struct __cppobj SnapshotFilenameAndLength
{
  std::string filename;
  unsigned __int64 filesize;
};

# SPSCQueue<std::function<void __cdecl(void)>,512>

struct __cppobj SPSCQueue<std::function<void __cdecl(void)>,512>
{
  Lockless::WeakAtomic<SPSCQueue<std::function<void __cdecl(void)>,512>::Block *> mFrontBlock;
  char mCachelineFiller[56];
  Lockless::WeakAtomic<SPSCQueue<std::function<void __cdecl(void)>,512>::Block *> mTailBlock;
  unsigned __int64 mLargestBlockSize;
};

# ScriptApi::ScriptFramework

struct __cppobj ScriptApi::ScriptFramework
{
  ScriptApi::ScriptFramework_vtbl *__vftable /*VFT*/;
  std::unique_ptr<ScriptApi::ScriptLanguageInterface> mLanguageInterface;
  std::vector<ScriptApi::ScriptSystemInfo> mScriptSystems;
  std::unique_ptr<ScriptApi::ScriptReport> mScriptReportQueue;
};

# ScriptApi::ScriptFramework_vtbl

struct /*VFT*/ ScriptApi::ScriptFramework_vtbl
{
  void (__fastcall *~ScriptFramework)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *initialize)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *shutdown)(ScriptApi::ScriptFramework *this);
};

# ScriptApi::ScriptLanguageInterface

struct __cppobj ScriptApi::ScriptLanguageInterface
{
  ScriptApi::ScriptLanguageInterface_vtbl *__vftable /*VFT*/;
};

# ScriptApi::JavaScriptErrorHandler

struct __cppobj ScriptApi::JavaScriptErrorHandler
{
  ScriptApi::JavaScriptErrorHandler_vtbl *__vftable /*VFT*/;
  std::string mFullErrorMessage;
  std::string mFilename;
};

# ScriptApi::JavaScriptErrorHandler_vtbl

struct /*VFT*/ ScriptApi::JavaScriptErrorHandler_vtbl
{
  void (__fastcall *~JavaScriptErrorHandler)(ScriptApi::JavaScriptErrorHandler *this);
  const std::string *(__fastcall *getFullErrorMessage)(ScriptApi::JavaScriptErrorHandler *this);
  const std::string *(__fastcall *getFilename)(ScriptApi::JavaScriptErrorHandler *this);
  void (__fastcall *_generateFullErrorMessage)(ScriptApi::JavaScriptErrorHandler *this);
};

# ScriptApi::ScriptReportItem

struct __cppobj ScriptApi::ScriptReportItem
{
  std::string mMessage;
  ScriptApi::ScriptReportItemType mType;
  std::unique_ptr<ScriptApi::JavaScriptErrorHandler> mErrorHandler;
};

# ScriptApi::ScriptReport

struct __cppobj ScriptApi::ScriptReport
{
  std::vector<std::shared_ptr<ScriptApi::ScriptReportItem>> mReportItems;
};

# ScriptApi::ScriptCallbackInterface

struct __cppobj ScriptApi::ScriptCallbackInterface
{
  ScriptApi::ScriptCallbackInterface_vtbl *__vftable /*VFT*/;
};

# ScriptApi::ScriptCallbackInterface_vtbl

struct /*VFT*/ ScriptApi::ScriptCallbackInterface_vtbl
{
  void (__fastcall *~ScriptCallbackInterface)(ScriptApi::ScriptCallbackInterface *this);
  void (__fastcall *makeErrorResultObject)(ScriptApi::ScriptCallbackInterface *this, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processLogCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processRegisterEventDataCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processCreateEventDataCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processListenForEventCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processBroadcastEventCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processCreateEntityCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processDestroyEntityCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processIsValidEntityCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processRegisterComponentCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processCreateComponentCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processDestroyComponentCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processHasComponentCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processGetComponentCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processApplyComponentChangesCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processRegisterQueryCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processAddFilterToQueryCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processGetEntitiesFromQueryCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processGetBlockCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processGetBlocksCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processExecuteCommandCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processRegisterSystemCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processInfoCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processWarningCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *processErrorCallback)(ScriptApi::ScriptCallbackInterface *this, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *);
};

# ScriptApi::ScriptLanguageInterface_vtbl

struct /*VFT*/ ScriptApi::ScriptLanguageInterface_vtbl
{
  void (__fastcall *~ScriptLanguageInterface)(ScriptApi::ScriptLanguageInterface *this);
  bool (__fastcall *initialize)(ScriptApi::ScriptLanguageInterface *this);
  bool (__fastcall *shutdown)(ScriptApi::ScriptLanguageInterface *this);
  bool (__fastcall *initialized)(ScriptApi::ScriptLanguageInterface *this);
  bool (__fastcall *runScript)(ScriptApi::ScriptLanguageInterface *this, const std::string *, const std::string *, ScriptApi::ScriptReport *);
  bool (__fastcall *createObject)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *createArray)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, const int *, ScriptApi::ScriptReport *);
  bool (__fastcall *cloneObject)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *hasMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const int *, bool *, ScriptApi::ScriptReport *);
  bool (__fastcall *hasMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::string *, bool *, ScriptApi::ScriptReport *);
  bool (__fastcall *setMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const int *, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *setMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::string *, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *getMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const int *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *getMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *setValue)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, bool, ScriptApi::ScriptReport *);
  bool (__fastcall *setValue)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptReport *);
  bool (__fastcall *setValue)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, long double, ScriptApi::ScriptReport *);
  bool (__fastcall *setValue)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, int, ScriptApi::ScriptReport *);
  bool (__fastcall *getValue)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, bool *, ScriptApi::ScriptReport *);
  bool (__fastcall *getValue)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, std::string *, ScriptApi::ScriptReport *);
  bool (__fastcall *getValue)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, long double *, ScriptApi::ScriptReport *);
  bool (__fastcall *getValue)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, int *, ScriptApi::ScriptReport *);
  bool (__fastcall *callObjectFunction)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::string *, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *callGlobalFunction)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *getHandleType)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptObjectType *, ScriptApi::ScriptReport *);
  bool (__fastcall *getMemberNames)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, std::vector<std::string> *, ScriptApi::ScriptReport *);
  bool (__fastcall *getArrayLength)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, int *, ScriptApi::ScriptReport *);
  bool (__fastcall *getGlobalObject)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *createUndefined)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *createNull)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineGlobalCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineConsoleCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineSystemSharedCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineSystemServerCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineSystemClientCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
};

# ScriptApi::ScriptSystemInfo

struct __cppobj __declspec(align(8)) ScriptApi::ScriptSystemInfo
{
  bool mInitialized;
  std::string mSystemName;
  ScriptApi::ScriptObjectHandle mSystemObject;
  ScriptApi::ScriptVersionInfo mVersionInfo;
};

# ScriptEngine

struct __cppobj __declspec(align(8)) ScriptEngine : ScriptApi::ScriptFramework, ScriptApi::ScriptCallbackInterface
{
  std::unordered_map<std::string,std::vector<ScriptApi::EventTracking>> mListeningEvents;
  std::deque<ScriptCommand> mCommandRequestQueue;
  std::unique_ptr<ScriptBinderTemplateController> mBinderFactory;
  bool mInitialized;
  const ScriptApi::ApiScriptType mApiScriptType;
  std::unordered_set<std::string> mRunningScripts;
  std::queue<ScriptEngine::ScriptQueueData> mPendingScriptQueue;
  std::unordered_map<std::string,EventInfo> mMapEventInfo;
  std::unique_ptr<ScriptEventCoordinator> mScriptEventCoordinator;
  ScriptLoggerConfig mLoggerConfig;
};

# ScriptBinderComponent

struct __cppobj ScriptBinderComponent
{
  ScriptBinderComponent_vtbl *__vftable /*VFT*/;
};

# ScriptBinderComponent_vtbl

struct /*VFT*/ ScriptBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptObjectBinder

const struct __cppobj ScriptObjectBinder
{
  const std::string mTypeIdentifier;
  unsigned int mComponentsInUse;
  std::vector<std::unique_ptr<ScriptBinderComponent>> mComponents;
};

# ScriptCommand

struct __cppobj __declspec(align(8)) ScriptCommand
{
  unsigned int mId;
  std::string mCommand;
  ScriptApi::ScriptObjectHandle mCallback;
};

# ScriptBinderTemplate

struct __cppobj ScriptBinderTemplate
{
  ScriptBinderTemplate_vtbl *__vftable /*VFT*/;
};

# ScriptBinderTemplate_vtbl

struct /*VFT*/ ScriptBinderTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptBinderTemplateController

struct __cppobj ScriptBinderTemplateController
{
  std::unordered_map<std::string,std::unique_ptr<ScriptBinderTemplate>> mTemplates;
};

# ScriptEventListener

struct __cppobj ScriptEventListener
{
  ScriptEventListener_vtbl *__vftable /*VFT*/;
};

# ScriptEventListener_vtbl

struct /*VFT*/ ScriptEventListener_vtbl
{
  void (__fastcall *~ScriptEventListener)(ScriptEventListener *this);
  EventResult (__fastcall *onScriptGetComponent)(ScriptEventListener *this, const std::string *, RegistrationType, bool);
  EventResult (__fastcall *onScriptListenForEvent)(ScriptEventListener *this, const std::string *);
  EventResult (__fastcall *onScriptBroadcastEvent)(ScriptEventListener *this, const std::string *, RegistrationType, bool);
  EventResult (__fastcall *onScriptRegisterView)(ScriptEventListener *this);
  EventResult (__fastcall *onScriptRegisterSpatialView)(ScriptEventListener *this, const std::string *);
  EventResult (__fastcall *onScriptAddFilterToView)(ScriptEventListener *this, const std::string *);
  EventResult (__fastcall *onScriptLoaded)(ScriptEventListener *this, const std::string *, unsigned __int64);
  EventResult (__fastcall *onScriptRan)(ScriptEventListener *this, const std::string *, const std::string *, bool);
  EventResult (__fastcall *onScriptError)(ScriptEventListener *this, const std::string *, const std::string *);
  EventResult (__fastcall *onScriptInternalError)(ScriptEventListener *this, const std::string *);
};

# ScriptEventCoordinator

struct __cppobj ScriptEventCoordinator : EventCoordinator<ScriptEventListener>
{
};

# ScriptLoggerConfig

struct __cppobj ScriptLoggerConfig : EnumBitset<enum ScriptLogType,3>
{
};

# ScriptEngine_vtbl

struct /*VFT*/ ScriptEngine_vtbl
{
  void (__fastcall *~ScriptFramework)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *initialize)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *shutdown)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *onLogReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *onInfoReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *onWarnReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *onErrorReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *helpDefineActor)(ScriptEngine *this, const Actor *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *helpDefineActor)(ScriptEngine *this, const ActorUniqueID *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *helpGetActor)(ScriptEngine *this, const ScriptObjectBinder *, Actor **);
  bool (__fastcall *helpGetBlockSource)(ScriptEngine *this, const ScriptObjectBinder *, BlockSource **);
  bool (__fastcall *helpGetBlock)(ScriptEngine *this, const ScriptObjectBinder *, const Block **, const BlockSource *);
  bool (__fastcall *helpGetBlockPos)(ScriptEngine *this, const ScriptObjectBinder *, BlockPos *);
  bool (__fastcall *helpDefineLevel)(ScriptEngine *this, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *helpGetLevel)(ScriptEngine *this, const ScriptObjectBinder *, Level **);
  bool (__fastcall *helpDefineItemStack)(ScriptEngine *this, const ItemInstance *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *helpPopulateEcsID)(ScriptEngine *this, Json::Value *);
  bool (__fastcall *setupInterface)(ScriptEngine *this);
  bool (__fastcall *registerEventData)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *createEventData)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *onEventReceivedFromScriptEngine)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *createEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const std::string *, const std::string *);
  bool (__fastcall *createEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *destroyEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *isValidEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, bool *);
  bool (__fastcall *registerComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *createComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *getComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *hasComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *, bool *);
  bool (__fastcall *destroyComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *);
  bool (__fastcall *applyComponentChanges)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *registerScriptOnlyComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *registerQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const std::string *, const std::string *, const std::string *, const std::string *);
  bool (__fastcall *registerQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *getEntitiesFromQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const long double, const long double, const long double, const long double, const long double, const long double, std::vector<ScriptApi::ScriptObjectHandle> *);
  bool (__fastcall *getEntitiesFromQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, std::vector<ScriptApi::ScriptObjectHandle> *);
  bool (__fastcall *addFilter)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *);
  bool (__fastcall *getBlock)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const BlockPos *, const ScriptApi::ScriptObjectHandle *, const ScriptObjectBinder *);
  bool (__fastcall *helpDefineTickingArea)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const ActorUniqueID *);
  bool (__fastcall *helpDefineTickingArea)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const ITickingArea *);
  void (__fastcall *onExecuteCommandCalled)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptCommand *);
  bool (__fastcall *executeCommand)(ScriptEngine *this, const ScriptCommand *);
  bool (__fastcall *onCommandOutputCallback)(ScriptEngine *this, unsigned int, Json::Value *);
  bool (__fastcall *_registerSystemObjects)(ScriptEngine *this, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *_hasEvent)(ScriptEngine *this, const std::string *);
  bool (__fastcall *_helpRegisterSystemCallbacks)(ScriptEngine *this, const ScriptApi::ScriptObjectHandle *);
  void (__fastcall *_handleError)(ScriptEngine *this, const ScriptApi::ScriptReportItem *);
  void (__fastcall *_handleWarning)(ScriptEngine *this, const ScriptApi::ScriptReportItem *);
};

# ScriptServerContext

struct __cppobj ScriptServerContext
{
  Level *mLevel;
  Minecraft *mMinecraft;
  PacketSender *mPacketSender;
  entt::basic_registry<enum entt::entity> *mRegistry;
  ScriptApi::ScriptReport *mScriptReport;
};

# ScriptTemplateFactory<ScriptServerContext>::Entity

struct __cppobj ScriptTemplateFactory<ScriptServerContext>::Entity
{
  ScriptTemplateFactory<ScriptServerContext>::Entity_vtbl *__vftable /*VFT*/;
};

# ScriptTemplateFactory<ScriptServerContext>::Entity_vtbl

struct /*VFT*/ ScriptTemplateFactory<ScriptServerContext>::Entity_vtbl
{
  void (__fastcall *~Entity)(ScriptTemplateFactory<ScriptServerContext>::Entity *this);
  bool (__fastcall *createAndApplyTemplate)(ScriptTemplateFactory<ScriptServerContext>::Entity *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, Actor **, const std::string *);
};

# ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Entity>

struct __cppobj ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Entity>
{
  std::unordered_map<unsigned __int64,std::shared_ptr<ScriptTemplateFactory<ScriptServerContext>::Entity>> mTemplates;
};

# ScriptTemplateFactory<ScriptServerContext>::Component

struct __cppobj ScriptTemplateFactory<ScriptServerContext>::Component
{
  ScriptTemplateFactory<ScriptServerContext>::Component_vtbl *__vftable /*VFT*/;
};

# ScriptTemplateFactory<ScriptServerContext>::Component_vtbl

struct /*VFT*/ ScriptTemplateFactory<ScriptServerContext>::Component_vtbl
{
  void (__fastcall *~Component)(ScriptTemplateFactory<ScriptServerContext>::Component *this);
  bool (__fastcall *applyComponentTo)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, ITickingArea *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *applyComponentTo)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, const Block *, BlockSource *, const BlockPos *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *applyComponentTo)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, Level *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *applyComponentTo)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, Actor *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *retrieveComponentFrom)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, ITickingArea *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *retrieveComponentFrom)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, const Block *, BlockSource *, const BlockPos *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *retrieveComponentFrom)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, Level *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *retrieveComponentFrom)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, Actor *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *hasComponent)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, const ITickingArea *, bool *);
  bool (__fastcall *hasComponent)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, const Block *, BlockSource *, const BlockPos *, bool *);
  bool (__fastcall *hasComponent)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, Level *, bool *);
  bool (__fastcall *hasComponent)(ScriptTemplateFactory<ScriptServerContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, Actor *, bool *);
};

# ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Component>

struct __cppobj ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Component>
{
  std::unordered_map<unsigned __int64,std::shared_ptr<ScriptTemplateFactory<ScriptServerContext>::Component>> mTemplates;
};

# ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent

struct __cppobj ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
  ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent_vtbl *__vftable /*VFT*/;
};

# ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent_vtbl

struct /*VFT*/ ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent_vtbl
{
  void (__fastcall *~ReceivedEvent)(ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent *this);
  bool (__fastcall *receivedEvent)(ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *getEventData)(ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptServerContext *, const std::string *, ScriptApi::ScriptObjectHandle *);
};

# ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent>

struct __cppobj ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent>
{
  std::unordered_map<unsigned __int64,std::shared_ptr<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent>> mTemplates;
};

# ScriptTemplateFactory<ScriptServerContext>::HashedEntries

struct __cppobj ScriptTemplateFactory<ScriptServerContext>::HashedEntries
{
  std::unordered_set<unsigned __int64> mHashes;
};

# ScriptTemplateFactory<ScriptServerContext>

struct __cppobj ScriptTemplateFactory<ScriptServerContext>
{
  ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Entity> mEntities;
  ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Entity> mItemEntities;
  ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Component> mComponents;
  ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent> mReceivedEvents;
  ScriptTemplateFactory<ScriptServerContext>::HashedEntries mScriptEventDatas;
  std::shared_ptr<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent> mBroadcastEvent;
};

# ScriptOnlyComponents<ScriptServerContext>

struct __cppobj ScriptOnlyComponents<ScriptServerContext>
{
  std::map<std::string,Json::Value> mScriptOnlyComponentDefs;
};

# ScriptOnlyEventsData<ScriptServerContext>

struct __cppobj ScriptOnlyEventsData<ScriptServerContext>
{
  std::map<std::string,Json::Value> mScriptOnlyEventsData;
};

# ScriptEventData_vtbl

struct /*VFT*/ ScriptEventData_vtbl
{
  void (__fastcall *~ScriptEventData)(ScriptEventData *this);
  bool (__fastcall *_serialize)(ScriptEventData *this, ScriptEngine *, ScriptApi::ScriptObjectHandle *);
};

# ScriptQueries

struct __cppobj ScriptQueries
{
  entt::basic_registry<enum entt::entity> mRegistryView;
};

# ScriptEngineWithContext<ScriptServerContext>

struct __cppobj __declspec(align(8)) ScriptEngineWithContext<ScriptServerContext> : ScriptEngine
{
  const gsl::basic_string_span<char const ,-1> SCRIPT_FILE_EXTENSION;
  const std::string SCRIPT_ENTITY_TYPE;
  const std::string SCRIPT_ITEM_ENTITY_TYPE;
  ScriptServerContext mContext;
  ScriptTemplateFactory<ScriptServerContext> mFactory;
  ScriptOnlyComponents<ScriptServerContext> mScriptComponents;
  ScriptOnlyEventsData<ScriptServerContext> mScriptEvents;
  std::deque<std::unique_ptr<ScriptEventData const >> mEventQueue;
  std::unordered_map<unsigned int,ScriptCommandCallbackData> mCommandPendingCallbackQueue;
  ScriptQueries mQueries;
  bool mWorkaroundViewUpdate;
};

# ScriptEngineWithContext<ScriptServerContext>_vtbl

struct /*VFT*/ ScriptEngineWithContext<ScriptServerContext>_vtbl
{
  void (__fastcall *~ScriptFramework)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *initialize)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *shutdown)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *onLogReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *onInfoReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *onWarnReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *onErrorReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *helpDefineActor)(ScriptEngine *this, const Actor *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *helpDefineActor)(ScriptEngine *this, const ActorUniqueID *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *helpGetActor)(ScriptEngine *this, const ScriptObjectBinder *, Actor **);
  bool (__fastcall *helpGetBlockSource)(ScriptEngine *this, const ScriptObjectBinder *, BlockSource **);
  bool (__fastcall *helpGetBlock)(ScriptEngine *this, const ScriptObjectBinder *, const Block **, const BlockSource *);
  bool (__fastcall *helpGetBlockPos)(ScriptEngine *this, const ScriptObjectBinder *, BlockPos *);
  bool (__fastcall *helpDefineLevel)(ScriptEngine *this, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *helpGetLevel)(ScriptEngine *this, const ScriptObjectBinder *, Level **);
  bool (__fastcall *helpDefineItemStack)(ScriptEngine *this, const ItemInstance *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *helpPopulateEcsID)(ScriptEngine *this, Json::Value *);
  bool (__fastcall *setupInterface)(ScriptEngine *this);
  bool (__fastcall *registerEventData)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *createEventData)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *onEventReceivedFromScriptEngine)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *createEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const std::string *, const std::string *);
  bool (__fastcall *createEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *destroyEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *isValidEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, bool *);
  bool (__fastcall *registerComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *createComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *getComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *hasComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *, bool *);
  bool (__fastcall *destroyComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *);
  bool (__fastcall *applyComponentChanges)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *registerScriptOnlyComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *registerQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const std::string *, const std::string *, const std::string *, const std::string *);
  bool (__fastcall *registerQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *getEntitiesFromQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const long double, const long double, const long double, const long double, const long double, const long double, std::vector<ScriptApi::ScriptObjectHandle> *);
  bool (__fastcall *getEntitiesFromQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, std::vector<ScriptApi::ScriptObjectHandle> *);
  bool (__fastcall *addFilter)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *);
  bool (__fastcall *getBlock)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const BlockPos *, const ScriptApi::ScriptObjectHandle *, const ScriptObjectBinder *);
  bool (__fastcall *helpDefineTickingArea)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const ActorUniqueID *);
  bool (__fastcall *helpDefineTickingArea)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const ITickingArea *);
  void (__fastcall *onExecuteCommandCalled)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptCommand *);
  bool (__fastcall *executeCommand)(ScriptEngine *this, const ScriptCommand *);
  bool (__fastcall *onCommandOutputCallback)(ScriptEngine *this, unsigned int, Json::Value *);
  bool (__fastcall *_registerSystemObjects)(ScriptEngine *this, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *_hasEvent)(ScriptEngine *this, const std::string *);
  bool (__fastcall *_helpRegisterSystemCallbacks)(ScriptEngine *this, const ScriptApi::ScriptObjectHandle *);
  void (__fastcall *_handleError)(ScriptEngine *this, const ScriptApi::ScriptReportItem *);
  void (__fastcall *_handleWarning)(ScriptEngine *this, const ScriptApi::ScriptReportItem *);
};

# ServerInstanceEventListener

struct __cppobj ServerInstanceEventListener
{
  ServerInstanceEventListener_vtbl *__vftable /*VFT*/;
};

# ServerInstance

struct __cppobj ServerInstance : AppPlatformListener, GameCallbacks, Core::StorageAreaStateListener, Bedrock::EnableNonOwnerReferences
{
  const IMinecraftApp *mApp;
  std::unique_ptr<Minecraft> mMinecraft;
  std::unique_ptr<NetworkHandler> mNetwork;
  std::unique_ptr<LoopbackPacketSender> mPacketSender;
  std::unique_ptr<Timer> mSimTimer;
  std::unique_ptr<Timer> mRealTimer;
  std::unique_ptr<Scheduler> mScheduler;
  std::unique_ptr<EducationOptions> mEducationOptions;
  LevelStorage *mStorage;
  RakNet::RakNetGUID mNetworkGUID;
  std::atomic<bool> mInUpdate;
  std::atomic<int> mWriteRefCounter;
  std::atomic<bool> mThreadShouldJoin;
  std::atomic<bool> mServerThreadActive;
  gsl::not_null<Bedrock::NonOwnerPointer<ServerInstanceEventCoordinator> > mEventCoordinator;
  std::atomic<enum ServerInstance::InstanceState> mInstanceState;
  SPSCQueue<std::function<void __cdecl(void)>,512> mCommandQueue;
  std::thread mServerInstanceThread;
  std::mutex mResumeMutex;
  std::condition_variable mResumeSignal;
  std::unique_ptr<MinecraftServerScriptEngine> mScriptEngine;
  std::function<void __cdecl(void)> mLevelCorruptCallback;
  bool mHandledLevelCorruption;
  bool mSendFinishEvent;
  bool mLoadScriptFinshed;
  std::vector<std::string> mAddOnList;
  bool mDisableHealth;
  bool mHasRemoveEntityEvent;
  bool mIsUpdateAnim;
  std::string mMapIid;
  std::string mRoomId;
  std::string mRoomName;
  std::string mServerId;
  std::string mServerName;
  std::string mHostnum;
  std::string mOwnerId;
  bool mRentalVerboseFlag;
  bool mServerCloseNameTag;
  std::unique_ptr<TextFilteringProcessor> mTextFilteringProcessor;
  std::chrono::duration<__int64,std::ratio<1,1000000> > mWakeupInterval;
  std::string mLevelId;
  std::unique_ptr<WorldSessionEndPoint> mWorldSessionEndPoint;
  std::shared_ptr<Core::FileStorageArea> mStorageAreaForLevel;
  bool mEnableItemStackNetManager;
  bool mbInitialized;
  bool mbFlaggedForEarlyDestruction;
  ServiceRegistrationToken<ServerInstance> mServiceRegistrationToken;
};

# ServerInstanceEventListener_vtbl

struct /*VFT*/ ServerInstanceEventListener_vtbl
{
  void (__fastcall *~ServerInstanceEventListener)(ServerInstanceEventListener *this);
  EventResult (__fastcall *onServerInitializeStart)(ServerInstanceEventListener *this, ServerInstance *);
  EventResult (__fastcall *onServerInitializeEnd)(ServerInstanceEventListener *this, ServerInstance *);
  EventResult (__fastcall *onServerMinecraftInitialized)(ServerInstanceEventListener *this, ServerInstance *, Minecraft *);
  EventResult (__fastcall *onServerLevelInitialized)(ServerInstanceEventListener *this, ServerInstance *, Level *);
  EventResult (__fastcall *onServerUpdateStart)(ServerInstanceEventListener *this, ServerInstance *);
  EventResult (__fastcall *onServerUpdateEnd)(ServerInstanceEventListener *this, ServerInstance *);
  EventResult (__fastcall *onServerSuspend)(ServerInstanceEventListener *this, ServerInstance *);
  EventResult (__fastcall *onServerResume)(ServerInstanceEventListener *this, ServerInstance *);
  EventResult (__fastcall *onServerThreadStarted)(ServerInstanceEventListener *this, ServerInstance *);
  EventResult (__fastcall *onServerThreadStopped)(ServerInstanceEventListener *this, ServerInstance *);
  EventResult (__fastcall *onStartLeaveGame)(ServerInstanceEventListener *this, ServerInstance *);
  EventResult (__fastcall *onLeaveGameDone)(ServerInstanceEventListener *this, ServerInstance *);
};

# ScriptServerActorEventListener

struct __cppobj ScriptServerActorEventListener : ActorEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptServerActorEventListener_vtbl

struct /*VFT*/ ScriptServerActorEventListener_vtbl
{
  void (__fastcall *~ActorEventListener)(ActorEventListener *this);
  EventResult (__fastcall *onActorAttack)(ActorEventListener *this, Actor *, Actor *, int);
  EventResult (__fastcall *onActorHit)(ActorEventListener *this, Actor *, const ActorDamageSource *, int *, bool *, bool *);
  EventResult (__fastcall *onActorHurt)(ActorEventListener *this, const ActorHurtEvent *);
  EventResult (__fastcall *onActorMove)(ActorEventListener *this, Actor *, const Vec3 *);
  EventResult (__fastcall *onActorPredictedMove)(ActorEventListener *this, Actor *, MovePredictionType, const Vec3 *);
  EventResult (__fastcall *onActorTick)(ActorEventListener *this, Actor *);
  EventResult (__fastcall *onActorSneakChanged)(ActorEventListener *this, Actor *, bool);
  EventResult (__fastcall *onActorStartRiding)(ActorEventListener *this, Actor *, Actor *);
  EventResult (__fastcall *onActorStopRiding)(ActorEventListener *this, Actor *, bool, bool, bool);
  EventResult (__fastcall *onActorDeath)(ActorEventListener *this, Actor *, const ActorDamageSource *, ActorType);
  EventResult (__fastcall *onActorDefinitionEventTriggered)(ActorEventListener *this, const ActorDefinitionEvent *);
  EventResult (__fastcall *onActorUseItem)(ActorEventListener *this, const ActorUseItemEvent *);
  EventResult (__fastcall *onActorUseItemOn)(ActorEventListener *this, Actor *, const ItemStack *, const BlockPos *, unsigned __int8);
  EventResult (__fastcall *onActorCreated)(ActorEventListener *this, Actor *);
  EventResult (__fastcall *onProjectileHit)(ActorEventListener *this, const ProjectileHitEvent *);
  EventResult (__fastcall *onActorTeleported)(ActorEventListener *this, Actor *);
  EventResult (__fastcall *onActorAttackedActor)(ActorEventListener *this, Actor *, Actor *);
  EventResult (__fastcall *onActorAcquiredItem)(ActorEventListener *this, const ActorAcquiredItemEvent *);
  EventResult (__fastcall *onActorPlacedItem)(ActorEventListener *this, Actor *, const ItemInstance *);
  EventResult (__fastcall *onActorDroppedItem)(ActorEventListener *this, Actor *, const ItemInstance *);
  EventResult (__fastcall *onActorCarriedItemChanged)(ActorEventListener *this, Actor *, const ItemInstance *, const ItemInstance *, HandSlot);
  EventResult (__fastcall *onActorEquippedArmor)(ActorEventListener *this, Actor *, const ItemInstance *, ArmorSlot);
  EventResult (__fastcall *onActorRemoved)(ActorEventListener *this, Actor *);
  EventResult (__fastcall *onActorMobInteraction)(ActorEventListener *this, Actor *, MinecraftEventing::InteractionType, ActorType);
  EventResult (__fastcall *onActorTargetAcquired)(ActorEventListener *this, Actor *, Actor *);
  EventResult (__fastcall *onActorGriefingBlock)(ActorEventListener *this, const ActorGriefingBlockEvent *);
  EventResult (__fastcall *onActorAddEffect)(ActorEventListener *this, const ActorAddEffectEvent *);
  EventResult (__fastcall *onActorKilled)(ActorEventListener *this, const ActorKilledEvent *);
  EventResult (__fastcall *onActorRemoveEffect)(ActorEventListener *this, const ActorRemoveEffectEvent *);
  EventResult (__fastcall *onKnockBack)(ActorEventListener *this, const KnockBackEvent *);
  EventResult (__fastcall *onMountTaming)(ActorEventListener *this, const MountTamingEvent *);
  EventResult (__fastcall *onActorAnimationChanged)(ActorEventListener *this, const ActorAnimationChangedEvent *);
  EventResult (__fastcall *onSendActorAddBuff)(ActorEventListener *this, Actor *, const AttributeInstance *, const std::string *, int, bool, int, int, int);
};

# ScriptServerBlockEventListener

struct __cppobj ScriptServerBlockEventListener : BlockEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptServerBlockEventListener_vtbl

struct /*VFT*/ ScriptServerBlockEventListener_vtbl
{
  void (__fastcall *~BlockEventListener)(BlockEventListener *this);
  EventResult (__fastcall *onBlockPlacedByPlayer)(BlockEventListener *this, Player *, const Block *, const BlockPos *, bool);
  EventResult (__fastcall *onBlockDestroyedByPlayer)(BlockEventListener *this, Player *, const std::string, const BlockPos *);
  EventResult (__fastcall *onBlockMovedByPiston)(BlockEventListener *this, const BlockPos *, const BlockPos *, const PistonBlockActor::PistonState);
  EventResult (__fastcall *onBlockDestructionStopped)(BlockEventListener *this, Player *, const BlockPos *, int);
  EventResult (__fastcall *onBlockDestructionStarted)(BlockEventListener *this, Player *, const BlockPos *);
  EventResult (__fastcall *onBlockInteractedWith)(BlockEventListener *this, Player *, const BlockPos *);
  EventResult (__fastcall *onBlockExploded)(BlockEventListener *this, const BlockPos *, const Block *, Actor *);
  EventResult (__fastcall *onBlockModified)(BlockEventListener *this, const BlockPos *, const Block *, const Block *);
  EventResult (__fastcall *onChestBlockTryPaired)(BlockEventListener *this, const ChestBlockTryPairEvent *);
  EventResult (__fastcall *onUnknownBlockReceived)(BlockEventListener *this, Level *, const NewBlockID *, unsigned __int16);
};

# ScriptServerPacketEventListener

struct __cppobj ScriptServerPacketEventListener : NetworkPacketEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptServerPacketEventListener_vtbl

struct /*VFT*/ ScriptServerPacketEventListener_vtbl
{
  void (__fastcall *~NetworkPacketEventListener)(NetworkPacketEventListener *this);
  EventResult (__fastcall *onPacketReceivedFrom)(NetworkPacketEventListener *this, const PacketHeader *, const Packet *);
};

# ScriptTelemetryEventListener

struct __cppobj __declspec(align(8)) ScriptTelemetryEventListener : ScriptEventListener
{
  IMinecraftEventing *mEventing;
  const bool mClientside;
};

# ScriptTelemetryEventListener_vtbl

struct /*VFT*/ ScriptTelemetryEventListener_vtbl
{
  void (__fastcall *~ScriptEventListener)(ScriptEventListener *this);
  EventResult (__fastcall *onScriptGetComponent)(ScriptEventListener *this, const std::string *, RegistrationType, bool);
  EventResult (__fastcall *onScriptListenForEvent)(ScriptEventListener *this, const std::string *);
  EventResult (__fastcall *onScriptBroadcastEvent)(ScriptEventListener *this, const std::string *, RegistrationType, bool);
  EventResult (__fastcall *onScriptRegisterView)(ScriptEventListener *this);
  EventResult (__fastcall *onScriptRegisterSpatialView)(ScriptEventListener *this, const std::string *);
  EventResult (__fastcall *onScriptAddFilterToView)(ScriptEventListener *this, const std::string *);
  EventResult (__fastcall *onScriptLoaded)(ScriptEventListener *this, const std::string *, unsigned __int64);
  EventResult (__fastcall *onScriptRan)(ScriptEventListener *this, const std::string *, const std::string *, bool);
  EventResult (__fastcall *onScriptError)(ScriptEventListener *this, const std::string *, const std::string *);
  EventResult (__fastcall *onScriptInternalError)(ScriptEventListener *this, const std::string *);
};

# SimplexNoise

struct __cppobj SimplexNoise
{
  Vec3 mOrigin;
  int mNoiseMap[512];
};

# ScriptServerLevelEventListener

struct __cppobj ScriptServerLevelEventListener : LevelEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptServerLevelEventListener_vtbl

struct /*VFT*/ ScriptServerLevelEventListener_vtbl
{
  void (__fastcall *~LevelEventListener)(LevelEventListener *this);
  EventResult (__fastcall *onLevelInitialized)(LevelEventListener *this, Level *);
  EventResult (__fastcall *onLevelSaveData)(LevelEventListener *this, Level *, CompoundTag *);
  EventResult (__fastcall *onLevelAddedPlayer)(LevelEventListener *this, Level *, Player *);
  EventResult (__fastcall *onLevelRemovedPlayer)(LevelEventListener *this, Level *, Player *);
  EventResult (__fastcall *onLevelRemovedActor)(LevelEventListener *this, Level *, Actor *);
  EventResult (__fastcall *onLevelAddedActor)(LevelEventListener *this, Level *, Actor *);
  EventResult (__fastcall *onLevelTick)(LevelEventListener *this);
  EventResult (__fastcall *onLevelWeatherChange)(LevelEventListener *this, const std::string *, bool, bool);
  EventResult (__fastcall *onLevelBiomesRegistered)(LevelEventListener *this, BiomeRegistry *);
};

# ScriptLevelWeatherEventListener

struct __cppobj ScriptLevelWeatherEventListener : LevelEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptLevelWeatherEventListener_vtbl

struct /*VFT*/ ScriptLevelWeatherEventListener_vtbl
{
  void (__fastcall *~LevelEventListener)(LevelEventListener *this);
  EventResult (__fastcall *onLevelInitialized)(LevelEventListener *this, Level *);
  EventResult (__fastcall *onLevelSaveData)(LevelEventListener *this, Level *, CompoundTag *);
  EventResult (__fastcall *onLevelAddedPlayer)(LevelEventListener *this, Level *, Player *);
  EventResult (__fastcall *onLevelRemovedPlayer)(LevelEventListener *this, Level *, Player *);
  EventResult (__fastcall *onLevelRemovedActor)(LevelEventListener *this, Level *, Actor *);
  EventResult (__fastcall *onLevelAddedActor)(LevelEventListener *this, Level *, Actor *);
  EventResult (__fastcall *onLevelTick)(LevelEventListener *this);
  EventResult (__fastcall *onLevelWeatherChange)(LevelEventListener *this, const std::string *, bool, bool);
  EventResult (__fastcall *onLevelBiomesRegistered)(LevelEventListener *this, BiomeRegistry *);
};

# ServerInstance_vtbl

struct /*VFT*/ ServerInstance_vtbl
{
  void (__fastcall *~AppPlatformListener)(AppPlatformListener *this);
  void (__fastcall *onLowMemory)(AppPlatformListener *this);
  void (__fastcall *onAppPaused)(AppPlatformListener *this);
  void (__fastcall *onAppUnpaused)(AppPlatformListener *this);
  void (__fastcall *onAppPreSuspended)(AppPlatformListener *this);
  void (__fastcall *onAppSuspended)(AppPlatformListener *this);
  void (__fastcall *onAppResumed)(AppPlatformListener *this);
  void (__fastcall *onAppFocusLost)(AppPlatformListener *this);
  void (__fastcall *onAppFocusGained)(AppPlatformListener *this);
  void (__fastcall *onAppTerminated)(AppPlatformListener *this);
  void (__fastcall *onOperationModeChanged)(AppPlatformListener *this, const OperationMode);
  void (__fastcall *onPerformanceModeChanged)(AppPlatformListener *this, const bool);
  void (__fastcall *onPushNotificationReceived)(AppPlatformListener *this, const PushNotificationMessage *);
  void (__fastcall *onResizeBegin)(AppPlatformListener *this);
  void (__fastcall *onResizeEnd)(AppPlatformListener *this);
  void (__fastcall *onDeviceLost)(AppPlatformListener *this);
};

# Social::MultiplayerServiceObserver

struct __cppobj Social::MultiplayerServiceObserver : Core::Observer<Social::MultiplayerServiceObserver,Core::SingleThreadedLock>
{
};

# Social::MultiplayerServiceObserver_vtbl

struct /*VFT*/ Social::MultiplayerServiceObserver_vtbl
{
  void (__fastcall *~Observer<Social::MultiplayerServiceObserver,Core::SingleThreadedLock>)(Core::Observer<Social::MultiplayerServiceObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onSubjectDestroyed)(Core::Observer<Social::MultiplayerServiceObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *onInvalidPlayerJoinedLobby)(Social::MultiplayerServiceObserver *this, const mce::UUID *, const std::string *);
  void (__fastcall *onUserDisconnectedBecauseConcurrentLogin)(Social::MultiplayerServiceObserver *this, const std::string *);
};

# ServerNetworkHandler::Client

struct __cppobj ServerNetworkHandler::Client
{
  std::unique_ptr<ConnectionRequest> mPrimaryRequest;
  std::unordered_map<unsigned char,std::unique_ptr<SubClientConnectionRequest>> mSubClientRequests;
};

# ServerNetworkHandler

struct __cppobj ServerNetworkHandler : NetEventCallback, LevelListener, Social::MultiplayerServiceObserver, Social::XboxLiveUserObserver
{
  GameCallbacks *mGameCallbacks;
  Level *mLevel;
  NetworkHandler *mNetworkHandler;
  PrivateKeyManager *mServerKeys;
  ServerLocator *mServerLocator;
  PacketSender *mPacketSender;
  bool mUseAllowList;
  AllowList *mAllowList;
  PermissionsFile *mPermissionsFile;
  DenyList mServerDenyList;
  bool mRequireTrustedAuthentication;
  bool mHasDisplayedPackErrors;
  NetworkIdentifier mMyId;
  const int mMaxChunkRadius;
  MinecraftCommands *mMinecraftCommands;
  IMinecraftApp *mApp;
  Bedrock::NonOwnerPointer<TextFilteringProcessor> mTextFilteringProcessor;
  std::unique_ptr<ClientBlobCache::Server::ActiveTransfersManager> mClientCacheManager;
  std::unique_ptr<ClassroomModeNetworkHandler> mCompanionHandler;
  std::string mTenantId;
  std::string mShareableIdentityToken;
  std::mutex mValidatePlayerMutex;
  bool mAllowIncoming;
  mce::UUID mHostPlayerId;
  std::string mServerName;
  std::string mServerType;
  std::string mMultiplayerCorrelationId;
  std::vector<std::string> mTrustedKeys;
  int mMaxNumPlayers;
  std::unordered_set<mce::UUID> mKnownEmotePieceIdLookup;
  std::vector<mce::UUID> mKnownEmotePieceIds;
  std::unordered_map<NetworkIdentifier,std::unique_ptr<ServerNetworkHandler::Client>> mClients;
  __int64 GameOpChangeTime;
  bool mIsTrial;
  std::unordered_map<PackIdVersion,std::string> mPackIdToContentKey;
  std::unique_ptr<GameSpecificNetEventCallback> mGameSpecificNetEventCallback;
};

# ServerMetrics

struct __cppobj ServerMetrics
{
  ServerMetrics_vtbl *__vftable /*VFT*/;
};

# ServerMetrics_vtbl

struct /*VFT*/ ServerMetrics_vtbl
{
  void (__fastcall *~ServerMetrics)(ServerMetrics *this);
  void (__fastcall *sendPeriodicMetrics)(ServerMetrics *this, ServerInstance *);
  void (__fastcall *sendServerTickTime)(ServerMetrics *this, const std::chrono::duration<__int64,std::ratio<1,1000000000> > *);
};

# ServiceClient

struct __cppobj ServiceClient
{
  ServiceClient_vtbl *__vftable /*VFT*/;
  ServiceReference<IMinecraftEventing> mEventing;
  ServiceReference<Social::IUserManager> mUserManager;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mStartTime;
  bool mHasTriedSigningIn;
  bool mHasStoppedSignIn;
  std::vector<std::shared_ptr<RequestHandler>> mSubmittedRequests;
  std::vector<std::shared_ptr<RequestHandler>> mSentRequests;
};

# ServiceClient_vtbl

struct /*VFT*/ ServiceClient_vtbl
{
  void (__fastcall *~ServiceClient)(ServiceClient *this);
  void (__fastcall *update)(ServiceClient *this);
  void (__fastcall *_submitRequest)(ServiceClient *this, std::shared_ptr<RequestHandler>);
};

# StoreUIComponent

struct __cppobj StoreUIComponent
{
  StoreUIComponent_vtbl *__vftable /*VFT*/;
};

# StoreUIComponent_vtbl

struct /*VFT*/ StoreUIComponent_vtbl
{
  void (__fastcall *~StoreUIComponent)(StoreUIComponent *this);
  void (__fastcall *tick)(StoreUIComponent *this, ui::DirtyFlag *);
  bool (__fastcall *canRemove)(StoreUIComponent *this);
  int (__fastcall *getReadyCount)(StoreUIComponent *this);
  void (__fastcall *parseData)(StoreUIComponent *this, const struct web::json::value *);
};

# StoreCatalogItemCollectionInfo

struct __cppobj StoreCatalogItemCollectionInfo
{
  StoreSearchQuery mSearchQuery;
  const unsigned int mMaxOfferCount;
  const int mSalesRecentDocumentValue;
  int mLowDiscount;
  int mHighDiscount;
};

# StoreItemPDPData

struct __cppobj StoreItemPDPData
{
  PDPSectionType mSectionType;
  std::string mUUID;
};

# StoreCatalogItem::ImageInfo

struct __cppobj __declspec(align(8)) StoreCatalogItem::ImageInfo
{
  _BYTE mId[4];
  std::string mUrl;
  glm::tvec2<int,0> mDimensions;
  std::unique_ptr<ResourceLocation> mResourceLocation;
  bool mFetching;
};

# StoreCatalogItem_vtbl

struct /*VFT*/ StoreCatalogItem_vtbl
{
  void (__fastcall *~IStoreCatalogItem)(IStoreCatalogItem *this);
  const std::vector<PackIdVersion> *(__fastcall *getPackIdentities)(IStoreCatalogItem *this);
};

# StoreActiveSaleInfo

struct __cppobj StoreActiveSaleInfo
{
  float mLowDiscount;
  float mHighDiscount;
  __int64 mEndDate;
  std::vector<std::string> mProductIds;
};

# StoreCatalogRepository::StoreCatalogRepoEntitlementChangeListener

struct __cppobj StoreCatalogRepository::StoreCatalogRepoEntitlementChangeListener : EntitlementChangeListener
{
  gsl::not_null<Bedrock::NonOwnerPointer<ContentCatalogService> > mContentCatalogService;
};

# StoreCatalogRepository::StoreCatalogRepoEntitlementChangeListener_vtbl

struct /*VFT*/ StoreCatalogRepository::StoreCatalogRepoEntitlementChangeListener_vtbl
{
  void (__fastcall *~EntitlementChangeListener)(EntitlementChangeListener *this);
  void (__fastcall *_onEntitlementChanged)(EntitlementChangeListener *this);
};

# StoreCatalogRepository

struct __cppobj StoreCatalogRepository : Bedrock::EnableNonOwnerReferences
{
  gsl::not_null<Bedrock::NonOwnerPointer<ContentCatalogService> > mContentCatalogService;
  gsl::not_null<Bedrock::NonOwnerPointer<DateManager> > mDateManager;
  IEntitlementManager *mEntitlementManager;
  ResourcePackRepository *mResourcePackRepository;
  WorldTemplateManager *mWorldTemplateManager;
  CatalogInfo mCatalogInfo;
  std::unordered_map<std::string,std::unique_ptr<StoreCatalogItem>> mStoreCatalogItems;
  std::unordered_set<std::string> mRealmsPlusOfferPackIds;
  bool mRealmsPlusOffersFetched;
  std::function<void __cdecl(void)> mRefreshBindsCallback;
  std::function<enum ItemInstallState __cdecl(std::vector<PackIdVersion> const &)> mGetItemInstallStateCallback;
  ui::GameEventNotification mRefreshStore;
  ui::GameEventNotification mRefreshSales;
  bool mQueryingStorePromotionToast;
  unsigned int mToastQueryDocumentCount;
  _BYTE mDeviceTier[4];
  std::unordered_set<std::string> mAvailableUpdatesSet;
  std::unordered_map<std::string,RealmsStoreOffer> mRealmsCoinOffers;
  std::set<StoreCatalogItem *> mSaleOfferCollections;
  std::map<__int64,StoreActiveSaleInfo,std::greater<__int64>,std::allocator<std::pair<__int64 const ,StoreActiveSaleInfo> > > mItemsWithSaleInfo;
  __int64 mNextSaleTime;
  __int64 mSaleExpireTime;
  __int64 mSalePromotionExpireTime;
  std::shared_ptr<bool> mExistenceTracker;
  std::shared_ptr<StoreCatalogRepository::StoreCatalogRepoEntitlementChangeListener> mEntitlementChangeListener;
};

# SaleComponent

struct __cppobj __declspec(align(8)) SaleComponent : StoreUIComponent
{
  bool mShowOnlyDuringSale;
};

# SaleComponent_vtbl

struct /*VFT*/ SaleComponent_vtbl
{
  void (__fastcall *~StoreUIComponent)(StoreUIComponent *this);
  void (__fastcall *tick)(StoreUIComponent *this, ui::DirtyFlag *);
  bool (__fastcall *canRemove)(StoreUIComponent *this);
  int (__fastcall *getReadyCount)(StoreUIComponent *this);
  void (__fastcall *parseData)(StoreUIComponent *this, const struct web::json::value *);
};

# SearchTermComponent

struct __cppobj SearchTermComponent : StoreUIComponent
{
  std::vector<std::string> mSearchTerms;
};

# SearchTermComponent_vtbl

struct /*VFT*/ SearchTermComponent_vtbl
{
  void (__fastcall *~StoreUIComponent)(StoreUIComponent *this);
  void (__fastcall *tick)(StoreUIComponent *this, ui::DirtyFlag *);
  bool (__fastcall *canRemove)(StoreUIComponent *this);
  int (__fastcall *getReadyCount)(StoreUIComponent *this);
  void (__fastcall *parseData)(StoreUIComponent *this, const struct web::json::value *);
};

# StoreVisualStyle

struct __cppobj StoreVisualStyle
{
  StoreVisualStyleCategory mStyleType;
  std::vector<std::shared_ptr<SearchQuery>> mSearchQueries;
  std::string mTelemetryId;
  NavButtonLinksTo mNavButtonLinksTo;
  std::string mControlId;
  std::unique_ptr<HeaderComponent> mHeaderComponent;
  std::unique_ptr<NavButtonComponent> mNavButtonComponent;
  std::unique_ptr<NavButtonSectionComponent> mNavButtonSectionComponent;
  std::unique_ptr<OfferCollectionComponent> mOfferCollectionComponent;
  std::unique_ptr<PromoComponent> mPromoComponent;
  std::unique_ptr<SaleComponent> mSaleComponent;
  std::unique_ptr<SearchTermComponent> mSearchTermsComponent;
  std::unique_ptr<TreatmentComponent> mTreatmentPackComponent;
  std::unique_ptr<DocumentComponent> mDocumentReferenceComponent;
  std::unique_ptr<WorldListComponent> mWorldListComponent;
  std::unique_ptr<RecentlyViewedComponent> mRecentlyViewedComponent;
  std::unique_ptr<RealmsPlusComponent> mRealmsPlusComponent;
  std::unique_ptr<CarouselComponent> mCarouselComponent;
};

# SmoothFloat

struct __cppobj SmoothFloat
{
  float mTargetValue;
  float mRemainingValue;
  float mLastAmount;
};

# Social::MultiplayerService

struct __cppobj Social::MultiplayerService : UPNPInterface::ConnectionStateListener, Connector::ConnectionStateListener
{
  Social::MultiplayerGameInfo mCurrentGame;
  Connector *mConnector;
  Level *mLevel;
  bool mNeedRoundStartEvent;
  std::function<void __cdecl(enum Social::JoinGameStatus,Social::MultiplayerGameInfo const &,bool)> mJoinCallback;
  std::atomic<enum Social::GamePublishSetting> mPublishSetting;
  std::mutex mPlayerAddedMutex;
  Social::PresenceManager *mPresenceManager;
  IMinecraftEventing *mEventing;
  _BYTE mMultiplayerState[4];
  Social::ServiceState mServiceState;
  std::mutex mServiceStateChangeMutex;
  Social::MultiplayerServiceManager *mServiceManager;
  Bedrock::NonOwnerPointer<Social::IUserManager> mUserManager;
  std::shared_ptr<std::function<void __cdecl(std::string)> > mDisplaySystemMessage;
  NetworkHandler *mNetworkHandler;
  UPNPInterface *mUPnPInterface;
  bool mIsHosting;
  std::vector<Social::GameConnectionInfo> mLocalConnectionInfo;
  std::unordered_map<std::string,Social::ClientConnectionState> mClientsConnecting;
  std::vector<Social::MultiplayerGameInfo> mCurrentList;
  std::mutex mCurrentListMutex;
  bool mIsLANConnection;
  bool mNeedToAdvertise;
  int mNeedToAdvertiseInNumFrames;
  bool mIsInitialized;
  bool mUseNetworking;
  bool mWasSessionCreated;
  const bool mEnabledAtStart;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mTimeOfStateStart;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mTimeOfLevelEntered;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mTimeOfLastGameListRefresh;
  const Social::MultiplayerServiceIdentifier mServiceId;
  const Core::Path mIconPath;
  std::string mNATAddress;
};

# Social::User

struct __cppobj Social::User : std::enable_shared_from_this<Social::User>
{
  Social::User_vtbl *__vftable /*VFT*/;
  _BYTE mType[4];
  int mControllerId;
  const unsigned int mLocalUserId;
  bool mShouldTransferDeviceAccountToXboxLive;
  Social::UserPlatformConnectionState mPlatformConnectionState;
  bool mNeedsPlatformReconnect;
  std::mutex mUserManagerMutex;
  Bedrock::NonOwnerPointer<Social::UserManager> mUserManager;
  std::weak_ptr<IClientInstance> mAssociatedClientInstance;
  std::unique_ptr<Social::IdentityManager> mIdentities;
  std::shared_mutex mSignInMutex;
  bool mSigningIn;
  std::atomic<bool> mFinalized;
  std::vector<std::pair<enum Social::IdentityType,std::function<void __cdecl(Social::MultiIdentitySigninResult const &)> >> mSignInCallbacks;
  std::unordered_map<enum Social::IdentityType,std::vector<std::function<void __cdecl(unsigned int,enum Social::IdentityType)>>> mSignInListeners;
  std::unordered_map<enum Social::IdentityType,std::vector<std::function<void __cdecl(unsigned int,enum Social::IdentityType)>>> mSignOutListeners;
  std::mutex mSignListenerToAddMutex;
  std::unordered_map<enum Social::IdentityType,std::vector<std::function<void __cdecl(unsigned int,enum Social::IdentityType)>>> mSignInListenersToAdd;
  std::unordered_map<enum Social::IdentityType,std::vector<std::function<void __cdecl(unsigned int,enum Social::IdentityType)>>> mSignOutListenersToAdd;
  bool mEnteringOfflineMode;
  std::unique_ptr<Social::PlatformImageService> mPlatformFriendsImageService;
  std::shared_ptr<Core::FileStorageArea> mStorageArea;
  Core::PathBuffer<std::string > mSettingsDirectoryPath;
  std::unique_ptr<CloudSaveSystemWrapper> mCloudSaveSystem;
  std::shared_ptr<Options> mOptions;
};

# Social::User_vtbl

struct /*VFT*/ Social::User_vtbl
{
  void (__fastcall *~User)(Social::User *this);
  void (__fastcall *initStorageAreas)(Social::User *this);
  bool (__fastcall *isConnected)(Social::User *this);
  void (__fastcall *checkPrivilegeWithUIAsync)(Social::User *this, int, const std::string *, std::function<void __cdecl(enum Social::UserPermissionCheckResult)>);
  Social::UserPermissionCheckResult (__fastcall *isMultiplayerAllowed)(Social::User *this);
  Social::UserPermissionCheckResult (__fastcall *isChatAllowed)(Social::User *this);
  Social::UserPermissionCheckResult (__fastcall *isAddFriendAllowed)(Social::User *this);
  Social::UserPermissionCheckResult (__fastcall *isUserGeneratedContentAllowed)(Social::User *this);
  bool (__fastcall *isRemotePlatformUser)(Social::User *this);
  bool (__fastcall *shouldClearChatOnJoinGame)(Social::User *this);
  std::string *(__fastcall *getPlatformID)(Social::User *this, std::string *result);
  bool (__fastcall *hasPremiumPlatformAccess)(Social::User *this);
  void (__fastcall *checkPremiumPlatformStatusAsync)(Social::User *this, std::function<void __cdecl(bool)>);
  bool (__fastcall *hasPlatformIcons)(Social::User *this);
  bool (__fastcall *hasPlatformProfileCards)(Social::User *this);
  void (__fastcall *getLinkedXuids)(Social::User *this, std::function<void __cdecl(std::string,std::string)>, const std::vector<std::string> *);
  void (__fastcall *getLinkedPlatformIds)(Social::User *this, std::function<void __cdecl(std::string,std::string)>, const std::vector<std::string> *);
  std::string *(__fastcall *getPlatformOfflineID)(Social::User *this, std::string *result);
  std::string *(__fastcall *getPlatformOnlineID)(Social::User *this, std::string *result);
  bool (__fastcall *getLegacyOptionsData)(Social::User *this, std::vector<unsigned char> *);
  void (__fastcall *onAppResumed)(Social::User *this);
  void (__fastcall *_onGameControllerIdChanged)(Social::User *this, int, int);
  void (__fastcall *refreshPlatformParentalControlsSetting)(Social::User *this);
  void (__fastcall *_doFinalize)(Social::User *this);
  void (__fastcall *_doDisconnect)(Social::User *this);
  void (__fastcall *_doConnectAsync)(Social::User *this, std::shared_ptr<CallbackTokenContext<std::function<void __cdecl(enum Social::UserPlatformConnectionResult)> > >, bool);
  void (__fastcall *_doTick)(Social::User *this);
  const std::string *(__fastcall *_getPlatformDisplayName)(Social::User *this);
  bool (__fastcall *_checkPlatformUserXBLSignInConstraints)(Social::User *this);
  bool (__fastcall *_isPlatformParentalControlsEnabled)(Social::User *this);
  void (__fastcall *onLevelAdded)(Social::User *this, const std::string *);
  void (__fastcall *onLevelUpdated)(Social::User *this, const std::string *);
  void (__fastcall *onLevelDeleted)(Social::User *this, const std::string *);
};

# Social::Identity

struct __cppobj Social::Identity : std::enable_shared_from_this<Social::Identity>
{
  Social::Identity_vtbl *__vftable /*VFT*/;
  Social::UserProfile mUserProfile;
  std::weak_ptr<Options> mOwnerOptions;
  bool mInitialized;
  std::string mId;
  Social::AuthToken mAuthToken;
  IMinecraftEventing *mEventing;
};

# Social::SingleIdentitySignInResult

struct __cppobj Social::SingleIdentitySignInResult
{
  _BYTE mResult[4];
  bool mNewAccount;
  std::string mGamertagHint;
};

# Social::AuthToken

struct __cppobj Social::AuthToken : NewType<std::string >
{
};

# Social::IUserDataObject

struct __cppobj Social::IUserDataObject
{
  Social::IUserDataObject_vtbl *__vftable /*VFT*/;
};

# Social::IUserDataObject_vtbl

struct /*VFT*/ Social::IUserDataObject_vtbl
{
  void (__fastcall *~IUserDataObject)(Social::IUserDataObject *this);
  const std::string *(__fastcall *getObjectName)(Social::IUserDataObject *this);
  bool (__fastcall *fillFromJSON)(Social::IUserDataObject *this, const Json::Value *);
  Json::Value *(__fastcall *toJSONObject)(Social::IUserDataObject *this, Json::Value *result);
};

# Social::UserData

const struct __cppobj Social::UserData
{
  const bool mIsValid;
  std::string mValue;
};

# Social::Identity_vtbl

struct /*VFT*/ Social::Identity_vtbl
{
  void (__fastcall *~Identity)(Social::Identity *this);
  Social::IdentityEventResponse (__fastcall *initialize)(Social::Identity *this, std::weak_ptr<Options>, const Core::PathBuffer<std::string > *);
  Social::IdentityType (__fastcall *getType)(Social::Identity *this);
  void (__fastcall *tick)(Social::Identity *this);
  void (__fastcall *signIn)(Social::Identity *this, Social::User *, bool, std::function<void __cdecl(Social::SingleIdentitySignInResult)>, std::function<void __cdecl(std::string,std::string)>);
  void (__fastcall *cancelSignIn)(Social::Identity *this);
  void (__fastcall *signOut)(Social::Identity *this, std::function<void __cdecl(bool)>);
  void (__fastcall *doDisconnect)(Social::Identity *this);
  bool (__fastcall *isSignedIn)(Social::Identity *this);
  bool (__fastcall *isNewAccount)(Social::Identity *this);
  bool (__fastcall *signinInProgress)(Social::Identity *this);
  void (__fastcall *onDisplayNameUpdate)(Social::Identity *this, const std::string *);
  const std::unordered_set<enum Social::IdentityType> *(__fastcall *getDependencies)(Social::Identity *this);
  Social::IdentityEventResponse (__fastcall *onIdentitySignIn)(Social::Identity *this, Social::Identity *);
  Social::IdentityEventResponse (__fastcall *onIdentitySignOut)(Social::Identity *this, Social::IdentityType);
  const std::string *(__fastcall *getId)(Social::Identity *this);
  void (__fastcall *getAuthToken)(Social::Identity *this, const std::string *, std::function<void __cdecl(Social::AuthToken)>);
  void (__fastcall *getUserDataObject)(Social::Identity *this, Social::IUserDataObject *);
  void (__fastcall *setUserDataObject)(Social::Identity *this, const Social::IUserDataObject *);
  const Social::UserData *(__fastcall *getUserData)(Social::Identity *this, const Social::UserData *result, const std::string *);
  void (__fastcall *setUserData)(Social::Identity *this, const std::string *, const Social::UserData *);
  void (__fastcall *executeCloudScript)(Social::Identity *this, const std::string *, const Json::Value *, bool, int, std::function<void __cdecl(bool,Json::Value)>);
  bool (__fastcall *hasCachedCredentials)(Social::Identity *this);
  void (__fastcall *clearCachedCredentials)(Social::Identity *this);
  const std::string *(__fastcall *getDisplayName)(Social::Identity *this);
  void (__fastcall *setPresence)(Social::Identity *this, const std::string *);
  void (__fastcall *clearPresence)(Social::Identity *this);
  bool (__fastcall *hasPlayedLegacyGame)(Social::Identity *this, std::shared_ptr<Social::User const >);
  bool (__fastcall *hasPremiumPlatformAccess)(Social::Identity *this);
  void (__fastcall *checkPremiumPlatformStatusAsync)(Social::Identity *this, std::function<void __cdecl(bool)>);
  bool (__fastcall *hasPlatformIcons)(Social::Identity *this);
  bool (__fastcall *hasPlatformProfileCards)(Social::Identity *this);
  void (__fastcall *setMinecraftEventing)(Social::Identity *this, IMinecraftEventing *);
};

# Social::UserProfile

struct __cppobj Social::UserProfile
{
  std::string mDisplayName;
};

# Social::IdentityManager

struct __cppobj Social::IdentityManager
{
  std::unordered_map<enum Social::IdentityType,std::shared_ptr<Social::Identity>> mIdentityMap;
};

# Social::PlatformImageService

struct __cppobj Social::PlatformImageService
{
  bool mCacheAvailable;
  Core::PathBuffer<std::string > mImageCache;
};

# SaveContainer

struct __cppobj __declspec(align(8)) SaveContainer : Core::FileStorageAreaObserver
{
  GameSaveSystem *mSaveSystem;
  std::shared_ptr<Core::FileStorageArea> mObservedStorageArea;
  std::string mContainerName;
  std::string mLevelId;
  SpinLock mLock;
  SpinLock mDelayLock;
  std::atomic<bool> mIsActive;
  std::atomic<bool> mIsAwaitingTask;
  std::atomic<bool> mEnableAutomaticCommits;
  std::atomic<bool> mIsNewWorld;
  bool mShouldObserveStorage;
  __declspec(align(4)) RetryDelay mDelayTimer;
  std::shared_ptr<bool> mExistenceTracker;
  std::set<std::string> mFilesToAdd;
  std::set<std::string> mFilesToDelete;
  __int64 mLastCheckpointTimestamp;
  std::shared_ptr<CallbackTokenContext<std::function<void __cdecl(Core::Result)> > > mManifestSyncContext;
  std::set<std::string> hack_stagedFilesToDelete;
  bool hack_IsEmbeddedContainer;
};

# SaveContainer_vtbl

struct /*VFT*/ SaveContainer_vtbl
{
  void (__fastcall *~Observer<Core::FileStorageAreaObserver,Core::SingleThreadedLock>)(Core::Observer<Core::FileStorageAreaObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onSubjectDestroyed)(Core::Observer<Core::FileStorageAreaObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onBeginWrites)(Core::FileStorageAreaObserver *this);
  void (__fastcall *_onEndWrites)(Core::FileStorageAreaObserver *this);
  void (__fastcall *_onWriteFile)(Core::FileStorageAreaObserver *this, Core::Path);
  void (__fastcall *_onDeleteFile)(Core::FileStorageAreaObserver *this, Core::Path);
};

# Social::ClientConnectionState

struct __cppobj Social::ClientConnectionState
{
  _BYTE mState[4];
  Social::GameConnectionInfo mConnectionInfo;
};

# Social::PresenceTickable

struct __cppobj __declspec(align(8)) Social::PresenceTickable
{
  Social::PresenceTickable_vtbl *__vftable /*VFT*/;
  int mState;
  bool mDoTick;
  std::chrono::duration<__int64,std::ratio<1,1000> > mTickInterval;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastUpdate;
  Social::PresenceTickableType mType;
};

# Social::PresenceTickable_vtbl

struct /*VFT*/ Social::PresenceTickable_vtbl
{
  void (__fastcall *~PresenceTickable)(Social::PresenceTickable *this);
  std::shared_ptr<RequestHandler> *(__fastcall *getPresenceRequest)(Social::PresenceTickable *this, std::shared_ptr<RequestHandler> *result, const ServiceClient *, const std::string *);
};

# Social::PresenceManager

struct __cppobj Social::PresenceManager : ServiceClient
{
  std::map<enum Social::PresenceTickableType,std::unique_ptr<Social::PresenceTickable>> mTickables;
};

# Social::PresenceManager_vtbl

struct /*VFT*/ Social::PresenceManager_vtbl
{
  void (__fastcall *~ServiceClient)(ServiceClient *this);
  void (__fastcall *update)(ServiceClient *this);
  void (__fastcall *_submitRequest)(ServiceClient *this, std::shared_ptr<RequestHandler>);
};

# Social::MultiplayerServiceManager

struct __cppobj Social::MultiplayerServiceManager : Bedrock::EnableNonOwnerReferences
{
  std::vector<std::shared_ptr<Social::MultiplayerService>> mServices;
  std::atomic<bool> mServiceGameListUpdated;
  std::vector<Social::MultiplayerGameInfo> mGameList;
  std::mutex mGameListMutex;
  UPNPInterface *mUPnPInterface;
  Core::Subject<Social::MultiplayerServiceObserver,Core::SingleThreadedLock> mObserverSubject;
  ServiceRegistrationToken<Social::MultiplayerServiceManager> mServiceRegistrationToken;
};

# Social::MultiplayerService_vtbl

struct /*VFT*/ Social::MultiplayerService_vtbl
{
  void (__fastcall *~ConnectionStateListener)(UPNPInterface::ConnectionStateListener *this);
  void (__fastcall *onConnectionStateChanged)(UPNPInterface::ConnectionStateListener *this, const std::string *, const std::string *, unsigned int, unsigned int, unsigned int, const std::string *);
  void (__fastcall *finalize)(Social::MultiplayerService *this);
  bool (__fastcall *isFinalizationComplete)(Social::MultiplayerService *this);
  void (__fastcall *login)(Social::MultiplayerService *this, const bool);
  void (__fastcall *logoff)(Social::MultiplayerService *this);
  void (__fastcall *onPrimaryUserConnectComplete)(Social::MultiplayerService *this, const Social::UserPlatformConnectionResult, const bool);
  void (__fastcall *getFriendProfiles)(Social::MultiplayerService *this, std::function<void __cdecl(std::vector<Social::PlatformUserProfileData> &)>, const bool);
  void (__fastcall *getPlatformProfile)(Social::MultiplayerService *this, const std::string *, std::function<void __cdecl(Social::PlatformUserProfileData &)>, bool);
  void (__fastcall *getPlatformProfiles)(Social::MultiplayerService *this, const std::vector<std::string> *, std::function<void __cdecl(std::vector<Social::PlatformUserProfileData> &&)>, bool);
  void (__fastcall *setInviteHandle)(Social::MultiplayerService *this, const std::string *, const bool);
  void (__fastcall *clearInviteHandle)(Social::MultiplayerService *this);
  Social::InviteHandleCheck (__fastcall *checkIsInviteForCurrentGame)(Social::MultiplayerService *this);
  bool (__fastcall *needToHandleInvite)(Social::MultiplayerService *this);
  bool (__fastcall *isInviteEnabled)(Social::MultiplayerService *this);
  void (__fastcall *invitePlayers)(Social::MultiplayerService *this, const std::vector<std::string> *);
  const std::string *(__fastcall *getInviteHandle)(Social::MultiplayerService *this, const std::string *result);
  unsigned int (__fastcall *getMaxInvitablePlayers)(Social::MultiplayerService *this);
  bool (__fastcall *isPlayerOnline)(Social::MultiplayerService *this, const std::string *);
  void (__fastcall *showPlayerProfile)(Social::MultiplayerService *this, const std::string *);
  std::vector<std::string> *(__fastcall *getPlayerUidsInLobby)(Social::MultiplayerService *this, std::vector<std::string> *result);
  RelationshipStatus (__fastcall *mayChatWith)(Social::MultiplayerService *this, const std::string *);
  bool (__fastcall *hasID)(Social::MultiplayerService *this, const std::string *);
  std::string *(__fastcall *getXBLInfo)(Social::MultiplayerService *this, std::string *result);
  bool (__fastcall *enforcePlatformIdentification)(Social::MultiplayerService *this);
  void (__fastcall *setRealmToJoin)(Social::MultiplayerService *this, const Realms::World *);
  void (__fastcall *clearRealmToJoin)(Social::MultiplayerService *this);
  bool (__fastcall *isInRealm)(Social::MultiplayerService *this);
  Realms::World *(__fastcall *getRealmWorld)(Social::MultiplayerService *this);
  void (__fastcall *sendRealmsAllowListNotification)(Social::MultiplayerService *this, std::vector<std::string>);
  void (__fastcall *setRealmGameInfo)(Social::MultiplayerService *this, Level *);
  bool (__fastcall *isInSession)(Social::MultiplayerService *this);
  bool (__fastcall *isInThirdPartyServer)(Social::MultiplayerService *this);
  bool (__fastcall *isInSiftConnectedService)(Social::MultiplayerService *this);
  const std::string *(__fastcall *getErrorMessage)(Social::MultiplayerService *this, Social::JoinGameStatus);
  bool (__fastcall *isLoggedIn)(Social::MultiplayerService *this);
  bool (__fastcall *isServiceAvailable)(Social::MultiplayerService *this);
  bool (__fastcall *isServiceAllowed)(Social::MultiplayerService *this);
  void (__fastcall *_initialize)(Social::MultiplayerService *this);
  void (__fastcall *_enable)(Social::MultiplayerService *this, std::function<void __cdecl(enum Social::EnableResult)>);
  void (__fastcall *_disable)(Social::MultiplayerService *this, std::function<void __cdecl(bool)>);
  void (__fastcall *_advertiseGame)(Social::MultiplayerService *this);
  void (__fastcall *_onExitLevel)(Social::MultiplayerService *this, Social::User *);
  void (__fastcall *_joinGame)(Social::MultiplayerService *this, const std::string *, std::function<void __cdecl(enum Social::JoinGameStatus,Social::MultiplayerGameInfo const &,bool)>);
  bool (__fastcall *_canJoin)(Social::MultiplayerService *this);
  void (__fastcall *_leaveSession)(Social::MultiplayerService *this);
  bool (__fastcall *_shouldAddGameToGameList)(Social::MultiplayerService *this, const Social::MultiplayerGameInfo *);
  const std::string *(__fastcall *_getPrimaryUserNickname)(Social::MultiplayerService *this, const std::string *result);
  const std::string *(__fastcall *_getPrimaryUserId)(Social::MultiplayerService *this, const std::string *result);
  void (__fastcall *_onMultiplayerStateChange)(Social::MultiplayerService *this, Social::MultiplayerState, Social::MultiplayerState);
  void (__fastcall *_setLobbyProperties)(Social::MultiplayerService *this);
  void (__fastcall *_processExecutionQueue)(Social::MultiplayerService *this);
  bool (__fastcall *_buildGameListIfNeeded)(Social::MultiplayerService *this, bool);
  void (__fastcall *_buildGameList)(Social::MultiplayerService *this, bool);
  void (__fastcall *_getAllActiveSessions)(Social::MultiplayerService *this, bool);
  void (__fastcall *_updatePlayerStatus)(Social::MultiplayerService *this, const std::string *);
  std::vector<Social::GameConnectionInfo> *(__fastcall *_getLocalConnectionInfo)(Social::MultiplayerService *this, std::vector<Social::GameConnectionInfo> *result);
  void (__fastcall *_findOrCreateRealmLobby)(Social::MultiplayerService *this);
  void (__fastcall *_tickMultiplayerManager)(Social::MultiplayerService *this, bool);
  void (__fastcall *_setMemberProperties)(Social::MultiplayerService *this, Social::ClientConnectionState *);
  void (__fastcall *_removePrimaryUserFromSession)(Social::MultiplayerService *this);
  void (__fastcall *_defaultRichPresence)(Social::MultiplayerService *this, Social::User *);
  void (__fastcall *_updateRichPresence)(Social::MultiplayerService *this, Social::User *, const Level *);
  void (__fastcall *_createSession)(Social::MultiplayerService *this);
  void (__fastcall *_updateLobby)(Social::MultiplayerService *this, bool);
  bool (__fastcall *_isMutedPlayer)(Social::MultiplayerService *this, const std::string *);
  bool (__fastcall *_isBlockedPlayer)(Social::MultiplayerService *this, const std::string *);
  RelationshipStatus (__fastcall *_hasChatPrivileges)(Social::MultiplayerService *this, const std::string *);
  void (__fastcall *_onClientEnteredInGame)(Social::MultiplayerService *this, const std::string *);
  Social::GamePublishSetting (__fastcall *_getGamePublishSettingFromLevel)(Social::MultiplayerService *this, const Level *);
  bool (__fastcall *_getShouldBroadcastFromLevel)(Social::MultiplayerService *this, const Level *);
  void (__fastcall *_onMaxPlayerCountUpdated)(Social::MultiplayerService *this, const int);
  void (__fastcall *_onJoinGameCancelled)(Social::MultiplayerService *this);
};

# ServiceRegistrationToken<Social::MultiplayerServiceManager>

struct __cppobj ServiceRegistrationToken<Social::MultiplayerServiceManager>
{
  Social::MultiplayerServiceManager *mService;
};

# SkinPackKeyProvider

struct __cppobj SkinPackKeyProvider : IContentKeyProvider
{
};

# SkinPackKeyProvider_vtbl

struct /*VFT*/ SkinPackKeyProvider_vtbl
{
  void (__fastcall *~IContentKeyProvider)(IContentKeyProvider *this);
  std::string *(__fastcall *getContentKey)(IContentKeyProvider *this, std::string *result, const ContentIdentity *);
  std::string *(__fastcall *getAlternateContentKey)(IContentKeyProvider *this, std::string *result, const ContentIdentity *);
  bool (__fastcall *requireEncryptedReads)(IContentKeyProvider *this);
  void (__fastcall *setTempContentKeys)(IContentKeyProvider *this, const std::unordered_map<ContentIdentity,std::string> *);
  void (__fastcall *clearTempContentKeys)(IContentKeyProvider *this);
};

# SkinPack

struct __cppobj SkinPack
{
  bool isDeleteed;
  Pack *mPack;
  std::string mName;
  std::string mLocName;
  std::string mSerializableName;
  Json::Value mGeometryData;
  bool mRequireTrustedContent;
  std::vector<Skin> mSkins;
};

# SkinRepository::LoadListener

struct __cppobj SkinRepository::LoadListener
{
  std::weak_ptr<bool> mExistenceTracker;
  std::function<void __cdecl(mce::UUID const &)> mCallback;
};

# SkinRepositoryProxyCallbacks

struct __cppobj SkinRepositoryProxyCallbacks
{
  std::function<bool __cdecl(void)> mIsContentLoading;
};

# SkinRepositoryProxy

struct __cppobj SkinRepositoryProxy
{
  SkinRepositoryProxyCallbacks mCallbacks;
};

# SkinRepository

struct __cppobj __declspec(align(8)) SkinRepository : ImagePickingCallback, std::enable_shared_from_this<SkinRepository>
{
  mce::TextureGroup *mTextureGroup;
  PackManifestFactory *mManifestFactory;
  IPackSourceFactory *mPackSourceFactory;
  IEntitlementManager *mEntitlementManager;
  std::unique_ptr<TaskGroup> mTaskGroup;
  SkinPackKeyProvider mKeyProvider;
  std::unordered_map<mce::UUID,SemVersion> mKnownSkinPackIdentities;
  std::vector<mce::UUID> mUntrustedSkinPackIdentities;
  std::unique_ptr<PackSource> mAllSkinPacksSource;
  Pack *mLoadingPack;
  std::vector<Pack *> mPendingLoads;
  std::vector<std::unique_ptr<SkinPack>> mLoadedSkinPacks;
  std::function<void __cdecl(bool,std::string)> mOnPickSkin;
  bool mIsPickingSkin;
  std::shared_ptr<bool> mExistenceTracker;
  std::vector<SkinRepository::LoadListener> mLoadListeners;
  std::unique_ptr<SkinRepositoryProxy> mProxy;
  bool mInitialized;
};

# SkinRepository_vtbl

struct /*VFT*/ SkinRepository_vtbl
{
  void (__fastcall *~ImagePickingCallback)(ImagePickingCallback *this);
  void (__fastcall *onImagePickingSuccess)(ImagePickingCallback *this, const std::string *);
  void (__fastcall *onImagePickingCanceled)(ImagePickingCallback *this);
};

# SharedImageBufferTracker

struct __cppobj SharedImageBufferTracker
{
  const ImageBufferResourceManager *mImageBufferResourceManager;
};

# ServiceDrivenImageRepository

struct __cppobj __declspec(align(8)) ServiceDrivenImageRepository
{
  std::unordered_map<std::string,ResourceLocation> mImages;
  bool mIsReady;
  std::shared_ptr<TaskGroup> mIOTaskGroup;
  std::unordered_set<Core::PathBuffer<std::string >> mFilePathsParsed;
  Core::PathBuffer<Core::StackString<char,1024> > mFolderPath;
  std::shared_ptr<bool> mExistenceTracker;
  int mNumAttempts;
};

# ScreenControllerProxy

struct __cppobj __declspec(align(8)) ScreenControllerProxy
{
  ScreenControllerProxy_vtbl *__vftable /*VFT*/;
  const ScreenControllerProxyType mType;
};

# ScreenControllerProxy_vtbl

struct /*VFT*/ ScreenControllerProxy_vtbl
{
  void (__fastcall *~ScreenControllerProxy)(ScreenControllerProxy *this);
};

# ScreenViewProxy

struct __cppobj ScreenViewProxy
{
  const ScreenViewProxyCallbacks mCallbacks;
};

# SceneStack::SceneStackEvent

struct __cppobj __declspec(align(8)) SceneStack::SceneStackEvent
{
  SceneStack::SceneStackEvent_vtbl *__vftable /*VFT*/;
  SceneStack::SceneStackEvent::EventType mType;
};

# SceneStack::SceneStackEvent_vtbl

struct /*VFT*/ SceneStack::SceneStackEvent_vtbl
{
  void (__fastcall *~SceneStackEvent)(SceneStack::SceneStackEvent *this);
};

# ScreenThreshold

struct ScreenThreshold
{
  _BYTE mSceneType[4];
  _BYTE mSceneTypeToExclude[4];
  int mThresholdNumberOfScreens;
};

# SceneStackProxy

struct __cppobj SceneStackProxy
{
  const SceneStackProxyCallbacks mCallbacks;
};

# SceneStack

struct __cppobj SceneStack : ISceneStack
{
  std::vector<std::shared_ptr<AbstractScene>> mScreenStack;
  CachedScenes *mCachedScreens;
  std::vector<std::unique_ptr<SceneStack::SceneStackEvent>> mStackEvents;
  std::vector<std::unique_ptr<SceneStack::SceneStackEvent>> mQueuedStackEvents;
  std::vector<ScreenThreshold> mScreenThresholds;
  std::unique_ptr<TaskGroup> mDestroyScreenTaskGroup;
  int mActiveStackSize;
  int mScheduledScreenPushCount;
  int mScheduledScreenPopCount;
  bool mScreenNeedsEntrance;
  std::string mLastPoppedScreenName;
  bool mChangedThisFrame;
  bool mScreenIsTicking;
  bool mReloadScenesOnNextPop;
  bool mDeferUpdatesUntilNextTick;
  bool mBufferTextCharEvents;
  std::vector<TextCharEventData> mBufferedTextCharEventData;
  std::weak_ptr<Options> mOptions;
  Bedrock::PubSub::ScopedSubscription mAsyncLoadOptionSubscription;
  std::vector<std::pair<void *,std::function<void __cdecl(AbstractScene &)> >> mPrePushSceneCallbacks;
  std::vector<std::pair<void *,std::function<void __cdecl(std::shared_ptr<AbstractScene>)> >> mPushSceneCallbacks;
  std::vector<std::pair<void *,std::function<void __cdecl(AbstractScene &)> >> mPrePopSceneCallbacks;
  std::vector<std::pair<void *,std::function<void __cdecl(std::shared_ptr<AbstractScene>,bool)> >> mPopSceneCallbacks;
  std::unique_ptr<SceneStackProxy> mProxy;
  gsl::not_null<Bedrock::NonOwnerPointer<UIEventCoordinator> > mUIEventCoordinator;
};

# SceneStack_vtbl

struct /*VFT*/ SceneStack_vtbl
{
  void (__fastcall *~ISceneStack)(ISceneStack *this);
  void (__fastcall *registerPrePushSceneCallback)(ISceneStack *this, void *, std::function<void __cdecl(AbstractScene &)>);
  void (__fastcall *unregisterPrePushSceneCallback)(ISceneStack *this, void *);
  void (__fastcall *registerPushSceneCallback)(ISceneStack *this, void *, std::function<void __cdecl(std::shared_ptr<AbstractScene>)>);
  void (__fastcall *unregisterPushSceneCallback)(ISceneStack *this, void *);
  void (__fastcall *registerPrePopSceneCallback)(ISceneStack *this, void *, std::function<void __cdecl(AbstractScene &)>);
  void (__fastcall *unregisterPrePopSceneCallback)(ISceneStack *this, void *);
  void (__fastcall *registerPopSceneCallback)(ISceneStack *this, void *, std::function<void __cdecl(std::shared_ptr<AbstractScene>,bool)>);
  void (__fastcall *unregisterPopSceneCallback)(ISceneStack *this, void *);
  const AbstractScene *(__fastcall *getTopScene)(ISceneStack *this);
  AbstractScene *(__fastcall *getTopScene)(ISceneStack *this);
  std::shared_ptr<AbstractScene> *(__fastcall *getTopSceneShared)(ISceneStack *this, std::shared_ptr<AbstractScene> *result);
  void (__fastcall *schedulePopScreen)(ISceneStack *this, int);
  void (__fastcall *pushScreen)(ISceneStack *this, std::shared_ptr<AbstractScene>, bool);
};

# SceneFactory

struct __cppobj SceneFactory
{
  SceneFactory_vtbl *__vftable /*VFT*/;
  IClientInstance *mClient;
  IMinecraftGame *mMinecraft;
  std::unique_ptr<TaskGroup> mTaskGroup;
  bool mUseClientInstanceStack;
  hbui::SceneProvider *mSceneProvider;
  std::unique_ptr<UISoundPlayer> mSoundPlayer;
  CachedScenes *mCachedScenes;
  std::vector<std::shared_ptr<SceneFactory::PreCachePackage>> mPreCachePackages;
  std::unique_ptr<SceneFactoryProxy> mProxy;
  std::unordered_map<HashedString,std::pair<std::string,std::function<std::shared_ptr<UIScene> __cdecl(SceneFactory &,IMinecraftGame &,IClientInstance &,std::string const &,Player &,BlockPos const &,ActorUniqueID)> >> mRegisteredInGameScreens;
};

# SceneFactory_vtbl

struct /*VFT*/ SceneFactory_vtbl
{
  void (__fastcall *~SceneFactory)(SceneFactory *this);
  Json::Value *(__fastcall *createGlobalVars)(SceneFactory *this, Json::Value *result, UIDefRepository *);
};

# SceneFactory::PreCachePackage

struct __cppobj SceneFactory::PreCachePackage
{
  std::string screenName;
  std::shared_ptr<UIControlFactory> controlFactory;
  std::unique_ptr<VisualTree> visualTree;
  std::unique_ptr<LayoutManager> layoutManager;
  std::shared_ptr<UIControl> rootControl;
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > taskHandle;
};

# SceneFactoryProxy

struct __cppobj SceneFactoryProxy
{
  const SceneFactoryProxyCallbacks mCallbacks;
};

# ScreenController::ButtonEventCallbackKeyHasher

struct __cppobj ScreenController::ButtonEventCallbackKeyHasher
{
};

# ScreenController_vtbl

struct /*VFT*/ ScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
};

# SpriteComponent

struct __cppobj SpriteComponent : RenderableComponent
{
  ResourceLocation mResourceLocation;
  UITextureInfoPtr mUITextureInfo;
  UITextureInfoPtr mBackCompatUITexture;
  mce::TexturePtr mTexture;
  _BYTE mUIMaterialType[4];
  glm::tvec2<float,0> mUV;
  glm::tvec2<float,0> mUVSize;
  mce::Color mColor;
  ui::SliceSize mNineSliceSize;
  ui::ClipDirection mClipDirection;
  glm::tvec2<float,0> mTiledScale;
  glm::tvec2<float,0> mInvTextureSize;
  _BYTE mTiled[4];
  float mClipRatio;
  __int8 mClipPixelPerfect : 1;
  __int8 mHasNineSlice : 1;
  __int8 mPixelPerfect : 1;
  __int8 mKeepRatio : 1;
  __int8 mFilled : 1;
  __int8 mEnableGrayscale : 1;
  __int8 mEnableBilinear : 1;
  __int8 mTriggerDebugLog : 1;
  __int8 mForceReloadTexture : 1;
  __int8 mTextureLoaded : 1;
  __int8 mAllowDebugTextureReplacement : 1;
  __int8 mIsNewNineSlice : 1;
  float mNewNineSliceTop;
  float mNewNineSliceBottom;
  float mNewNineSliceLeft;
  float mNewNineSliceRight;
  int mBright;
  int mRot_NE;
  Core::PathBuffer<std::string > mZipFolder;
};

# SpriteComponent_vtbl

struct /*VFT*/ SpriteComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
  void (__fastcall *updateUI)(RenderableComponent *this, const UIMeasureStrategy *);
  bool (__fastcall *overridesLayoutAxisOffset)(RenderableComponent *this, const LayoutVariableType);
  float (__fastcall *getLayoutAxisOffsetOverride)(RenderableComponent *this, const LayoutVariableType);
};

# ScreenRenderBatch

struct __cppobj ScreenRenderBatch
{
  std::vector<RenderControlMetadata> mRenderControls;
  std::vector<ComponentRenderBatch> mRenderBatches;
  std::unordered_map<unsigned __int64,TextureState> mTextureStates;
};

# ScreenView::DelayedCommand

struct __cppobj __declspec(align(8)) ScreenView::DelayedCommand
{
  std::function<std::pair<enum ui::DirtyFlag,bool> __cdecl(void)> mAction;
  ScreenView::DelayedCommandLocation location;
};

# ScreenView

struct __cppobj ScreenView
{
  float mLastTime;
  float mTickTime;
  long double mLastRawJoystickEventTime;
  glm::tvec2<float,0> mSize;
  int mMenuUpButtonId;
  int mMenuDownButtonId;
  int mMenuLeftButtonId;
  int mMenuRightButtonId;
  int mMenuTabLeftButtonId;
  int mMenuTabRightButtonId;
  std::array<unsigned int,2> mPointerButtonIds;
  std::shared_ptr<ScreenController> mController;
  std::unique_ptr<VisualTree> mVisualTree;
  std::vector<std::shared_ptr<UIControl>> mAlwaysBindControls;
  std::vector<std::shared_ptr<UIControl>> mInputControls;
  std::vector<std::shared_ptr<UIControl>> mScrollViewControls;
  std::vector<std::shared_ptr<UIControl>> mOutOfModalScopeScrollViewControls;
  std::vector<std::shared_ptr<UIControl>> mAnimationControls;
  std::vector<std::shared_ptr<UIControl>> mFactoryControls;
  std::vector<std::shared_ptr<UIControl>> mTextEditBoxControls;
  std::vector<std::shared_ptr<UIControl>> mAlwaysListeningInputControls;
  std::vector<std::shared_ptr<UIControl>> mRenderableControls;
  std::vector<std::shared_ptr<UIControl>> mFlyingItemRendererControls;
  std::vector<std::shared_ptr<UIControl>> mSliderControls;
  std::vector<std::shared_ptr<UIControl>> mCustomRendererControls;
  std::map<std::vector<std::shared_ptr<UIControl>> *,std::vector<std::shared_ptr<UIControl>>,std::less<std::vector<std::shared_ptr<UIControl>> *>,std::allocator<std::pair<std::vector<std::shared_ptr<UIControl>> * const,std::vector<std::shared_ptr<UIControl>> > > > mControlsToRemove;
  std::unique_ptr<ScreenRenderBatch> mRootRenderBatch;
  std::unique_ptr<UIAnimationController> mAnimationController;
  std::unordered_map<unsigned int,std::vector<std::weak_ptr<UIControl>>> mReservedButtonUpEvents;
  std::weak_ptr<UIControl> mSelectedControl;
  InputMode mInputMode;
  _BYTE mHoloInputMode[4];
  std::unique_ptr<LayoutManager> mLayoutManager;
  std::unique_ptr<FocusManager> mFocusManager;
  std::weak_ptr<UIControl> mFocusedControl;
  std::weak_ptr<ITTSEventManager> mTTSEventManager;
  bool mTextToSpeechEnabled;
  std::string mTTSSectionHeader;
  std::unordered_map<int,enum ui::CardinalDirection> mControllerStickDirections;
  int mControllerLastMoved;
  int mCursorTick;
  const float mControllerXThreshold;
  const float mControllerYThreshold;
  glm::tvec2<float,0> mControllerStickValues[4];
  GamepadCursorData mGamepadCursorData;
  glm::tvec2<float,0> mGamepadCursorPosition;
  bool mHasSetInitialPosition;
  bool mGamepadCursorFocusModeEnabled;
  bool mGamepadCursorMagnetEnabled;
  std::weak_ptr<UIControl> mGamepadMagnetControl;
  float mGamepadMoveTime;
  glm::tvec2<float,0> mGamepadTrackedDirection;
  bool mGamepadHasTapped;
  glm::tvec2<float,0> mPointerLocationPrevious;
  glm::tvec2<float,0> mTouchesPositionsPrevious[20];
  bool exitBlockHoverEvent;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastPointInTime;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mCurrentTime;
  std::chrono::duration<__int64,std::ratio<1,1000000000> > mTimeAccumulator;
  const std::chrono::duration<float,std::ratio<1,1> > mFixedAnimationUpdateRate;
  float mKeyboardHeight;
  bool mShouldShowKeyboard;
  bool mInitKeyboard;
  KeyboardManager *mKeyboardManager;
  RectangleArea mRenderingAABB;
  std::vector<RectangleArea> mInputAreas;
  UIMeasureStrategy *mMeasureStrategy;
  bool mCanMoveFocus;
  bool mIsActived;
  FocusImpact mNextFocusAction;
  std::shared_ptr<UIControlFactory> mControlFactory;
  std::queue<ScreenEvent> mAnimationEvents;
  std::queue<ScreenEvent> mCustomRendererEvents;
  glm::tvec2<float,0> mStartLocation;
  float mTimeUntilNextPointerHeldEvent;
  float mDelayBetweenEachPointerHeldEvent;
  bool mShouldSendPointerHeldEvents;
  std::vector<ScreenView::DelayedCommand> mDelayedCommands;
  std::unique_ptr<ScreenViewProxy> mProxy;
  bool mIsExiting;
  bool mIsEntering;
  bool mIsInitialized;
  bool mHasHadFocus;
  bool mIsTerminating;
  bool mDirectionalButtonWasPressed;
  bool mDelayedFocusRefresh;
  TextEditFocusedListener mTextEditFocusedListener;
};

# SkinRepositoryClientInterface

struct __cppobj __declspec(align(8)) SkinRepositoryClientInterface
{
  bool mConsumeEntitlementsForSignIn;
  std::shared_ptr<SkinRepository> mSkinRepository;
  IClientInstance *mClient;
  PersonaRepository *mPersonaRepository;
  Bedrock::NonOwnerPointer<Social::IUserManager> mUserManager;
  gsl::not_null<Bedrock::NonOwnerPointer<DateManager const > > mDateManager;
  gsl::not_null<Bedrock::NonOwnerPointer<PersonaService> > mPersonaService;
  std::weak_ptr<Options> mOptions;
  std::function<void __cdecl(void)> mOnPersonaSyncedCallback;
  Bedrock::PubSub::ScopedSubscription mStorageOptionSubscription;
  Bedrock::PubSub::ScopedSubscription mSkinIdOptionSubscription;
  Bedrock::PubSub::ScopedSubscription mXuidOptionSubscription;
  SkinHandle mSelectedSkinHandle;
  SkinHandle mPendingSelectedSkin;
  bool mSelectedSkinInitialized;
  std::string mLastCustomSkinId;
  std::vector<std::string> mRecentSkinSerializableNames;
  unsigned int mUserId;
  ResourceLocation mCustomSkinLocation;
  SkinRepositoryClientInterface::SyncState mSyncState;
  unsigned int mLatestSyncId;
  __int64 mTimeStamp;
  int mSyncingCount;
  std::shared_ptr<SkinRepositoryClientInterface::SkinEntitlementChangeListener> mEntitlementChangeListener;
  std::shared_ptr<bool> mExistanceTracker;
  bool mUserUpdateInProcess;
  __int64 mPersonaSyncStartTime;
  bool mPersonaSyncInitialized;
  bool mSelectedSkinInitializedNotTimedOut;
  bool mLoadingTimeoutEventFired;
  std::vector<enum persona::ProfileType> mProfileTypesToRetry;
  std::mutex mProfileTypesToRetryLock;
  std::unordered_set<enum persona::ProfileType> mProcessingProfileTypes;
  std::mutex mProcessingProfileTypesLock;
  std::array<SkinRepositoryClientInterface::PersonaProfileLoadingState,6> mPersonaProfileLoadingStates;
  int mPersonaProfileLoadingStatesUnknownProfileCount;
  persona::ProfileType mCurrentProfileType;
  persona::ProfileType mSelectedSlot;
  std::array<persona::PersonaCharacterHandle,6> mPersonaCharacterHandles;
  bool mShouldTickAchievementCollector;
};

# SkinRepositoryClientInterface::SkinEntitlementChangeListener

struct __cppobj SkinRepositoryClientInterface::SkinEntitlementChangeListener : EntitlementChangeListener
{
  SkinRepositoryClientInterface *mOwner;
};

# SkinRepositoryClientInterface::SkinEntitlementChangeListener_vtbl

struct /*VFT*/ SkinRepositoryClientInterface::SkinEntitlementChangeListener_vtbl
{
  void (__fastcall *~EntitlementChangeListener)(EntitlementChangeListener *this);
  void (__fastcall *_onEntitlementChanged)(EntitlementChangeListener *this);
};

# SkinRepositoryClientInterface::PersonaProfileLoadingState

struct __cppobj SkinRepositoryClientInterface::PersonaProfileLoadingState
{
  _BYTE mState[4];
  persona::ProfileType mProfileType;
  __int64 mTimeStarted;
};

# SkinPackCollector

struct __cppobj __declspec(align(4)) SkinPackCollector
{
  SkinPackCollector_vtbl *__vftable /*VFT*/;
  std::shared_ptr<bool> mExistenceTracker;
  int mNumPacksCollected;
  bool mSearchWhileCollectedPacksEmpty;
};

# SkinPackModel

struct __cppobj __declspec(align(8)) SkinPackModel
{
  SkinRepositoryClientInterface *mSkinRepositoryClientInterface;
  Entitlement *mEntitlement;
  PackIdVersion mPackIdentity;
  SkinPackMeta mSkinPackMetaData;
  int mFirstVisibleSkinIndex;
};

# SkinPackCollector_vtbl

struct /*VFT*/ SkinPackCollector_vtbl
{
  void (__fastcall *~SkinPackCollector)(SkinPackCollector *this);
  void (__fastcall *start)(SkinPackCollector *this, bool);
  bool (__fastcall *exhausted)(SkinPackCollector *this);
  HandleRangeResult (__fastcall *handleRange)(SkinPackCollector *this, int, int);
  void (__fastcall *collect)(SkinPackCollector *this, IEntitlementManager *, SkinRepositoryClientInterface *, std::vector<std::shared_ptr<SkinPackModel>> *, std::unordered_set<mce::UUID> *);
};

# SkinPackCollectionModel::SkinPackCollectionEntitlementChangeListener

struct __cppobj SkinPackCollectionModel::SkinPackCollectionEntitlementChangeListener : EntitlementChangeListener
{
  SkinPackCollectionStatus *mCollectionStatus;
};

# SkinPackCollectionModel::SkinPackCollectionEntitlementChangeListener_vtbl

struct /*VFT*/ SkinPackCollectionModel::SkinPackCollectionEntitlementChangeListener_vtbl
{
  void (__fastcall *~EntitlementChangeListener)(EntitlementChangeListener *this);
  void (__fastcall *_onEntitlementChanged)(EntitlementChangeListener *this);
};

# SkinPackCollectionModel

struct __cppobj SkinPackCollectionModel
{
  MainMenuScreenModel *mMainMenu;
  IEntitlementManager *mEntitlementManager;
  std::shared_ptr<SkinRepository> mSkinRepository;
  SkinRepositoryClientInterface *mSkinRepositoryClientInterface;
  gsl::not_null<Bedrock::NonOwnerPointer<ContentCatalogService> > mContentCatalogService;
  std::shared_ptr<bool> mExistenceTracker;
  SkinPackCollectionStatus mCollectionStatus;
  int mVisibleCollectionStartIndex;
  int mVisibleCollectionEndIndex;
  bool mTryAcquireNextPage;
  std::unordered_set<mce::UUID> mHandledPackSet;
  std::vector<std::unique_ptr<SkinPackCollector>> mCollectors;
  std::shared_ptr<SkinPackModel> mVanillaSkinPack;
  std::vector<std::shared_ptr<SkinPackModel>> mSkinPacks;
  SkinPackModel mInvalidSkinPackModel;
  SkinHandle mPreviewSkin;
  std::unordered_map<mce::UUID,std::unique_ptr<IDlcBatchModel>> mTrackedImports;
  std::shared_ptr<SkinPackCollectionModel::SkinPackCollectionEntitlementChangeListener> mEntitlementChangeListener;
};

# Social::UserListObserver

struct __cppobj Social::UserListObserver : Core::Observer<Social::UserListObserver,Core::SingleThreadedLock>
{
};

# Social::UserListObserver_vtbl

struct /*VFT*/ Social::UserListObserver_vtbl
{
  void (__fastcall *~Observer<Social::UserListObserver,Core::SingleThreadedLock>)(Core::Observer<Social::UserListObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onSubjectDestroyed)(Core::Observer<Social::UserListObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *onUserAdded)(Social::UserListObserver *this, const std::shared_ptr<Social::User> *);
  void (__fastcall *onUserRemoved)(Social::UserListObserver *this, const std::shared_ptr<Social::User> *);
  void (__fastcall *onUserStorageAreaChanged)(Social::UserListObserver *this, const std::shared_ptr<Social::User> *, std::shared_ptr<Core::FileStorageArea> *);
};

# StateAnimationVariable

struct __cppobj StateAnimationVariable
{
  MolangEntityVariable mVariableName;
  ExpressionNode mInput;
  std::vector<AnimationValueCurveKeyFrame> mKeyFrames;
};

# SoundMapping

const struct __cppobj SoundMapping
{
  SoundMapping_vtbl *__vftable /*VFT*/;
  std::unordered_map<enum LevelSoundEvent,Sound> mEventSounds;
  std::unordered_map<std::string,std::unique_ptr<std::unordered_map<enum LevelSoundEvent,Sound>>> mEntitySounds;
  std::unordered_map<enum BlockSoundType,std::unique_ptr<std::unordered_map<enum LevelSoundEvent,Sound>>> mBlockSounds;
  SoundMapping::ActorInteractiveSounds mEntityInteractiveSounds;
};

# SoundMapping_vtbl

struct /*VFT*/ SoundMapping_vtbl
{
  void (__fastcall *~SoundMapping)(SoundMapping *this);
};

# SoundMapping::ActorInteractiveSounds

struct __cppobj SoundMapping::ActorInteractiveSounds
{
  std::unordered_map<enum BlockSoundType,std::unique_ptr<std::unordered_map<enum LevelSoundEvent,Sound>>> mDefaultBlockSounds;
  std::unordered_map<std::string,std::unique_ptr<EventToSoundListMap>> mEntitySoundLists;
};

# StartScreenCapabilities

struct __cppobj __declspec(align(2)) StartScreenCapabilities : TypedScreenCapabilities<StartScreenCapabilities>
{
  bool mFeedbackButtonIgnored;
  bool mEduSwitchAccountsIgnored;
  bool mCoursesIgnored;
  bool mTutorialIgnored;
  bool mFeaturedWorldIgnored;
  bool mBuyGameAlwaysVisible;
  StartScreenCapabilities::PlayButtonTarget mPlayButtonTarget;
};

# StartScreenCapabilities_vtbl

struct /*VFT*/ StartScreenCapabilities_vtbl
{
  void (__fastcall *~IScreenCapabilities)(IScreenCapabilities *this);
  bool (__fastcall *isOfType)(IScreenCapabilities *this, typeid_t<IScreenCapabilities>);
};

# SettingsScreenCapabilities_vtbl

struct /*VFT*/ SettingsScreenCapabilities_vtbl
{
  void (__fastcall *~IScreenCapabilities)(IScreenCapabilities *this);
  bool (__fastcall *isOfType)(IScreenCapabilities *this, typeid_t<IScreenCapabilities>);
};

# ScreenCapabilitiesRepo

struct __cppobj ScreenCapabilitiesRepo
{
  StartScreenCapabilities mStart;
  PauseScreenCapabilities mPause;
  SettingsScreenCapabilities mGameSettings;
  EDUWorldsScreenCapabilities mEduWorlds;
  HudScreenCapabilities mHud;
  LibraryItemScreenCapabilities mLibraryItem;
};

# SoundParameter

struct __cppobj SoundParameter
{
  std::string mName;
  int mIndex;
  float mValue;
};

# SoundEngine

struct __cppobj SoundEngine : SoundPlayerInterface
{
  SoundSystemFMOD mSoundSystem;
  std::unordered_set<unsigned __int64> mFrameUniqueSoundSet;
  SoundEventRepository mSoundEventRepository;
  std::shared_ptr<Options> mOptions;
  Bedrock::PubSub::ScopedSubscription mMainVolumeOptionSubscription;
  Bedrock::PubSub::ScopedSubscription mSoundVolumeOptionSubscription;
  Bedrock::PubSub::ScopedSubscription mMusicVolumeOptionSubscription;
  std::vector<Bedrock::PubSub::ScopedSubscription> mSoundCategoryVolumeOptionSubscriptions;
  Bedrock::NonOwnerPointer<ResourcePackManager> mResourceManager;
  std::mutex mDelayedActionMutex;
  std::vector<SoundAction> mDelayedSoundActions;
  float mMusicVolumeMultiplier;
  bool mMuted;
  bool mFadeToStopMusic;
  SoundMapping mSounds;
  IFileAccess *mFileAccess;
  Core::PathBuffer<std::string > mDataPath;
  std::shared_mutex mResourceLoadManagerMutex;
  Bedrock::NonOwnerPointer<ResourceLoadManager> mResourceLoadManager;
  Bedrock::NonOwnerPointer<hbui::ILibrary> mUILibrary;
};

# SoundSystemBase

struct __cppobj SoundSystemBase
{
  SoundSystemBase_vtbl *__vftable /*VFT*/;
  float DISTANCEFACTOR;
  std::unordered_map<int,SoundListener> mSoundListeners;
};

# SoundAction

struct __cppobj SoundAction
{
  unsigned __int64 mActionHandle;
  SoundActionType mSoundActionType;
  std::string mOwnerEventName;
  std::string mName;
  std::string mTarget;
  float mActionParam;
  float mDelaySeconds;
  float mElapsedSeconds;
  bool mEnabled;
  bool mIsActionDelayed;
  SoundInstanceProperties mCachedProperties;
  std::function<void __cdecl(SoundInstanceProperties &)> mSoundPropertiesDelegate;
};

# SoundSystemBase_vtbl

struct /*VFT*/ SoundSystemBase_vtbl
{
  void (__fastcall *~SoundSystemBase)(SoundSystemBase *this);
  bool (__fastcall *preinit)(SoundSystemBase *this);
  void (__fastcall *init)(SoundSystemBase *this);
  void (__fastcall *destroy)(SoundSystemBase *this);
  void (__fastcall *setOutputDevice)(SoundSystemBase *this, SoundSystemGUID *);
  void (__fastcall *setAsyncLoadFunction)(SoundSystemBase *this, std::function<void __cdecl(SoundItem const &,std::function<void __cdecl(void)>)>);
  void (__fastcall *enable)(SoundSystemBase *this, bool);
  void (__fastcall *mute)(SoundSystemBase *this, bool);
  bool (__fastcall *addListener)(SoundSystemBase *this, const int);
  void (__fastcall *removeListener)(SoundSystemBase *this, const int);
  void (__fastcall *setListenerDirection)(SoundSystemBase *this, const int, const glm::tvec3<float,0> *, const glm::tvec3<float,0> *);
  void (__fastcall *setListenerPos)(SoundSystemBase *this, const int, float, float, float);
  void (__fastcall *setListenerVelocity)(SoundSystemBase *this, const int, float, float, float);
  void (__fastcall *setMainVolume)(SoundSystemBase *this, float);
  void (__fastcall *setMusicVolume)(SoundSystemBase *this, float);
  void (__fastcall *setSoundVolume)(SoundSystemBase *this, float);
  void (__fastcall *setSoundCategoryVolume)(SoundSystemBase *this, const std::string *, float);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<bool> > *(__fastcall *loadAsync)(SoundSystemBase *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<bool> > *result, const Core::Path *, bool, bool, float, float, bool);
  bool (__fastcall *loadRawFromMemory)(SoundSystemBase *this, const Core::Path *, const char *, unsigned __int64, int, int, SoundFormat);
  bool (__fastcall *loadFromMemory)(SoundSystemBase *this, const Core::Path *, const char *, unsigned __int64);
  bool (__fastcall *loadExternalEvent)(SoundSystemBase *this, const std::string *);
  void (__fastcall *unload)(SoundSystemBase *this, const Core::Path *);
  void (__fastcall *unloadAll)(SoundSystemBase *this);
  bool (__fastcall *isSoundLoaded)(SoundSystemBase *this, const Core::Path *);
  bool (__fastcall *usesSoundBanks)(SoundSystemBase *this);
  void (__fastcall *loadSoundBank)(SoundSystemBase *this, const std::string *, bool);
  void (__fastcall *unloadSoundBank)(SoundSystemBase *this, const std::string *);
  void (__fastcall *play)(SoundSystemBase *this, const std::string *);
  void (__fastcall *pause)(SoundSystemBase *this, const std::string *);
  void (__fastcall *stop)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *stop)(SoundSystemBase *this, const std::string *);
  unsigned __int64 (__fastcall *playEvent)(SoundSystemBase *this, const SoundEvent *, const std::string *, float, float);
  unsigned __int64 (__fastcall *playEventAt)(SoundSystemBase *this, const SoundEvent *, const std::string *, float, float, float, float, float);
  unsigned __int64 (__fastcall *playAt)(SoundSystemBase *this, const Core::Path *, const SoundEvent *, const std::string *, unsigned __int64, float, float, float, float, float, bool, float, float, bool);
  unsigned __int64 (__fastcall *playEventAttached)(SoundSystemBase *this, const SoundEvent *, const std::string *, std::function<void __cdecl(SoundInstanceProperties &)> *);
  bool (__fastcall *isPlayingSound)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *fadeOut)(SoundSystemBase *this, unsigned __int64, float);
  void (__fastcall *playMusic)(SoundSystemBase *this, const std::string *, const SoundItem *);
  bool (__fastcall *isPlayingMusicEvent)(SoundSystemBase *this, const std::string *);
  bool (__fastcall *isPlayingMusic)(SoundSystemBase *this, const Core::Path *);
  bool (__fastcall *isLoadingMusic)(SoundSystemBase *this);
  const Core::PathBuffer<std::string > *(__fastcall *getCurrentlyPlayingMusicName)(SoundSystemBase *this);
  std::string *(__fastcall *getCurrentlyPlayingEventName)(SoundSystemBase *this, std::string *result);
  void (__fastcall *stopMusic)(SoundSystemBase *this);
  void (__fastcall *stopRecords)(SoundSystemBase *this);
  void (__fastcall *stopAllSounds)(SoundSystemBase *this);
  void (__fastcall *fadeMusicOut)(SoundSystemBase *this, float);
  bool (__fastcall *isMusicChannelPlaying)(SoundSystemBase *this);
  void (__fastcall *pauseMusic)(SoundSystemBase *this, bool);
  void (__fastcall *update)(SoundSystemBase *this, float);
  unsigned __int64 (__fastcall *registerLoop)(SoundSystemBase *this, const SoundItem *, const std::weak_ptr<SoundEvent>, const std::string *, std::function<void __cdecl(LoopingSoundState &)>);
  void (__fastcall *unregisterLoop)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *setUserDataUrl)(SoundSystemBase *this, const std::string *);
  void (__fastcall *enableLRU)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *disableLRU)(SoundSystemBase *this);
  void (__fastcall *setLRULSize)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *setDyLoadSet)(SoundSystemBase *this, const std::vector<std::string> *);
  void (__fastcall *clearDyLoadSet)(SoundSystemBase *this);
  int (__fastcall *getCurSoundMemory)(SoundSystemBase *this, bool);
  void (__fastcall *displayDebugStats)(SoundSystemBase *this, std::string *);
  void (__fastcall *startSnapshot)(SoundSystemBase *this, const std::string *);
  void (__fastcall *stopSnapshot)(SoundSystemBase *this, const std::string *);
  void (__fastcall *stopAllSnapshots)(SoundSystemBase *this);
  unsigned __int64 (__fastcall *getNewSoundHandle)(SoundSystemBase *this);
  std::optional<PlayingSoundAttributes> *(__fastcall *tryGetPlayingSoundAttributes)(SoundSystemBase *this, std::optional<PlayingSoundAttributes> *result, unsigned __int64);
};

# SoundSystemFMOD::SoundInfo

struct __cppobj SoundSystemFMOD::SoundInfo
{
  std::string eventName;
  std::string soundName;
  FMOD::Channel *channel;
  unsigned __int64 handle;
};

# SoundSystemFMOD::LoopInfo

struct __cppobj SoundSystemFMOD::LoopInfo : SoundSystemFMOD::SoundInfo
{
  float time;
  SoundItem soundItem;
  LoopingSoundState state;
  std::weak_ptr<SoundEvent> soundEvent;
  unsigned __int64 handle;
  std::function<void __cdecl(LoopingSoundState &)> getSoundState;
};

# SoundDyLoadInfo

struct __cppobj __declspec(align(8)) SoundDyLoadInfo
{
  std::string soundName;
  bool is3D;
  float minDistance;
  float maxDistance;
};

# SoundSystemFMOD_vtbl

struct /*VFT*/ SoundSystemFMOD_vtbl
{
  void (__fastcall *~SoundSystemBase)(SoundSystemBase *this);
  bool (__fastcall *preinit)(SoundSystemBase *this);
  void (__fastcall *init)(SoundSystemBase *this);
  void (__fastcall *destroy)(SoundSystemBase *this);
  void (__fastcall *setOutputDevice)(SoundSystemBase *this, SoundSystemGUID *);
  void (__fastcall *setAsyncLoadFunction)(SoundSystemBase *this, std::function<void __cdecl(SoundItem const &,std::function<void __cdecl(void)>)>);
  void (__fastcall *enable)(SoundSystemBase *this, bool);
  void (__fastcall *mute)(SoundSystemBase *this, bool);
  bool (__fastcall *addListener)(SoundSystemBase *this, const int);
  void (__fastcall *removeListener)(SoundSystemBase *this, const int);
  void (__fastcall *setListenerDirection)(SoundSystemBase *this, const int, const glm::tvec3<float,0> *, const glm::tvec3<float,0> *);
  void (__fastcall *setListenerPos)(SoundSystemBase *this, const int, float, float, float);
  void (__fastcall *setListenerVelocity)(SoundSystemBase *this, const int, float, float, float);
  void (__fastcall *setMainVolume)(SoundSystemBase *this, float);
  void (__fastcall *setMusicVolume)(SoundSystemBase *this, float);
  void (__fastcall *setSoundVolume)(SoundSystemBase *this, float);
  void (__fastcall *setSoundCategoryVolume)(SoundSystemBase *this, const std::string *, float);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<bool> > *(__fastcall *loadAsync)(SoundSystemBase *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<bool> > *result, const Core::Path *, bool, bool, float, float, bool);
  bool (__fastcall *loadRawFromMemory)(SoundSystemBase *this, const Core::Path *, const char *, unsigned __int64, int, int, SoundFormat);
  bool (__fastcall *loadFromMemory)(SoundSystemBase *this, const Core::Path *, const char *, unsigned __int64);
  bool (__fastcall *loadExternalEvent)(SoundSystemBase *this, const std::string *);
  void (__fastcall *unload)(SoundSystemBase *this, const Core::Path *);
  void (__fastcall *unloadAll)(SoundSystemBase *this);
  bool (__fastcall *isSoundLoaded)(SoundSystemBase *this, const Core::Path *);
  bool (__fastcall *usesSoundBanks)(SoundSystemBase *this);
  void (__fastcall *loadSoundBank)(SoundSystemBase *this, const std::string *, bool);
  void (__fastcall *unloadSoundBank)(SoundSystemBase *this, const std::string *);
  void (__fastcall *play)(SoundSystemBase *this, const std::string *);
  void (__fastcall *pause)(SoundSystemBase *this, const std::string *);
  void (__fastcall *stop)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *stop)(SoundSystemBase *this, const std::string *);
  unsigned __int64 (__fastcall *playEvent)(SoundSystemBase *this, const SoundEvent *, const std::string *, float, float);
  unsigned __int64 (__fastcall *playEventAt)(SoundSystemBase *this, const SoundEvent *, const std::string *, float, float, float, float, float);
  unsigned __int64 (__fastcall *playAt)(SoundSystemBase *this, const Core::Path *, const SoundEvent *, const std::string *, unsigned __int64, float, float, float, float, float, bool, float, float, bool);
  unsigned __int64 (__fastcall *playEventAttached)(SoundSystemBase *this, const SoundEvent *, const std::string *, std::function<void __cdecl(SoundInstanceProperties &)> *);
  bool (__fastcall *isPlayingSound)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *fadeOut)(SoundSystemBase *this, unsigned __int64, float);
  void (__fastcall *playMusic)(SoundSystemBase *this, const std::string *, const SoundItem *);
  bool (__fastcall *isPlayingMusicEvent)(SoundSystemBase *this, const std::string *);
  bool (__fastcall *isPlayingMusic)(SoundSystemBase *this, const Core::Path *);
  bool (__fastcall *isLoadingMusic)(SoundSystemBase *this);
  const Core::PathBuffer<std::string > *(__fastcall *getCurrentlyPlayingMusicName)(SoundSystemBase *this);
  std::string *(__fastcall *getCurrentlyPlayingEventName)(SoundSystemBase *this, std::string *result);
  void (__fastcall *stopMusic)(SoundSystemBase *this);
  void (__fastcall *stopRecords)(SoundSystemBase *this);
  void (__fastcall *stopAllSounds)(SoundSystemBase *this);
  void (__fastcall *fadeMusicOut)(SoundSystemBase *this, float);
  bool (__fastcall *isMusicChannelPlaying)(SoundSystemBase *this);
  void (__fastcall *pauseMusic)(SoundSystemBase *this, bool);
  void (__fastcall *update)(SoundSystemBase *this, float);
  unsigned __int64 (__fastcall *registerLoop)(SoundSystemBase *this, const SoundItem *, const std::weak_ptr<SoundEvent>, const std::string *, std::function<void __cdecl(LoopingSoundState &)>);
  void (__fastcall *unregisterLoop)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *setUserDataUrl)(SoundSystemBase *this, const std::string *);
  void (__fastcall *enableLRU)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *disableLRU)(SoundSystemBase *this);
  void (__fastcall *setLRULSize)(SoundSystemBase *this, unsigned __int64);
  void (__fastcall *setDyLoadSet)(SoundSystemBase *this, const std::vector<std::string> *);
  void (__fastcall *clearDyLoadSet)(SoundSystemBase *this);
  int (__fastcall *getCurSoundMemory)(SoundSystemBase *this, bool);
  void (__fastcall *displayDebugStats)(SoundSystemBase *this, std::string *);
  void (__fastcall *startSnapshot)(SoundSystemBase *this, const std::string *);
  void (__fastcall *stopSnapshot)(SoundSystemBase *this, const std::string *);
  void (__fastcall *stopAllSnapshots)(SoundSystemBase *this);
  unsigned __int64 (__fastcall *getNewSoundHandle)(SoundSystemBase *this);
  std::optional<PlayingSoundAttributes> *(__fastcall *tryGetPlayingSoundAttributes)(SoundSystemBase *this, std::optional<PlayingSoundAttributes> *result, unsigned __int64);
  void (__fastcall *playSound)(SoundSystemFMOD *this, float, float, float, float, float, FMOD::ChannelGroup *, FMOD::Channel **, FMOD::Sound **, bool, float, float, bool);
  FMOD::Sound *(__fastcall *getSubSound)(SoundSystemFMOD *this, std::shared_ptr<FMOD::Sound> *);
  bool (__fastcall *_createSystem)(SoundSystemFMOD *this);
  bool (__fastcall *_initSystem)(SoundSystemFMOD *this);
  void (__fastcall *_updateSystem)(SoundSystemFMOD *this, float);
  void (__fastcall *_destroySystem)(SoundSystemFMOD *this);
  void (__fastcall *_updateListenerAttributes)(SoundSystemFMOD *this);
  void (__fastcall *_setPositionalAttributes)(SoundSystemFMOD *this, FMOD::Channel *, FMOD::Sound *, FMOD::Sound *, float, float, float, float);
};

# SoundEventRepository

struct __cppobj SoundEventRepository
{
  std::mutex mSoundMapLock;
  std::unordered_map<std::string,std::shared_ptr<SoundEvent>> mSoundEventMap;
};

# StoreListener

struct __cppobj StoreListener
{
  StoreListener_vtbl *__vftable /*VFT*/;
};

# StoreListener_vtbl

struct /*VFT*/ StoreListener_vtbl
{
  void (__fastcall *~StoreListener)(StoreListener *this);
  void (__fastcall *onStoreInitialized)(StoreListener *this, bool);
  void (__fastcall *setStoreAvailable)(StoreListener *this, bool);
  void (__fastcall *onQueryProductsSuccess)(StoreListener *this, const std::vector<ProductInfo> *);
  void (__fastcall *onQueryProductsFail)(StoreListener *this);
  void (__fastcall *onPurchaseSuccessful)(StoreListener *this, const PurchaseInfo *);
  void (__fastcall *onPurchaseCanceled)(StoreListener *this, const ProductSku *);
  void (__fastcall *onPurchaseFailed)(StoreListener *this, const ProductSku *);
  void (__fastcall *onQueryPurchasesSuccess)(StoreListener *this, const std::vector<PurchaseInfo> *);
  void (__fastcall *onQueryPurchasesFail)(StoreListener *this);
  void (__fastcall *onAppPurchaseSuccess)(StoreListener *this);
  void (__fastcall *onAppPurchaseFailed)(StoreListener *this);
  void (__fastcall *onAppPurchaseCanceled)(StoreListener *this);
};

# StoreListenerMultistore

struct __cppobj StoreListenerMultistore : StoreListener
{
};

# StoreListenerMultistore_vtbl

struct /*VFT*/ StoreListenerMultistore_vtbl
{
  void (__fastcall *~StoreListener)(StoreListener *this);
  void (__fastcall *onStoreInitialized)(StoreListener *this, bool);
  void (__fastcall *setStoreAvailable)(StoreListener *this, bool);
  void (__fastcall *onQueryProductsSuccess)(StoreListener *this, const std::vector<ProductInfo> *);
  void (__fastcall *onQueryProductsFail)(StoreListener *this);
  void (__fastcall *onPurchaseSuccessful)(StoreListener *this, const PurchaseInfo *);
  void (__fastcall *onPurchaseCanceled)(StoreListener *this, const ProductSku *);
  void (__fastcall *onPurchaseFailed)(StoreListener *this, const ProductSku *);
  void (__fastcall *onQueryPurchasesSuccess)(StoreListener *this, const std::vector<PurchaseInfo> *);
  void (__fastcall *onQueryPurchasesFail)(StoreListener *this);
  void (__fastcall *onAppPurchaseSuccess)(StoreListener *this);
  void (__fastcall *onAppPurchaseFailed)(StoreListener *this);
  void (__fastcall *onAppPurchaseCanceled)(StoreListener *this);
  void (__fastcall *onQueryPurchasesSuccessMultistore)(StoreListenerMultistore *this, const std::string *, const std::vector<PurchaseInfo> *);
  void (__fastcall *onQueryPurchasesFailMultistore)(StoreListenerMultistore *this, const std::string *);
};

# Store

struct __cppobj Store
{
  Store_vtbl *__vftable /*VFT*/;
};

# Store_vtbl

struct /*VFT*/ Store_vtbl
{
  void (__fastcall *~Store)(Store *this);
  bool (__fastcall *isReadyToMakePurchases)(Store *this);
  bool (__fastcall *requiresRestorePurchasesButton)(Store *this);
  bool (__fastcall *allowsSubscriptions)(Store *this);
  std::string *(__fastcall *getStoreId)(Store *this, std::string *result);
  std::string *(__fastcall *getCatalogPlatformId)(Store *this, std::string *result);
  std::string *(__fastcall *getProductSkuPrefix)(Store *this, std::string *result);
  std::string *(__fastcall *getRealmsSkuPrefix)(Store *this, std::string *result);
  void (__fastcall *queryProducts)(Store *this, const std::vector<ProductSku> *);
  bool (__fastcall *purchase)(Store *this, const ProductSku *, ProductType, const std::string *, PurchasePath);
  void (__fastcall *acknowledgePurchase)(Store *this, const PurchaseInfo *, ProductType);
  void (__fastcall *queryPurchases)(Store *this, bool);
  void (__fastcall *restorePurchases)(Store *this);
  bool (__fastcall *isTrial)(Store *this);
  void (__fastcall *purchaseGame)(Store *this, const TrialUpgradePurchaseTier);
  bool (__fastcall *isGameLicensed)(Store *this);
  bool (__fastcall *receivedLicenseResponse)(Store *this);
  bool (__fastcall *isIapSyncAvailable)(Store *this);
  ExtraLicenseData *(__fastcall *getExtraLicenseData)(Store *this, ExtraLicenseData *result);
  std::string *(__fastcall *getAppReceipt)(Store *this, std::string *result);
  void (__fastcall *registerLicenseChangeCallback)(Store *this, std::function<void __cdecl(void)>);
  void (__fastcall *handleLicenseChange)(Store *this);
  void (__fastcall *restoreFromCache)(Store *this, PurchaseCache *);
  void (__fastcall *getUserAccessTokenAsync)(Store *this, const std::string *, std::function<void __cdecl(bool,std::string)>);
  std::string *(__fastcall *getFullSKUWithMetadataFromProductSku)(Store *this, std::string *result, const std::string *);
  std::string *(__fastcall *getFullGameProductSku)(Store *this, std::string *result, const TrialUpgradePurchaseTier);
  std::string *(__fastcall *getLanguageCode)(Store *this, std::string *result);
  std::string *(__fastcall *getRegionCode)(Store *this, std::string *result);
  void (__fastcall *refreshLicenses)(Store *this);
  void (__fastcall *updateXUID)(Store *this, const std::string *);
  void (__fastcall *onNewPrimaryUser)(Store *this, const Social::User *);
  void (__fastcall *onPrimaryUserConnectedToPlatform)(Store *this, const Social::User *);
  void (__fastcall *getPurchases)(Store *this);
  void (__fastcall *showPlatformEmptyStoreDialog)(Store *this, std::function<void __cdecl(bool)> *);
  const std::string *(__fastcall *getPremiumCurrencyOfferType)(Store *this);
  const std::vector<std::string> *(__fastcall *getPremiumCurrencySkus)(Store *this, const std::vector<std::string> *result);
  const std::string *(__fastcall *buildRealmsProductSku)(Store *this, const std::string *result, RealmsOfferType, RealmsOfferPeriod, RealmsOfferTier, RealmsOfferNumber);
};

# StoreSynchronizer

struct __cppobj StoreSynchronizer
{
  Store *mStoreOriginator;
  Store *mStoreReceiver;
  std::unique_ptr<OculusSyncService> mServiceClient;
};

# ServiceRegistrationToken<GameStore>

struct __cppobj ServiceRegistrationToken<GameStore>
{
  GameStore *mService;
};

# StoreFilter::CatalogCollectionInfo

struct __cppobj StoreFilter::CatalogCollectionInfo
{
  std::string mPrefix;
  StoreFilter::MenuScreenType mScreenType;
  bool mOneFilterSelection;
  bool mShowInStore;
  bool mShowInInventory;
  std::vector<StoreFilter::Toggle> mToggleCollection;
};

# StoreSearchInfo

struct __cppobj __declspec(align(8)) StoreSearchInfo
{
  std::vector<StoreFilter::CatalogCollectionInfo> mCatalogFilterCollections;
  std::vector<std::shared_ptr<StoreVisualStyle>> mTrendingRowQueries;
  std::vector<std::string> mSkinPackSearchTerms;
  std::vector<std::string> mTexturePackSearchTerms;
  std::vector<std::string> mWorldTemplateSearchTerms;
  std::vector<std::string> mMashupPackSearchTerms;
  int mTrendingQueryOfferCount;
};

# StoreConfigCustom

struct __cppobj StoreConfigCustom
{
  int mStoreVersion;
  std::vector<std::string> mGlobalNotTags;
  std::vector<std::pair<enum PDPSectionType,std::string >> mPDPLayout;
  std::vector<std::shared_ptr<StoreVisualStyle>> mUpsellVisualStyles;
  StoreSearchInfo mSearchInfo;
  std::string mLatestTextureVersion;
};

# StoreConfigDocument

struct __cppobj StoreConfigDocument
{
  CommonDocument mCommon;
  StoreConfigCustom mCustom;
};

# StoreConfigSearchResults

const struct __cppobj StoreConfigSearchResults : CommonSearchResults
{
  std::vector<StoreConfigDocument> mDocuments;
};

# StoreCatalogConfig

struct __cppobj StoreCatalogConfig : TreatmentQuery<StoreConfigSearchResults,StoreConfigDocument>, Bedrock::EnableNonOwnerReferences
{
  StoreConfigCustom mConfigInfo;
  unsigned int mTotalSearchTermCount;
  std::mutex mCallbackMutex;
  std::vector<std::function<void __cdecl(void)>> mConfigCallbacks;
  std::mutex mStateMutex;
  StoreCatalogConfig::State mState;
  bool mDirty;
  ServiceDrivenImageRepository *mImageRepository;
  CatalogInfo mCatalogInfo;
  int mAttemptsToFetchImageBinary;
  std::string mDocumentId;
};

# StoreCatalogConfig_vtbl

struct /*VFT*/ StoreCatalogConfig_vtbl
{
  void (__fastcall *~TreatmentQuery<StoreConfigSearchResults,StoreConfigDocument>)(TreatmentQuery<StoreConfigSearchResults,StoreConfigDocument> *this);
  const std::string *(__fastcall *getDocumentId)(TreatmentQuery<StoreConfigSearchResults,StoreConfigDocument> *this);
  void (__fastcall *_processQueryResults)(TreatmentQuery<StoreConfigSearchResults,StoreConfigDocument> *this, const StoreConfigSearchResults *, const std::vector<std::string> *);
};

# Social::InteractivityManager

struct __cppobj Social::InteractivityManager
{
};

# Social::InviteUriListener

struct __cppobj Social::InviteUriListener : UriListener
{
  Social::MultiplayerServiceManager *mMuSeM;
};

# Social::InviteUriListener_vtbl

struct /*VFT*/ Social::InviteUriListener_vtbl
{
  void (__fastcall *~UriListener)(UriListener *this);
  void (__fastcall *onUri)(UriListener *this, const ActivationUri *);
  void (__fastcall *tick)(UriListener *this);
};

# Social::RealmsUriListener

struct __cppobj Social::RealmsUriListener : UriListener
{
  std::shared_ptr<Options> mOptions;
};

# Social::RealmsUriListener_vtbl

struct /*VFT*/ Social::RealmsUriListener_vtbl
{
  void (__fastcall *~UriListener)(UriListener *this);
  void (__fastcall *onUri)(UriListener *this, const ActivationUri *);
  void (__fastcall *tick)(UriListener *this);
};

# ServiceClientScheduler

struct __cppobj ServiceClientScheduler : Bedrock::EnableNonOwnerReferences
{
  ServiceClientScheduler_vtbl *__vftable /*VFT*/;
  IMinecraftEventing *mEventing;
  std::vector<std::shared_ptr<RequestHandler>> mSubmittedRequests;
  std::vector<std::shared_ptr<RequestHandler>> mSentRequests;
  ServiceRegistrationToken<ServiceClientScheduler> mServiceRegistrationToken;
};

# ServiceClientScheduler_vtbl

struct /*VFT*/ ServiceClientScheduler_vtbl
{
  void (__fastcall *~ServiceClientScheduler)(ServiceClientScheduler *this);
};

# ServiceRegistrationToken<ServiceClientScheduler>

struct __cppobj ServiceRegistrationToken<ServiceClientScheduler>
{
  ServiceClientScheduler *mService;
};

# ShulkerBoxBlockActor

struct __cppobj __declspec(align(8)) ShulkerBoxBlockActor : ChestBlockActor
{
  unsigned __int8 mFacing;
  bool mFacingChanged;
};

# SkullBlockActor

struct __cppobj SkullBlockActor : BlockActor
{
  SkullBlockActor::SkullType mSkullType;
  float mRotation;
  bool mIsMovingMouth;
  int mMouthTickCount;
};

# ScriptClientContext

struct __cppobj ScriptClientContext
{
  ClientInstance *mInstance;
  Level *mLevel;
  Minecraft *mMinecraft;
  PacketSender *mPacketSender;
  entt::basic_registry<enum entt::entity> *mRegistry;
  ScriptApi::ScriptReport *mScriptReport;
};

# ScriptTemplateFactory<ScriptClientContext>::Entity

struct __cppobj ScriptTemplateFactory<ScriptClientContext>::Entity
{
  ScriptTemplateFactory<ScriptClientContext>::Entity_vtbl *__vftable /*VFT*/;
};

# ScriptTemplateFactory<ScriptClientContext>::Entity_vtbl

struct /*VFT*/ ScriptTemplateFactory<ScriptClientContext>::Entity_vtbl
{
  void (__fastcall *~Entity)(ScriptTemplateFactory<ScriptClientContext>::Entity *this);
  bool (__fastcall *createAndApplyTemplate)(ScriptTemplateFactory<ScriptClientContext>::Entity *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, Actor **, const std::string *);
};

# ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::Entity>

struct __cppobj ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::Entity>
{
  std::unordered_map<unsigned __int64,std::shared_ptr<ScriptTemplateFactory<ScriptClientContext>::Entity>> mTemplates;
};

# ScriptTemplateFactory<ScriptClientContext>::Component

struct __cppobj ScriptTemplateFactory<ScriptClientContext>::Component
{
  ScriptTemplateFactory<ScriptClientContext>::Component_vtbl *__vftable /*VFT*/;
};

# ScriptTemplateFactory<ScriptClientContext>::Component_vtbl

struct /*VFT*/ ScriptTemplateFactory<ScriptClientContext>::Component_vtbl
{
  void (__fastcall *~Component)(ScriptTemplateFactory<ScriptClientContext>::Component *this);
  bool (__fastcall *applyComponentTo)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, ITickingArea *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *applyComponentTo)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, const Block *, BlockSource *, const BlockPos *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *applyComponentTo)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, Level *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *applyComponentTo)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, Actor *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *retrieveComponentFrom)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, ITickingArea *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *retrieveComponentFrom)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, const Block *, BlockSource *, const BlockPos *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *retrieveComponentFrom)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, Level *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *retrieveComponentFrom)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, Actor *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *hasComponent)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, const ITickingArea *, bool *);
  bool (__fastcall *hasComponent)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, const Block *, BlockSource *, const BlockPos *, bool *);
  bool (__fastcall *hasComponent)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, Level *, bool *);
  bool (__fastcall *hasComponent)(ScriptTemplateFactory<ScriptClientContext>::Component *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, Actor *, bool *);
};

# ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::Component>

struct __cppobj ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::Component>
{
  std::unordered_map<unsigned __int64,std::shared_ptr<ScriptTemplateFactory<ScriptClientContext>::Component>> mTemplates;
};

# ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent

struct __cppobj ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent
{
  ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent_vtbl *__vftable /*VFT*/;
};

# ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent_vtbl

struct /*VFT*/ ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent_vtbl
{
  void (__fastcall *~ReceivedEvent)(ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent *this);
  bool (__fastcall *receivedEvent)(ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *getEventData)(ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent *this, const ScriptApi::ScriptVersionInfo *, ScriptEngine *, ScriptClientContext *, const std::string *, ScriptApi::ScriptObjectHandle *);
};

# ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent>

struct __cppobj ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent>
{
  std::unordered_map<unsigned __int64,std::shared_ptr<ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent>> mTemplates;
};

# ScriptTemplateFactory<ScriptClientContext>::HashedEntries

struct __cppobj ScriptTemplateFactory<ScriptClientContext>::HashedEntries
{
  std::unordered_set<unsigned __int64> mHashes;
};

# ScriptTemplateFactory<ScriptClientContext>

struct __cppobj ScriptTemplateFactory<ScriptClientContext>
{
  ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::Entity> mEntities;
  ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::Entity> mItemEntities;
  ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::Component> mComponents;
  ScriptTemplateFactory<ScriptClientContext>::Entries<ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent> mReceivedEvents;
  ScriptTemplateFactory<ScriptClientContext>::HashedEntries mScriptEventDatas;
  std::shared_ptr<ScriptTemplateFactory<ScriptClientContext>::ReceivedEvent> mBroadcastEvent;
};

# ScriptOnlyComponents<ScriptClientContext>

struct __cppobj ScriptOnlyComponents<ScriptClientContext>
{
  std::map<std::string,Json::Value> mScriptOnlyComponentDefs;
};

# ScriptOnlyEventsData<ScriptClientContext>

struct __cppobj ScriptOnlyEventsData<ScriptClientContext>
{
  std::map<std::string,Json::Value> mScriptOnlyEventsData;
};

# ScriptEngineWithContext<ScriptClientContext>

struct __cppobj __declspec(align(8)) ScriptEngineWithContext<ScriptClientContext> : ScriptEngine
{
  const gsl::basic_string_span<char const ,-1> SCRIPT_FILE_EXTENSION;
  const std::string SCRIPT_ENTITY_TYPE;
  const std::string SCRIPT_ITEM_ENTITY_TYPE;
  ScriptClientContext mContext;
  ScriptTemplateFactory<ScriptClientContext> mFactory;
  ScriptOnlyComponents<ScriptClientContext> mScriptComponents;
  ScriptOnlyEventsData<ScriptClientContext> mScriptEvents;
  std::deque<std::unique_ptr<ScriptEventData const >> mEventQueue;
  std::unordered_map<unsigned int,ScriptCommandCallbackData> mCommandPendingCallbackQueue;
  ScriptQueries mQueries;
  bool mWorkaroundViewUpdate;
};

# ScriptEngineWithContext<ScriptClientContext>_vtbl

struct /*VFT*/ ScriptEngineWithContext<ScriptClientContext>_vtbl
{
  void (__fastcall *~ScriptFramework)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *initialize)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *shutdown)(ScriptApi::ScriptFramework *this);
  bool (__fastcall *onLogReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *onInfoReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *onWarnReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *onErrorReceived)(ScriptEngine *this, const std::string *);
  bool (__fastcall *helpDefineActor)(ScriptEngine *this, const Actor *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *helpDefineActor)(ScriptEngine *this, const ActorUniqueID *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *helpGetActor)(ScriptEngine *this, const ScriptObjectBinder *, Actor **);
  bool (__fastcall *helpGetBlockSource)(ScriptEngine *this, const ScriptObjectBinder *, BlockSource **);
  bool (__fastcall *helpGetBlock)(ScriptEngine *this, const ScriptObjectBinder *, const Block **, const BlockSource *);
  bool (__fastcall *helpGetBlockPos)(ScriptEngine *this, const ScriptObjectBinder *, BlockPos *);
  bool (__fastcall *helpDefineLevel)(ScriptEngine *this, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *helpGetLevel)(ScriptEngine *this, const ScriptObjectBinder *, Level **);
  bool (__fastcall *helpDefineItemStack)(ScriptEngine *this, const ItemInstance *, ScriptApi::ScriptObjectHandle *);
  void (__fastcall *helpPopulateEcsID)(ScriptEngine *this, Json::Value *);
  bool (__fastcall *setupInterface)(ScriptEngine *this);
  bool (__fastcall *registerEventData)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *createEventData)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *onEventReceivedFromScriptEngine)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *createEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const std::string *, const std::string *);
  bool (__fastcall *createEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *destroyEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *isValidEntity)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, bool *);
  bool (__fastcall *registerComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *createComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *getComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *hasComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *, bool *);
  bool (__fastcall *destroyComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *);
  bool (__fastcall *applyComponentChanges)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *registerScriptOnlyComponent)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const std::string *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *registerQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const std::string *, const std::string *, const std::string *, const std::string *);
  bool (__fastcall *registerQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *getEntitiesFromQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const long double, const long double, const long double, const long double, const long double, const long double, std::vector<ScriptApi::ScriptObjectHandle> *);
  bool (__fastcall *getEntitiesFromQuery)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, std::vector<ScriptApi::ScriptObjectHandle> *);
  bool (__fastcall *addFilter)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, const ScriptApi::ScriptObjectHandle *, const std::string *);
  bool (__fastcall *getBlock)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const BlockPos *, const ScriptApi::ScriptObjectHandle *, const ScriptObjectBinder *);
  bool (__fastcall *helpDefineTickingArea)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const ActorUniqueID *);
  bool (__fastcall *helpDefineTickingArea)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptApi::ScriptObjectHandle *, const ITickingArea *);
  void (__fastcall *onExecuteCommandCalled)(ScriptEngine *this, const ScriptApi::ScriptVersionInfo *, ScriptCommand *);
  bool (__fastcall *executeCommand)(ScriptEngine *this, const ScriptCommand *);
  bool (__fastcall *onCommandOutputCallback)(ScriptEngine *this, unsigned int, Json::Value *);
  bool (__fastcall *_registerSystemObjects)(ScriptEngine *this, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *_hasEvent)(ScriptEngine *this, const std::string *);
  bool (__fastcall *_helpRegisterSystemCallbacks)(ScriptEngine *this, const ScriptApi::ScriptObjectHandle *);
  void (__fastcall *_handleError)(ScriptEngine *this, const ScriptApi::ScriptReportItem *);
  void (__fastcall *_handleWarning)(ScriptEngine *this, const ScriptApi::ScriptReportItem *);
};

# ScriptClientPacketEventListener

struct __cppobj ScriptClientPacketEventListener : NetworkPacketEventListener
{
  unsigned __int8 mSubClientId;
  MinecraftClientScriptEngine *mScriptEngine;
};

# ScriptClientPacketEventListener_vtbl

struct /*VFT*/ ScriptClientPacketEventListener_vtbl
{
  void (__fastcall *~NetworkPacketEventListener)(NetworkPacketEventListener *this);
  EventResult (__fastcall *onPacketReceivedFrom)(NetworkPacketEventListener *this, const PacketHeader *, const Packet *);
};

# ScriptClientInstanceEventListener

struct __cppobj ScriptClientInstanceEventListener : ClientInstanceEventListener
{
  MinecraftClientScriptEngine *mScriptEngine;
};

# ScriptClientLevelEventListener

struct __cppobj ScriptClientLevelEventListener : LevelEventListener
{
  MinecraftClientScriptEngine *mScriptEngine;
};

# ScriptClientLevelEventListener_vtbl

struct /*VFT*/ ScriptClientLevelEventListener_vtbl
{
  void (__fastcall *~LevelEventListener)(LevelEventListener *this);
  EventResult (__fastcall *onLevelInitialized)(LevelEventListener *this, Level *);
  EventResult (__fastcall *onLevelSaveData)(LevelEventListener *this, Level *, CompoundTag *);
  EventResult (__fastcall *onLevelAddedPlayer)(LevelEventListener *this, Level *, Player *);
  EventResult (__fastcall *onLevelRemovedPlayer)(LevelEventListener *this, Level *, Player *);
  EventResult (__fastcall *onLevelRemovedActor)(LevelEventListener *this, Level *, Actor *);
  EventResult (__fastcall *onLevelAddedActor)(LevelEventListener *this, Level *, Actor *);
  EventResult (__fastcall *onLevelTick)(LevelEventListener *this);
  EventResult (__fastcall *onLevelWeatherChange)(LevelEventListener *this, const std::string *, bool, bool);
  EventResult (__fastcall *onLevelBiomesRegistered)(LevelEventListener *this, BiomeRegistry *);
};

# ScriptHitDetectEventListener

struct __cppobj ScriptHitDetectEventListener : ClientHitDetectListener
{
  MinecraftClientScriptEngine *mScriptEngine;
};

# ScriptHitDetectEventListener_vtbl

struct /*VFT*/ ScriptHitDetectEventListener_vtbl
{
  void (__fastcall *~ClientHitDetectListener)(ClientHitDetectListener *this);
  EventResult (__fastcall *onChangedHitResult)(ClientHitDetectListener *this, HitResult *);
  EventResult (__fastcall *onContinuousHitResult)(ClientHitDetectListener *this, HitResult *);
  EventResult (__fastcall *onChangedPickHitResult)(ClientHitDetectListener *this, HitResult *);
  EventResult (__fastcall *onContinuousPickHitResult)(ClientHitDetectListener *this, HitResult *);
};

# ServerInstanceEventCoordinator

struct __cppobj ServerInstanceEventCoordinator : EventCoordinator<ServerInstanceEventListener>
{
};

# SerialWorkList

struct __cppobj __declspec(align(8)) SerialWorkList
{
  std::string mSeriesTitle;
  _BYTE mCDStringID[2];
  std::deque<SerialWorkList::WorkItem> mModalWorkList;
  std::vector<SerialWorkList::WorkItem> mModalWorkLog;
  long double mModalWorkItemStartTime;
  long double mSeriesStartTime;
  bool mStepWatchdogEnabled;
};

# ScreenshotRecorder

struct __cppobj ScreenshotRecorder
{
  bool mEnabled;
  cg::ImageBuffer mLastBackBuffer;
};

# SnapshotEnv::DeleteFileEntry

struct __cppobj __declspec(align(8)) SnapshotEnv::DeleteFileEntry
{
  Core::PathBuffer<std::string > mFileName;
  bool mWasRename;
};

# SnapshotEnv

struct __cppobj SnapshotEnv : leveldb::EnvWrapper
{
  leveldb::Env *mTarget;
  std::mutex mCreationLock;
  std::shared_mutex mWriteLock;
  std::mutex mOpenReadFileLock;
  std::mutex mPauseLock;
  std::atomic<bool> mPaused;
  std::vector<SnapshotEnv::DeleteFileEntry> mQueuedActions;
  std::mutex mQueueMutex;
};

# SnapshotEnv_vtbl

struct /*VFT*/ SnapshotEnv_vtbl
{
  void (__fastcall *~Env)(leveldb::Env *this);
  leveldb::Status *(__fastcall *NewSequentialFile)(leveldb::Env *this, leveldb::Status *result, const std::string *, leveldb::SequentialFile **);
  leveldb::Status *(__fastcall *NewRandomAccessFile)(leveldb::Env *this, leveldb::Status *result, const std::string *, leveldb::RandomAccessFile **);
  leveldb::Status *(__fastcall *NewWritableFile)(leveldb::Env *this, leveldb::Status *result, const std::string *, leveldb::WritableFile **);
  leveldb::Status *(__fastcall *NewAppendableFile)(leveldb::Env *this, leveldb::Status *result, const std::string *, leveldb::WritableFile **);
  bool (__fastcall *FileExists)(leveldb::Env *this, const std::string *);
  leveldb::Status *(__fastcall *GetChildren)(leveldb::Env *this, leveldb::Status *result, const std::string *, std::vector<std::string> *);
  leveldb::Status *(__fastcall *DeleteFileA)(leveldb::Env *this, leveldb::Status *result, const std::string *);
  leveldb::Status *(__fastcall *CreateDir)(leveldb::Env *this, leveldb::Status *result, const std::string *);
  leveldb::Status *(__fastcall *DeleteDir)(leveldb::Env *this, leveldb::Status *result, const std::string *);
  leveldb::Status *(__fastcall *GetFileSize)(leveldb::Env *this, leveldb::Status *result, const std::string *, unsigned __int64 *);
  leveldb::Status *(__fastcall *RenameFile)(leveldb::Env *this, leveldb::Status *result, const std::string *, const std::string *);
  leveldb::Status *(__fastcall *LockFile)(leveldb::Env *this, leveldb::Status *result, const std::string *, leveldb::FileLock **);
  leveldb::Status *(__fastcall *UnlockFile)(leveldb::Env *this, leveldb::Status *result, leveldb::FileLock *);
  void (__fastcall *Schedule)(leveldb::Env *this, void (__fastcall *)(void *), void *);
  void (__fastcall *StartThread)(leveldb::Env *this, void (__fastcall *)(void *), void *);
  leveldb::Status *(__fastcall *GetTestDirectory)(leveldb::Env *this, leveldb::Status *result, std::string *);
  leveldb::Status *(__fastcall *NewLogger)(leveldb::Env *this, leveldb::Status *result, const std::string *, leveldb::Logger **);
  unsigned __int64 (__fastcall *NowMicros)(leveldb::Env *this);
  void (__fastcall *SleepForMicroseconds)(leveldb::Env *this, int);
};

# SaveTransactionManager

struct __cppobj SaveTransactionManager
{
  std::mutex mLock;
  TaskGroup mTaskGroup;
  std::function<void __cdecl(bool)> mShowIconFunction;
};

# SmallSet<DBChunkStorage *>

struct __cppobj SmallSet<DBChunkStorage *>
{
  std::vector<DBChunkStorage *> c;
};

# Stopwatch_vtbl

struct /*VFT*/ Stopwatch_vtbl
{
  void (__fastcall *~Stopwatch)(Stopwatch *this);
  long double (__fastcall *stop)(Stopwatch *this);
  long double (__fastcall *stopContinue)(Stopwatch *this);
  void (__fastcall *print)(Stopwatch *this, const std::string *);
};

# Social::MultiplayerEDU::Credentials

struct __cppobj __declspec(align(8)) Social::MultiplayerEDU::Credentials
{
  std::string accessToken;
  ADRole role;
  bool expired;
};

# Social::MultiplayerEDU

struct __cppobj Social::MultiplayerEDU : Social::MultiplayerService, IEDUDiscoveryService, ActiveDirectoryIdentityObserver
{
  std::unique_ptr<EDUDiscovery::JoinCode> mCode;
  Core::Subject<EDUDiscovery::DiscoveryObserver,Core::SingleThreadedLock> mSubject;
  std::unique_ptr<EDUDiscovery::ServerID> mServer;
  std::unique_ptr<Stopwatch> mStopwatch;
  std::unique_ptr<EDUDiscovery::ServerDetails> mLastJoinedServer;
  std::unique_ptr<DiscoveryConfig> mConfig;
  std::shared_ptr<MPMCQueue<std::function<void __cdecl(Social::MultiplayerEDU &)> > > mMainThreadQueue;
  EDUDiscovery::ServerStatus mStatus;
  bool mClientNeedsToPostAddress;
  int mLastMaxPlayerCount;
  int mConsecutiveFailedHeartbeats;
  std::function<int __cdecl(void)> mGetCurrentTime;
  Social::MultiplayerEDU::Credentials mCredentials;
  std::deque<std::unique_ptr<EDUDiscovery::Dialog>> mPendingDialogs;
  __int64 mBlockedUntilTime;
};

# Social::MultiplayerEDU_vtbl

struct /*VFT*/ Social::MultiplayerEDU_vtbl
{
  void (__fastcall *~ConnectionStateListener)(UPNPInterface::ConnectionStateListener *this);
  void (__fastcall *onConnectionStateChanged)(UPNPInterface::ConnectionStateListener *this, const std::string *, const std::string *, unsigned int, unsigned int, unsigned int, const std::string *);
  void (__fastcall *finalize)(Social::MultiplayerService *this);
  bool (__fastcall *isFinalizationComplete)(Social::MultiplayerService *this);
  void (__fastcall *login)(Social::MultiplayerService *this, const bool);
  void (__fastcall *logoff)(Social::MultiplayerService *this);
  void (__fastcall *onPrimaryUserConnectComplete)(Social::MultiplayerService *this, const Social::UserPlatformConnectionResult, const bool);
  void (__fastcall *getFriendProfiles)(Social::MultiplayerService *this, std::function<void __cdecl(std::vector<Social::PlatformUserProfileData> &)>, const bool);
  void (__fastcall *getPlatformProfile)(Social::MultiplayerService *this, const std::string *, std::function<void __cdecl(Social::PlatformUserProfileData &)>, bool);
  void (__fastcall *getPlatformProfiles)(Social::MultiplayerService *this, const std::vector<std::string> *, std::function<void __cdecl(std::vector<Social::PlatformUserProfileData> &&)>, bool);
  void (__fastcall *setInviteHandle)(Social::MultiplayerService *this, const std::string *, const bool);
  void (__fastcall *clearInviteHandle)(Social::MultiplayerService *this);
  Social::InviteHandleCheck (__fastcall *checkIsInviteForCurrentGame)(Social::MultiplayerService *this);
  bool (__fastcall *needToHandleInvite)(Social::MultiplayerService *this);
  bool (__fastcall *isInviteEnabled)(Social::MultiplayerService *this);
  void (__fastcall *invitePlayers)(Social::MultiplayerService *this, const std::vector<std::string> *);
  const std::string *(__fastcall *getInviteHandle)(Social::MultiplayerService *this, const std::string *result);
  unsigned int (__fastcall *getMaxInvitablePlayers)(Social::MultiplayerService *this);
  bool (__fastcall *isPlayerOnline)(Social::MultiplayerService *this, const std::string *);
  void (__fastcall *showPlayerProfile)(Social::MultiplayerService *this, const std::string *);
  std::vector<std::string> *(__fastcall *getPlayerUidsInLobby)(Social::MultiplayerService *this, std::vector<std::string> *result);
  RelationshipStatus (__fastcall *mayChatWith)(Social::MultiplayerService *this, const std::string *);
  bool (__fastcall *hasID)(Social::MultiplayerService *this, const std::string *);
  std::string *(__fastcall *getXBLInfo)(Social::MultiplayerService *this, std::string *result);
  bool (__fastcall *enforcePlatformIdentification)(Social::MultiplayerService *this);
  void (__fastcall *setRealmToJoin)(Social::MultiplayerService *this, const Realms::World *);
  void (__fastcall *clearRealmToJoin)(Social::MultiplayerService *this);
  bool (__fastcall *isInRealm)(Social::MultiplayerService *this);
  Realms::World *(__fastcall *getRealmWorld)(Social::MultiplayerService *this);
  void (__fastcall *sendRealmsAllowListNotification)(Social::MultiplayerService *this, std::vector<std::string>);
  void (__fastcall *setRealmGameInfo)(Social::MultiplayerService *this, Level *);
  bool (__fastcall *isInSession)(Social::MultiplayerService *this);
  bool (__fastcall *isInThirdPartyServer)(Social::MultiplayerService *this);
  bool (__fastcall *isInSiftConnectedService)(Social::MultiplayerService *this);
  const std::string *(__fastcall *getErrorMessage)(Social::MultiplayerService *this, Social::JoinGameStatus);
  bool (__fastcall *isLoggedIn)(Social::MultiplayerService *this);
  bool (__fastcall *isServiceAvailable)(Social::MultiplayerService *this);
  bool (__fastcall *isServiceAllowed)(Social::MultiplayerService *this);
  void (__fastcall *_initialize)(Social::MultiplayerService *this);
  void (__fastcall *_enable)(Social::MultiplayerService *this, std::function<void __cdecl(enum Social::EnableResult)>);
  void (__fastcall *_disable)(Social::MultiplayerService *this, std::function<void __cdecl(bool)>);
  void (__fastcall *_advertiseGame)(Social::MultiplayerService *this);
  void (__fastcall *_onExitLevel)(Social::MultiplayerService *this, Social::User *);
  void (__fastcall *_joinGame)(Social::MultiplayerService *this, const std::string *, std::function<void __cdecl(enum Social::JoinGameStatus,Social::MultiplayerGameInfo const &,bool)>);
  bool (__fastcall *_canJoin)(Social::MultiplayerService *this);
  void (__fastcall *_leaveSession)(Social::MultiplayerService *this);
  bool (__fastcall *_shouldAddGameToGameList)(Social::MultiplayerService *this, const Social::MultiplayerGameInfo *);
  const std::string *(__fastcall *_getPrimaryUserNickname)(Social::MultiplayerService *this, const std::string *result);
  const std::string *(__fastcall *_getPrimaryUserId)(Social::MultiplayerService *this, const std::string *result);
  void (__fastcall *_onMultiplayerStateChange)(Social::MultiplayerService *this, Social::MultiplayerState, Social::MultiplayerState);
  void (__fastcall *_setLobbyProperties)(Social::MultiplayerService *this);
  void (__fastcall *_processExecutionQueue)(Social::MultiplayerService *this);
  bool (__fastcall *_buildGameListIfNeeded)(Social::MultiplayerService *this, bool);
  void (__fastcall *_buildGameList)(Social::MultiplayerService *this, bool);
  void (__fastcall *_getAllActiveSessions)(Social::MultiplayerService *this, bool);
  void (__fastcall *_updatePlayerStatus)(Social::MultiplayerService *this, const std::string *);
  std::vector<Social::GameConnectionInfo> *(__fastcall *_getLocalConnectionInfo)(Social::MultiplayerService *this, std::vector<Social::GameConnectionInfo> *result);
  void (__fastcall *_findOrCreateRealmLobby)(Social::MultiplayerService *this);
  void (__fastcall *_tickMultiplayerManager)(Social::MultiplayerService *this, bool);
  void (__fastcall *_setMemberProperties)(Social::MultiplayerService *this, Social::ClientConnectionState *);
  void (__fastcall *_removePrimaryUserFromSession)(Social::MultiplayerService *this);
  void (__fastcall *_defaultRichPresence)(Social::MultiplayerService *this, Social::User *);
  void (__fastcall *_updateRichPresence)(Social::MultiplayerService *this, Social::User *, const Level *);
  void (__fastcall *_createSession)(Social::MultiplayerService *this);
  void (__fastcall *_updateLobby)(Social::MultiplayerService *this, bool);
  bool (__fastcall *_isMutedPlayer)(Social::MultiplayerService *this, const std::string *);
  bool (__fastcall *_isBlockedPlayer)(Social::MultiplayerService *this, const std::string *);
  RelationshipStatus (__fastcall *_hasChatPrivileges)(Social::MultiplayerService *this, const std::string *);
  void (__fastcall *_onClientEnteredInGame)(Social::MultiplayerService *this, const std::string *);
  Social::GamePublishSetting (__fastcall *_getGamePublishSettingFromLevel)(Social::MultiplayerService *this, const Level *);
  bool (__fastcall *_getShouldBroadcastFromLevel)(Social::MultiplayerService *this, const Level *);
  void (__fastcall *_onMaxPlayerCountUpdated)(Social::MultiplayerService *this, const int);
  void (__fastcall *_onJoinGameCancelled)(Social::MultiplayerService *this);
};

# ServiceRegistrationToken<IRayTracingOptions>

struct __cppobj ServiceRegistrationToken<IRayTracingOptions>
{
  IRayTracingOptions *mService;
};

# ServerInitData

struct __cppobj ServerInitData
{
  ContentIdentity mPremiumTemplateContentIdentity;
  LevelSettings mSettings;
  StartIntent mStartIntent;
  std::string mLevelId;
  std::string mLevelName;
  std::string mErrorMessage;
};

# SplitscreenJoinListener::SplitscreenJoinTracker

struct __cppobj SplitscreenJoinListener::SplitscreenJoinTracker
{
  _BYTE mState[4];
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mSplitscreenJoinExpiration;
};

# SplitscreenJoinListener

struct __cppobj SplitscreenJoinListener
{
  SplitscreenJoinListener::SplitscreenJoinTracker mJoinTracker;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastToastTime;
};

# SavedData

struct __cppobj SavedData
{
  SavedData_vtbl *__vftable /*VFT*/;
  bool mDirty;
  std::string mId;
};

# SavedData_vtbl

struct /*VFT*/ SavedData_vtbl
{
  void (__fastcall *~SavedData)(SavedData *this);
  void (__fastcall *deserialize)(SavedData *this, const CompoundTag *);
  void (__fastcall *serialize)(SavedData *this, CompoundTag *);
};

# Seasons

struct __cppobj Seasons
{
  Dimension *mDimension;
  PerlinSimplexNoise mSnowNoise;
};

# SubChunkLightUpdate

struct __cppobj __declspec(align(4)) SubChunkLightUpdate
{
  SubChunkBlockPos mPos;
  Brightness mOldBrightness;
  Brightness mNewBrightness;
  Brightness mOldAbsorption;
  Brightness mNewAbsorption;
  bool mIsSkyLight;
};

# ServerLevel

struct __cppobj ServerLevel : Level
{
  bool mAllPlayersAreSleeping;
  bool mShouldSendSleepMessage;
  ResourcePackManager *mServerResourcePackManager;
  ResourcePackManager *mClientResourcePackManager;
  MinecraftCommands *mCommands;
  TradeTables mTradeTable;
  std::unique_ptr<FunctionManager> mFunctionManager;
  std::unique_ptr<MobEvents> mMobEvents;
  std::unordered_map<HashedString,unsigned int> mTagCache;
  std::shared_ptr<PositionTrackingDB::PositionTrackingDBServer> mServerPositionTrackerDB;
  BossbarManager mBossbarManager;
};

# StackStats

const struct __cppobj StackStats
{
  _BYTE mStackType[1];
  unsigned int mPackCount;
  long double mParseTime;
};

# StoreSearchTelemetryData

const struct __cppobj StoreSearchTelemetryData
{
  unsigned int mSearchCorrelationId;
  std::string mSearchString;
  unsigned int mResultCount;
  unsigned int mRowCount;
  int mFilterRating;
  std::string mFilterCreators;
  std::string mAndFilters;
  std::string mOrFilters;
  std::string mFilterSubType;
  std::string mSortType;
};

# StructureTelemetryClientData

const struct __cppobj StructureTelemetryClientData
{
  unsigned int mSizeEditCount;
  unsigned int mOffsetEditCount;
  unsigned int mRotationEditCount;
  unsigned int mMirrorEditCount;
};

# SplitScreenInfo

struct SplitScreenInfo
{
  int mSplitScreenPosition;
  int mActivePlayers;
  SplitScreenDirection mSplitScreenDirection;
};

# StructurePoolElement

const struct __cppobj StructurePoolElement
{
  StructurePoolElement_vtbl *__vftable /*VFT*/;
  std::once_flag mTemplateOnceFlag;
  std::optional<StructurePoolElement::LazyTemplate> mTemplate;
  std::string mLocation;
  StructureManager *mManager;
  bool mValid;
  __declspec(align(8)) StructurePoolElementSettings mSettings;
};

# StructurePoolBlockRule

struct __cppobj StructurePoolBlockRule
{
  const std::unique_ptr<IStructurePoolBlockPredicate> mSourcePredicate;
  const std::unique_ptr<IStructurePoolBlockPredicate> mTargetPredicate;
  const std::unique_ptr<IStructurePoolBlockPredicate> mPositionPredicate;
  const Block *mResultBlock;
};

# StructurePoolBlockTagRule

struct __cppobj StructurePoolBlockTagRule
{
  const std::unique_ptr<IStructurePoolBlockTagPredicate> mSourcePredicate;
  const std::string mResultKey;
  const std::string mResultValue;
};

# StructurePoolElement_vtbl

struct /*VFT*/ StructurePoolElement_vtbl
{
  BlockPos *(__fastcall *getSize)(StructurePoolElement *this, BlockPos *result, Rotation);
  std::vector<JigsawBlockInfo> *(__fastcall *getJigsawMarkers)(StructurePoolElement *this, std::vector<JigsawBlockInfo> *result, BlockPos, LegacyStructureSettings *, BlockSource *);
  std::vector<JigsawBlockInfo> *(__fastcall *getJigsawMarkers)(StructurePoolElement *this, std::vector<JigsawBlockInfo> *result, BlockPos, Rotation);
  BoundingBox *(__fastcall *getBoundingBox)(StructurePoolElement *this, BoundingBox *result, BlockPos, Rotation);
  void (__fastcall *setProjection)(StructurePoolElement *this, Projection);
  Projection (__fastcall *getProjection)(StructurePoolElement *this);
  PostProcessSettings (__fastcall *getPostProcessSettings)(StructurePoolElement *this);
  bool (__fastcall *place)(StructurePoolElement *this, BlockSource *, BlockPos, Rotation, BoundingBox, Random *, std::unordered_map<BlockPos,std::optional<ActorDefinitionIdentifier>> *, BlockPos);
  void (__fastcall *placeActors)(StructurePoolElement *this, BlockSource *, BlockPos, Rotation, Random *);
  void (__fastcall *handleJigsawBlock)(StructurePoolElement *this, BlockSource *, JigsawBlockInfo *, LegacyStructureSettings *);
  void (__fastcall *handleDataMarker)(StructurePoolElement *this, BlockSource *, BlockPos, std::string, std::unordered_map<BlockPos,std::optional<ActorDefinitionIdentifier>> *);
  bool (__fastcall *isValid)(StructurePoolElement *this);
  void (__fastcall *~StructurePoolElement)(StructurePoolElement *this);
};

# StructurePoolElement::LazyTemplate

struct __cppobj StructurePoolElement::LazyTemplate
{
  std::vector<JigsawBlockInfo> mJigsawMarkers;
  std::variant<std::reference_wrapper<StructureTemplate>,std::reference_wrapper<LegacyStructureTemplate> > mStructureVariant;
};

# StructurePoolActorRule

struct __cppobj StructurePoolActorRule
{
  const std::unique_ptr<IStructurePoolActorPredicate> mSourcePredicate;
  const std::string mResultActor;
};

# StructureTemplatePool

struct __cppobj StructureTemplatePool
{
  std::string mName;
  std::vector<StructurePoolElement const *> mTemplates;
  std::string mFallback;
};

# SurfaceBuilderRegistry::Element

struct __cppobj SurfaceBuilderRegistry::Element
{
  std::unique_ptr<ISurfaceBuilder> mBuilder;
  unsigned __int64 (__fastcall *mScoringFunc)(EntityContext *);
};

# SurfaceBuilderRegistry

struct __cppobj SurfaceBuilderRegistry
{
  std::vector<SurfaceBuilderRegistry::Element> mSurfaceBuilders;
};

# SharedCounter<BlockLegacy>

struct __cppobj SharedCounter<BlockLegacy>
{
  BlockLegacy *ptr;
  std::atomic<int> share_count;
  std::atomic<int> weak_count;
};

# SeedItemComponentLegacy

struct __cppobj __declspec(align(8)) SeedItemComponentLegacy
{
  Item *mOwner;
  const Block *mResult;
  std::vector<BlockDescriptor> mTargetLandBlocks;
  bool mIsPlanting;
};

# SparseContainer

struct __cppobj SparseContainer : Container, ContainerContentChangeListener
{
  std::unordered_map<enum ContainerEnumName,std::function<void __cdecl(int,ItemStack const &,ItemStack const &)>> mItemNetworkChangedCallbacks;
  std::unordered_map<enum ContainerEnumName,std::function<bool __cdecl(int,ItemStackBase const &,int)>,ContainerEnumNameHasher,std::equal_to<enum ContainerEnumName>,std::allocator<std::pair<enum ContainerEnumName const ,std::function<bool __cdecl(int,ItemStackBase const &,int)> > > > mItemAllowedInSlotCallbacks;
  std::unordered_map<enum ContainerEnumName,std::function<bool __cdecl(ItemStackBase const &)>,ContainerEnumNameHasher,std::equal_to<enum ContainerEnumName>,std::allocator<std::pair<enum ContainerEnumName const ,std::function<bool __cdecl(ItemStackBase const &)> > > > mItemAllowedToAddCallbacks;
  std::unordered_map<enum ContainerEnumName,std::function<int __cdecl(int,ItemStackBase const &)>,ContainerEnumNameHasher,std::equal_to<enum ContainerEnumName>,std::allocator<std::pair<enum ContainerEnumName const ,std::function<int __cdecl(int,ItemStackBase const &)> > > > mAvailableSetCountCallbacks;
  std::unordered_map<enum ContainerEnumName,std::function<bool __cdecl(int)>,ContainerEnumNameHasher,std::equal_to<enum ContainerEnumName>,std::allocator<std::pair<enum ContainerEnumName const ,std::function<bool __cdecl(int)> > > > mValidSlotForContainerCallbacks;
  std::unordered_map<enum ContainerEnumName,std::function<bool __cdecl(ItemStackBase const &)>,ContainerEnumNameHasher,std::equal_to<enum ContainerEnumName>,std::allocator<std::pair<enum ContainerEnumName const ,std::function<bool __cdecl(ItemStackBase const &)> > > > mItemAllowedToRemoveCallbacks;
  std::unordered_map<enum ContainerEnumName,std::function<bool __cdecl(ItemStackBase const &)>,ContainerEnumNameHasher,std::equal_to<enum ContainerEnumName>,std::allocator<std::pair<enum ContainerEnumName const ,std::function<bool __cdecl(ItemStackBase const &)> > > > mItemAllowedInContainerCallbacks;
  const SparseContainerBackingSetType mBackingSetType;
  Container *mBackingContainer;
  ItemStackNetManagerBase *mItemStackNetManager;
  std::unordered_map<int,ItemStack> mItems;
};

# SparseContainer_vtbl

struct /*VFT*/ SparseContainer_vtbl
{
  void (__fastcall *~Container)(Container *this);
  void (__fastcall *init)(Container *this);
  void (__fastcall *serverInitItemStackIds)(Container *this, int, int, std::function<void __cdecl(int,ItemStack const &)>);
  void (__fastcall *addContentChangeListener)(Container *this, ContainerContentChangeListener *);
  void (__fastcall *removeContentChangeListener)(Container *this, ContainerContentChangeListener *);
  const ItemStack *(__fastcall *getItem)(Container *this, int);
  bool (__fastcall *hasRoomForItem)(Container *this, const ItemStack *);
  void (__fastcall *addItem)(Container *this, ItemStack *);
  bool (__fastcall *addItemToFirstEmptySlot)(Container *this, ItemStack *);
  void (__fastcall *setItem)(Container *this, int, const ItemStack *);
  void (__fastcall *setItemWithForceBalance)(Container *this, int, const ItemStack *, bool);
  void (__fastcall *removeItem)(Container *this, int, int);
  void (__fastcall *removeAllItems)(Container *this);
  void (__fastcall *dropContents)(Container *this, BlockSource *, const Vec3 *, bool);
  int (__fastcall *getContainerSize)(Container *this);
  int (__fastcall *getMaxStackSize)(Container *this);
  void (__fastcall *startOpen)(Container *this, Player *);
  void (__fastcall *stopOpen)(Container *this, Player *);
  std::vector<ItemStack> *(__fastcall *getSlotCopies)(Container *this, std::vector<ItemStack> *result);
  const std::vector<ItemStack const *> *(__fastcall *getSlots)(Container *this, const std::vector<ItemStack const *> *result);
  int (__fastcall *getItemCount)(Container *this, const ItemStack *);
  int (__fastcall *findFirstSlotForItem)(Container *this, const ItemStack *);
  bool (__fastcall *canPushInItem)(Container *this, BlockSource *, int, int, const ItemInstance *);
  bool (__fastcall *canPullOutItem)(Container *this, BlockSource *, int, int, const ItemInstance *);
  void (__fastcall *setContainerChanged)(Container *this, int);
  void (__fastcall *setContainerMoved)(Container *this);
  void (__fastcall *setCustomName)(Container *this, const std::string *);
  bool (__fastcall *hasCustomName)(Container *this);
  void (__fastcall *readAdditionalSaveData)(Container *this, const CompoundTag *);
  void (__fastcall *addAdditionalSaveData)(Container *this, CompoundTag *);
  void (__fastcall *createTransactionContext)(Container *this, std::function<void __cdecl(Container &,int,ItemStack const &,ItemStack const &)>, std::function<void __cdecl(void)>);
  void (__fastcall *initializeContainerContents)(Container *this, BlockSource *);
  bool (__fastcall *reviewItems)(Container *this, Level *);
};

# SimpleContainer

struct __cppobj SimpleContainer : Container
{
  int mSize;
  std::vector<ItemStack> mItems;
};

# SimpleContainer_vtbl

struct /*VFT*/ SimpleContainer_vtbl
{
  void (__fastcall *~Container)(Container *this);
  void (__fastcall *init)(Container *this);
  void (__fastcall *serverInitItemStackIds)(Container *this, int, int, std::function<void __cdecl(int,ItemStack const &)>);
  void (__fastcall *addContentChangeListener)(Container *this, ContainerContentChangeListener *);
  void (__fastcall *removeContentChangeListener)(Container *this, ContainerContentChangeListener *);
  const ItemStack *(__fastcall *getItem)(Container *this, int);
  bool (__fastcall *hasRoomForItem)(Container *this, const ItemStack *);
  void (__fastcall *addItem)(Container *this, ItemStack *);
  bool (__fastcall *addItemToFirstEmptySlot)(Container *this, ItemStack *);
  void (__fastcall *setItem)(Container *this, int, const ItemStack *);
  void (__fastcall *setItemWithForceBalance)(Container *this, int, const ItemStack *, bool);
  void (__fastcall *removeItem)(Container *this, int, int);
  void (__fastcall *removeAllItems)(Container *this);
  void (__fastcall *dropContents)(Container *this, BlockSource *, const Vec3 *, bool);
  int (__fastcall *getContainerSize)(Container *this);
  int (__fastcall *getMaxStackSize)(Container *this);
  void (__fastcall *startOpen)(Container *this, Player *);
  void (__fastcall *stopOpen)(Container *this, Player *);
  std::vector<ItemStack> *(__fastcall *getSlotCopies)(Container *this, std::vector<ItemStack> *result);
  const std::vector<ItemStack const *> *(__fastcall *getSlots)(Container *this, const std::vector<ItemStack const *> *result);
  int (__fastcall *getItemCount)(Container *this, const ItemStack *);
  int (__fastcall *findFirstSlotForItem)(Container *this, const ItemStack *);
  bool (__fastcall *canPushInItem)(Container *this, BlockSource *, int, int, const ItemInstance *);
  bool (__fastcall *canPullOutItem)(Container *this, BlockSource *, int, int, const ItemInstance *);
  void (__fastcall *setContainerChanged)(Container *this, int);
  void (__fastcall *setContainerMoved)(Container *this);
  void (__fastcall *setCustomName)(Container *this, const std::string *);
  bool (__fastcall *hasCustomName)(Container *this);
  void (__fastcall *readAdditionalSaveData)(Container *this, const CompoundTag *);
  void (__fastcall *addAdditionalSaveData)(Container *this, CompoundTag *);
  void (__fastcall *createTransactionContext)(Container *this, std::function<void __cdecl(Container &,int,ItemStack const &,ItemStack const &)>, std::function<void __cdecl(void)>);
  void (__fastcall *initializeContainerContents)(Container *this, BlockSource *);
  bool (__fastcall *reviewItems)(Container *this, Level *);
};

# SavedDataStorage

struct __cppobj SavedDataStorage
{
  SavedDataStorage_vtbl *__vftable /*VFT*/;
  LevelStorage *levelStorage;
  std::unordered_map<std::string,SavedData *> savedDatas;
};

# SavedDataStorage_vtbl

struct /*VFT*/ SavedDataStorage_vtbl
{
  void (__fastcall *~SavedDataStorage)(SavedDataStorage *this);
};

# SummonSpellStage

struct __cppobj __declspec(align(8)) SummonSpellStage
{
  SummonShape shape;
  SummonTarget target;
  float size;
  int baseDelay;
  int delayPerSummoning;
  int summonCap;
  float summonCapRadius;
  ActorDefinitionIdentifier entityIdentifier;
  int entityLifespan;
  int entityCount;
  LevelSoundEvent stageSoundEvent;
};

# SummonSpellData

struct __cppobj __declspec(align(8)) SummonSpellData
{
  float minActivationRange;
  float maxActivationRange;
  int cooldownTime;
  float weight;
  ActorFilterGroup targetFilter;
  float castDuration;
  bool doCastingAnimation;
  int particleColor;
  std::vector<SummonSpellStage> stages;
  LevelSoundEvent startSound;
};

# SendEventStage

struct __cppobj __declspec(align(8)) SendEventStage
{
  int delay;
  std::string eventName;
  LevelSoundEvent stageSoundEvent;
};

# SendEventData

struct __cppobj SendEventData
{
  float minActivationRange;
  float maxActivationRange;
  int cooldownTime;
  int castDuration;
  float weight;
  bool doCastingAnimation;
  bool lookAtTarget;
  int particleColor;
  ActorFilterGroup targetFilter;
  LevelSoundEvent startSound;
  std::vector<SendEventStage> stages;
};

# StorylineDescription

struct __cppobj __declspec(align(8)) StorylineDescription : ComponentDescription
{
  std::string mStoryline;
  int mRunState;
};

# StorylineDescription_vtbl

struct /*VFT*/ StorylineDescription_vtbl
{
  const char *(__fastcall *getJsonName)(Description *this);
  void (__fastcall *~Description)(Description *this);
  void (__fastcall *deserializeData)(Description *this, DeserializeDataParams);
  void (__fastcall *serializeData)(Description *this, Json::Value *);
};

# SlimeMoveControlDescription

struct __cppobj SlimeMoveControlDescription : MoveControlDescription
{
  FloatRange mJumpDelayTicks;
};

# SlimeMoveControlDescription_vtbl

struct /*VFT*/ SlimeMoveControlDescription_vtbl
{
  const char *(__fastcall *getJsonName)(Description *this);
  void (__fastcall *~Description)(Description *this);
  void (__fastcall *deserializeData)(Description *this, DeserializeDataParams);
  void (__fastcall *serializeData)(Description *this, Json::Value *);
};

# StrengthDescription

struct __cppobj __declspec(align(8)) StrengthDescription : AttributeDescription
{
  bool mHasComponent;
  int mStrength;
  int mMaxStrength;
};

# StrengthDescription_vtbl

struct /*VFT*/ StrengthDescription_vtbl
{
  const char *(__fastcall *getJsonName)(Description *this);
  void (__fastcall *~Description)(Description *this);
  void (__fastcall *deserializeData)(Description *this, DeserializeDataParams);
  void (__fastcall *serializeData)(Description *this, Json::Value *);
};

# SpawnGroupData

struct __cppobj SpawnGroupData
{
  std::string mIdentifier;
  std::vector<MobSpawnRules> mSpawnRules;
};

# SpawnGroupRegistry

struct __cppobj SpawnGroupRegistry : ActorSpawnRuleBase
{
  std::vector<std::unique_ptr<SpawnGroupData>> mSpawnGroupRegistry;
  std::unordered_map<std::string,SpawnGroupData *> mSpawnGroupLookupMap;
};

# SpawnGroupRegistry_vtbl

struct /*VFT*/ SpawnGroupRegistry_vtbl
{
  void (__fastcall *~ActorSpawnRuleBase)(ActorSpawnRuleBase *this);
  const std::string *(__fastcall *getRootKey)(ActorSpawnRuleBase *this);
  const std::string *(__fastcall *getFileType)(ActorSpawnRuleBase *this);
  bool (__fastcall *processPopulationControl)(ActorSpawnRuleBase *this, const std::string *, Json::Value *);
  void (__fastcall *readResourceFiles)(ActorSpawnRuleBase *this, ResourcePackManager *, std::unordered_map<std::string,std::string> *);
};

# SortItemInstanceIdAux

struct __cppobj SortItemInstanceIdAux
{
};

# ServerPlayerEventCoordinator

struct __cppobj ServerPlayerEventCoordinator : PlayerEventCoordinator
{
};

# ServerLevelEventCoordinator

struct __cppobj ServerLevelEventCoordinator : LevelEventCoordinator
{
};

# SlotDropChance

struct __cppobj SlotDropChance
{
  EquipmentSlot mSlot;
  float mDropChance;
};

# SpatialActorNetworkData

struct __cppobj SpatialActorNetworkData
{
  Actor *mEntity;
  bool mHasInitializedLastSent;
  bool mAutoSend;
  MoveActorAbsoluteData mLastSentMoveData;
  MoveActorAbsoluteData mLastReceivedMoveData;
  std::unordered_map<ActorUniqueID,Tick> mLastSpatialUpdateTicks;
};

# StorylineComponent

struct __cppobj __declspec(align(4)) StorylineComponent
{
  Actor *mEntity;
  std::string mStoryline;
  int mRunState;
  bool mCreated;
};

# SurroundHitTest

struct __cppobj SurroundHitTest
{
  float mRadius;
  float mSquaredRadius;
  Vec3 mPos;
  std::unordered_set<ActorUniqueID> mLastHitEntities;
  std::unordered_set<ActorUniqueID> mHitEntities;
};

# serialize<BlockPos>

struct __cppobj serialize<BlockPos>
{
};

# StackResultStorageSharePtr<EntityRegistry>

struct __cppobj StackResultStorageSharePtr<EntityRegistry>
{
  std::shared_ptr<EntityRegistry> mValue;
};

# StackRefResultT<EntityRegistryRefTraits>

struct __cppobj StackRefResultT<EntityRegistryRefTraits> : StackResultStorageSharePtr<EntityRegistry>
{
};

# Scheduler::ScopedChangeScheduler

struct __cppobj Scheduler::ScopedChangeScheduler
{
  BackgroundWorker *mParent;
};

# SPSCQueue<std::shared_ptr<BackgroundTaskBase>,512>::Block

struct __cppobj SPSCQueue<std::shared_ptr<BackgroundTaskBase>,512>::Block
{
  Lockless::WeakAtomic<unsigned __int64> front;
  unsigned __int64 localTail;
  char cachelineFiller0[48];
  Lockless::WeakAtomic<unsigned __int64> tail;
  unsigned __int64 localFront;
  char cachelineFiller1[48];
  Lockless::WeakAtomic<SPSCQueue<std::shared_ptr<BackgroundTaskBase>,512>::Block *> next;
  char *data;
  const unsigned __int64 sizeMask;
  char *rawThis;
};

# SemVersion::any_version_constructor

struct __cppobj SemVersion::any_version_constructor
{
};

# Serializer_vtbl

struct /*VFT*/ Serializer_vtbl
{
  void (__fastcall *~Serializer)(Serializer *this);
  bool (__fastcall *isBool)(Serializer *this);
  bool (__fastcall *isInt)(Serializer *this);
  bool (__fastcall *isString)(Serializer *this);
  bool (__fastcall *isObject)(Serializer *this);
  bool (__fastcall *isArray)(Serializer *this);
  bool (__fastcall *serializeBool)(Serializer *this, bool *);
  bool (__fastcall *serializeS8)(Serializer *this, char *);
  bool (__fastcall *serializeU8)(Serializer *this, unsigned __int8 *);
  bool (__fastcall *serializeS16)(Serializer *this, __int16 *);
  bool (__fastcall *serializeU16)(Serializer *this, unsigned __int16 *);
  bool (__fastcall *serializeS32)(Serializer *this, int *);
  bool (__fastcall *serializeU32)(Serializer *this, unsigned int *);
  bool (__fastcall *serializeFloat)(Serializer *this, float *);
  bool (__fastcall *serializeString)(Serializer *this, std::string *);
  bool (__fastcall *serializeEnum)(Serializer *this, unsigned int *, const SerializerTraits *);
  bool (__fastcall *serializeEnum)(Serializer *this, unsigned __int16 *, const SerializerTraits *);
  bool (__fastcall *serializeEnum)(Serializer *this, unsigned __int8 *, const SerializerTraits *);
  bool (__fastcall *beginMember)(Serializer *this, unsigned __int64, std::string *);
  bool (__fastcall *beginMember)(Serializer *this, const char *, bool);
  bool (__fastcall *endMember)(Serializer *this);
  bool (__fastcall *beginArray)(Serializer *this, unsigned __int64 *);
  bool (__fastcall *beginArrayItem)(Serializer *this, unsigned __int64);
  bool (__fastcall *endArrayItem)(Serializer *this);
  bool (__fastcall *endArray)(Serializer *this);
  bool (__fastcall *beginObject)(Serializer *this, unsigned __int64 *);
  bool (__fastcall *beginObject)(Serializer *this);
  bool (__fastcall *endObject)(Serializer *this);
};

# SecureStorageKey

struct __cppobj __declspec(align(8)) SecureStorageKey
{
  std::string key;
  bool isEncoded;
};

# SwStartStopper

struct __cppobj SwStartStopper
{
  Stopwatch *_stopwatch;
};

# SwStopper

struct __cppobj SwStopper
{
  Stopwatch *_stopwatch;
};

# SecureStorage

struct __cppobj SecureStorage
{
  SecureStorage_vtbl *__vftable /*VFT*/;
  Core::PathBuffer<std::string > mSettingsPath;
};

# SecureStorage_vtbl

struct /*VFT*/ SecureStorage_vtbl
{
  void (__fastcall *~SecureStorage)(SecureStorage *this);
  bool (__fastcall *add)(SecureStorage *this, const std::string *, const std::string *);
  bool (__fastcall *addOrUpdate)(SecureStorage *this, const std::string *, const std::string *);
  bool (__fastcall *remove)(SecureStorage *this, const std::string *);
  bool (__fastcall *get)(SecureStorage *this, const std::string *, std::string *);
};

# ServiceRegistrationToken<NetworkDebugManager>

struct __cppobj ServiceRegistrationToken<NetworkDebugManager>
{
  NetworkDebugManager *mService;
};

# ServiceRegistrationToken<Bedrock::IApplicationDataStores>

struct __cppobj ServiceRegistrationToken<Bedrock::IApplicationDataStores>
{
  Bedrock::IApplicationDataStores *mService;
};

# ServiceRegistrationToken<cg::IGraphicsDevicePlatformProvider>

struct __cppobj ServiceRegistrationToken<cg::IGraphicsDevicePlatformProvider>
{
  cg::IGraphicsDevicePlatformProvider *mService;
};

# ShieldItem

struct __cppobj ShieldItem : Item
{
};

# SubChunkBrightnessStorage

struct __cppobj SubChunkBrightnessStorage
{
  std::array<SubChunkBrightnessStorage::LightPair,4096> mLight;
};

# SubChunkBlockStorage

struct __cppobj SubChunkBlockStorage
{
  SubChunkBlockStorage_vtbl *__vftable /*VFT*/;
};

# SubChunkBlockStorage_vtbl

struct /*VFT*/ SubChunkBlockStorage_vtbl
{
  void (__fastcall *~SubChunkBlockStorage)(SubChunkBlockStorage *this);
  bool (__fastcall *isUniform)(SubChunkBlockStorage *this, const Block *);
  const Block *(__fastcall *getBlock)(SubChunkBlockStorage *this, unsigned __int16);
  bool (__fastcall *setBlock)(SubChunkBlockStorage *this, unsigned __int16, const Block *);
  unsigned __int64 (__fastcall *getBlockTypeCapacity)(SubChunkBlockStorage *this);
  SubChunkBlockStorage::Type (__fastcall *getType)(SubChunkBlockStorage *this);
  std::unique_ptr<SubChunkBlockStorage> *(__fastcall *makePrunedCopy)(SubChunkBlockStorage *this, std::unique_ptr<SubChunkBlockStorage> *result, SubChunkBlockStorage::PruneType);
  bool (__fastcall *hasModFlag)(SubChunkBlockStorage *this);
  void (__fastcall *setModFlag)(SubChunkBlockStorage *this, bool);
  const ISubChunkBlockStoragePaletted *(__fastcall *asPalettedStorage)(SubChunkBlockStorage *this);
  ISubChunkBlockStoragePaletted *(__fastcall *asPalettedStorage)(SubChunkBlockStorage *this);
  void (__fastcall *fetchBlocksInCylinder)(SubChunkBlockStorage *this, const BlockPos *, const BlockPos *, unsigned int, unsigned int, const std::function<bool __cdecl(Block const &)> *, std::vector<BlockFetchResult> *);
  void (__fastcall *fetchBlocksInBox)(SubChunkBlockStorage *this, const BlockPos *, const BoundingBox *, const std::function<bool __cdecl(Block const &)> *, std::vector<BlockFetchResult> *);
  void (__fastcall *_serialize)(SubChunkBlockStorage *this, IDataOutput *, bool);
};

# SharePtrRefTraits<FogDefinition>

struct __cppobj SharePtrRefTraits<FogDefinition>
{
};

# serialize<EntityNetId>

struct __cppobj serialize<EntityNetId>
{
};

# ServiceLocator<AppPlatform>

struct __cppobj ServiceLocator<AppPlatform>
{
};

# SharePtrRefTraits<PerlinSimplexNoise>

struct __cppobj SharePtrRefTraits<PerlinSimplexNoise>
{
};

# StackResultStorageSharePtr<PerlinSimplexNoise>

struct __cppobj StackResultStorageSharePtr<PerlinSimplexNoise>
{
  std::shared_ptr<PerlinSimplexNoise> mValue;
};

# SimpleBoolFilterTest_vtbl

struct /*VFT*/ SimpleBoolFilterTest_vtbl
{
  void (__fastcall *~FilterTest)(FilterTest *this);
  bool (__fastcall *setup)(FilterTest *this, const FilterTest::Definition *, const FilterInputs *);
  bool (__fastcall *evaluate)(FilterTest *this, const FilterContext *);
  void (__fastcall *finalizeParsedValue)(FilterTest *this, IWorldRegistriesProvider *);
  gsl::basic_string_span<char const ,-1> *(__fastcall *getName)(FilterTest *this, gsl::basic_string_span<char const ,-1> *result);
  Json::Value *(__fastcall *_serializeDomain)(FilterTest *this, Json::Value *result);
  Json::Value *(__fastcall *_serializeValue)(FilterTest *this, Json::Value *result);
};

# SimpleIntFilterTest_vtbl

struct /*VFT*/ SimpleIntFilterTest_vtbl
{
  void (__fastcall *~FilterTest)(FilterTest *this);
  bool (__fastcall *setup)(FilterTest *this, const FilterTest::Definition *, const FilterInputs *);
  bool (__fastcall *evaluate)(FilterTest *this, const FilterContext *);
  void (__fastcall *finalizeParsedValue)(FilterTest *this, IWorldRegistriesProvider *);
  gsl::basic_string_span<char const ,-1> *(__fastcall *getName)(FilterTest *this, gsl::basic_string_span<char const ,-1> *result);
  Json::Value *(__fastcall *_serializeDomain)(FilterTest *this, Json::Value *result);
  Json::Value *(__fastcall *_serializeValue)(FilterTest *this, Json::Value *result);
};

# SimpleFloatFilterTest_vtbl

struct /*VFT*/ SimpleFloatFilterTest_vtbl
{
  void (__fastcall *~FilterTest)(FilterTest *this);
  bool (__fastcall *setup)(FilterTest *this, const FilterTest::Definition *, const FilterInputs *);
  bool (__fastcall *evaluate)(FilterTest *this, const FilterContext *);
  void (__fastcall *finalizeParsedValue)(FilterTest *this, IWorldRegistriesProvider *);
  gsl::basic_string_span<char const ,-1> *(__fastcall *getName)(FilterTest *this, gsl::basic_string_span<char const ,-1> *result);
  Json::Value *(__fastcall *_serializeDomain)(FilterTest *this, Json::Value *result);
  Json::Value *(__fastcall *_serializeValue)(FilterTest *this, Json::Value *result);
};

# SimpleHashStringFilterTest_vtbl

struct /*VFT*/ SimpleHashStringFilterTest_vtbl
{
  void (__fastcall *~FilterTest)(FilterTest *this);
  bool (__fastcall *setup)(FilterTest *this, const FilterTest::Definition *, const FilterInputs *);
  bool (__fastcall *evaluate)(FilterTest *this, const FilterContext *);
  void (__fastcall *finalizeParsedValue)(FilterTest *this, IWorldRegistriesProvider *);
  gsl::basic_string_span<char const ,-1> *(__fastcall *getName)(FilterTest *this, gsl::basic_string_span<char const ,-1> *result);
  Json::Value *(__fastcall *_serializeDomain)(FilterTest *this, Json::Value *result);
  Json::Value *(__fastcall *_serializeValue)(FilterTest *this, Json::Value *result);
};

# SimpleTagIDFilterTest_vtbl

struct /*VFT*/ SimpleTagIDFilterTest_vtbl
{
  void (__fastcall *~FilterTest)(FilterTest *this);
  bool (__fastcall *setup)(FilterTest *this, const FilterTest::Definition *, const FilterInputs *);
  bool (__fastcall *evaluate)(FilterTest *this, const FilterContext *);
  void (__fastcall *finalizeParsedValue)(FilterTest *this, IWorldRegistriesProvider *);
  gsl::basic_string_span<char const ,-1> *(__fastcall *getName)(FilterTest *this, gsl::basic_string_span<char const ,-1> *result);
  Json::Value *(__fastcall *_serializeDomain)(FilterTest *this, Json::Value *result);
  Json::Value *(__fastcall *_serializeValue)(FilterTest *this, Json::Value *result);
};

# ServiceLocator<ContentLog>

struct __cppobj ServiceLocator<ContentLog>
{
};

# serialize<NetworkBlockPosition>

struct __cppobj serialize<NetworkBlockPosition>
{
};

# serialize<Vec2>

struct __cppobj serialize<Vec2>
{
};

# serialize<Vec3>

struct __cppobj serialize<Vec3>
{
};

# serialize<std::vector<std::unique_ptr<DataItem>> >

struct __cppobj serialize<std::vector<std::unique_ptr<DataItem>> >
{
};

# serialize<ActorUniqueID>

struct __cppobj serialize<ActorUniqueID>
{
};

# serialize<ActorRuntimeID>

struct __cppobj serialize<ActorRuntimeID>
{
};

# serialize<PositionTrackingId>

struct __cppobj serialize<PositionTrackingId>
{
};

# serialize<mce::UUID>

struct __cppobj serialize<mce::UUID>
{
};

struct __cppobj serialize<ActorLink>
{
};

# serialize<ChunkPos>

struct __cppobj serialize<ChunkPos>
{
};

# serialize<BaseGameVersion>

struct __cppobj serialize<BaseGameVersion>
{
};

# serialize<SubChunkPos>

struct __cppobj serialize<SubChunkPos>
{
};

# serialize<SpawnSettings>

struct __cppobj serialize<SpawnSettings>
{
};

# serialize<EducationLevelSettings>

struct __cppobj serialize<EducationLevelSettings>
{
};

# serialize<std::optional<EducationLevelSettings> >

struct __cppobj serialize<std::optional<EducationLevelSettings> >
{
};

# Social::Events::AchievementEventing

struct __cppobj Social::Events::AchievementEventing
{
  std::vector<std::string> mExcludeCommonProperties;
};

# Social::IUserManager

struct __cppobj Social::IUserManager : Bedrock::EnableNonOwnerReferences
{
  Social::IUserManager_vtbl *__vftable /*VFT*/;
};

# Social::IUserManager_vtbl

struct /*VFT*/ Social::IUserManager_vtbl
{
  void (__fastcall *~IUserManager)(Social::IUserManager *this);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *createPrimaryUserAsync)(Social::IUserManager *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, IMinecraftEventing *, std::shared_ptr<Options>);
  void (__fastcall *initPrimaryIdentity)(Social::IUserManager *this, std::weak_ptr<FlightingService>);
  std::shared_ptr<Social::User> *(__fastcall *getPrimaryUser)(Social::IUserManager *this, std::shared_ptr<Social::User> *result);
  bool (__fastcall *isSecondaryUserCreationAllowed)(Social::IUserManager *this, int);
  void (__fastcall *setSecondaryUserCreationAllowed)(Social::IUserManager *this, int);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *addSecondaryUserAsync)(Social::IUserManager *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, int, IMinecraftEventing *, std::shared_ptr<Options>, std::function<void __cdecl(enum Social::UserPlatformConnectionResult)>);
  bool (__fastcall *controllerChanged)(Social::IUserManager *this, int *, int *);
  bool (__fastcall *canChangePrimaryUserFromStartMenuScreen)(Social::IUserManager *this);
  void (__fastcall *getAsyncUserSelection)(Social::IUserManager *this, std::function<void __cdecl(int)>, int);
  void (__fastcall *getAsyncUserSelectionForNewPrimaryUser)(Social::IUserManager *this, int, bool);
  void (__fastcall *forceCloudSaveOnWorld)(Social::IUserManager *this, const std::string *);
  Core::Subject<Social::UserListObserver,Core::SingleThreadedLock> *(__fastcall *getUserListSubject)(Social::IUserManager *this);
  bool (__fastcall *isPrimaryUserReady)(Social::IUserManager *this);
  bool (__fastcall *canAccessPlayScreen)(Social::IUserManager *this);
  bool (__fastcall *needToShowPlatformStoreConnectConfirmationScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessSettingsScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessAchievementsScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessSkinScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessStoreScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessRealmsPendingInvitesScreen)(Social::IUserManager *this);
  bool (__fastcall *canHandleInvites)(Social::IUserManager *this);
  bool (__fastcall *needPlatformConnectionBeforeXBLSignIn)(Social::IUserManager *this);
  bool (__fastcall *needPlatformConnectionForMultiplayer)(Social::IUserManager *this);
  bool (__fastcall *needPlatformConnectionForSplitScreenMultiplayer)(Social::IUserManager *this);
  bool (__fastcall *needPlatformConnectionBeforeServerSearch)(Social::IUserManager *this);
  bool (__fastcall *needsAsyncUserSelection)(Social::IUserManager *this, int, bool);
  void (__fastcall *onFullGameUnlock)(Social::IUserManager *this);
  bool (__fastcall *hasPlatformIcons)(Social::IUserManager *this);
  bool (__fastcall *hasPlatformProfileCards)(Social::IUserManager *this);
  void (__fastcall *getLinkedXuids)(Social::IUserManager *this, std::function<void __cdecl(std::string,std::string)>, const std::vector<std::string> *);
  void (__fastcall *getLinkedPlatformIds)(Social::IUserManager *this, std::function<void __cdecl(std::string,std::string)>, const std::vector<std::string> *);
  void (__fastcall *onAppResumed)(Social::IUserManager *this);
  void (__fastcall *onAppSuspended)(Social::IUserManager *this);
  void (__fastcall *onAppFocusLost)(Social::IUserManager *this);
  void (__fastcall *removeUser)(Social::IUserManager *this, int, bool);
  void (__fastcall *removeClient)(Social::IUserManager *this, std::shared_ptr<IClientInstance>);
  void (__fastcall *removeUserClient)(Social::IUserManager *this, int);
  void (__fastcall *setUserClient)(Social::IUserManager *this, int, const std::shared_ptr<IClientInstance> *);
  bool (__fastcall *userHasClient)(Social::IUserManager *this, int);
  ControllerIDtoClientMap *(__fastcall *retrieveCIDToClientMap)(Social::IUserManager *this);
  int (__fastcall *getClientCID)(Social::IUserManager *this, const IClientInstance *);
  void (__fastcall *registerSignOutListener)(Social::IUserManager *this, const Core::CallbackListeners<int,enum Social::SignInResult>::Listener *);
  void (__fastcall *registerSignInListener)(Social::IUserManager *this, const Core::CallbackListeners<int,enum Social::SignInResult>::Listener *);
  void (__fastcall *registerIdentitySignInListener)(Social::IUserManager *this, Social::IdentityType, std::function<void __cdecl(unsigned int,enum Social::IdentityType)>);
  void (__fastcall *registerIdentitySignOutListener)(Social::IUserManager *this, Social::IdentityType, std::function<void __cdecl(unsigned int,enum Social::IdentityType)>);
  bool (__fastcall *needGamepadDisconnectScreen)(Social::IUserManager *this, int);
  void (__fastcall *tick)(Social::IUserManager *this, IMinecraftGame *);
  void (__fastcall *updateMapping)(Social::IUserManager *this, bool, bool);
  void (__fastcall *saveUserEventInformation)(Social::IUserManager *this);
  std::shared_ptr<Social::User> *(__fastcall *getUser)(Social::IUserManager *this, std::shared_ptr<Social::User> *result, const Social::XboxLiveUser *);
  std::shared_ptr<Social::User> *(__fastcall *getUser)(Social::IUserManager *this, std::shared_ptr<Social::User> *result, const IClientInstance *);
  const std::shared_ptr<Social::User const > *(__fastcall *getUserFromUserId)(Social::IUserManager *this, const std::shared_ptr<Social::User const > *result, unsigned int);
  std::shared_ptr<Social::User> *(__fastcall *getUserFromUserId)(Social::IUserManager *this, std::shared_ptr<Social::User> *result, unsigned int);
  GameUserType (__fastcall *getUserTypeFromUserId)(Social::IUserManager *this, unsigned int);
  bool (__fastcall *isChatAllowedWhenBlockedByPlatform)(Social::IUserManager *this);
  const std::vector<std::shared_ptr<Social::User>> *(__fastcall *getUsers)(Social::IUserManager *this);
  bool (__fastcall *isUserSignedIn)(Social::IUserManager *this, unsigned int);
  void (__fastcall *registerLevelLocationObserver)(Social::IUserManager *this, LevelListCache *);
  Social::MultiplayerServiceObserver *(__fastcall *getMultiplayerServiceObserver)(Social::IUserManager *this);
};

# serialize<InventorySource>

struct __cppobj serialize<InventorySource>
{
};

# serialize<InventoryAction>

struct __cppobj serialize<InventoryAction>
{
};

# serialize<DataItem>

struct __cppobj serialize<DataItem>
{
};

# serialize<std::unique_ptr<DataItem> >

struct __cppobj serialize<std::unique_ptr<DataItem> >
{
};

# serialize<ItemStack>

struct __cppobj serialize<ItemStack>
{
};

# ShakeBehavior

struct __cppobj __declspec(align(8)) ShakeBehavior : CameraBehavior<ShakeBehavior>
{
  float mFrequency;
  float mAmplitude;
  float mNoiseMultiplier;
};

# ShakeBehavior_vtbl

struct /*VFT*/ ShakeBehavior_vtbl
{
  void (__fastcall *~ICameraBehavior)(ICameraBehavior *this);
  void (__fastcall *onSetup)(ICameraBehavior *this, IClientInstance *, CameraDirector *);
  void (__fastcall *onStart)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *update)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *handleLookInput)(ICameraBehavior *this, Vec2 *, CameraDirector *);
  void (__fastcall *renderDebug)(ICameraBehavior *this, IClientInstance *, float, CameraDirector *);
  bool (__fastcall *handleCameraSetRot)(ICameraBehavior *this, const Vec2 *, CameraDirector *);
  HashedString *(__fastcall *getId)(ICameraBehavior *this, HashedString *result);
  ICameraBehavior::UpdateOrder (__fastcall *getUpdateOrder)(ICameraBehavior *this);
};

# ShakeBehaviorLoader

struct __cppobj ShakeBehaviorLoader : CameraBehaviorLoader
{
};

# ShakeBehaviorLoader_vtbl

struct /*VFT*/ ShakeBehaviorLoader_vtbl
{
  void (__fastcall *~CameraBehaviorLoader)(CameraBehaviorLoader *this);
  std::unique_ptr<ICameraBehavior> *(__fastcall *create)(CameraBehaviorLoader *this, std::unique_ptr<ICameraBehavior> *result);
  void (__fastcall *parse)(CameraBehaviorLoader *this, Json::Value *, ICameraBehavior *);
};

# ScopedCPUBoost

struct __cppobj __declspec(align(8)) ScopedCPUBoost
{
  Bedrock::NonOwnerPointer<AppPlatform> mAppPlatform;
  bool mCPUBoostEnabled;
};

# Social::DeviceId

struct __cppobj Social::DeviceId : NewType<std::string >
{
};

# Social::EmailAddress

struct __cppobj Social::EmailAddress : NewType<std::string >
{
};

# SoundLRUCache::CacheEntry

struct __cppobj __declspec(align(8)) SoundLRUCache::CacheEntry
{
  std::string mSoundName;
  unsigned int mTouchMarker;
};

# SoundLRUCache

struct __cppobj SoundLRUCache
{
  unsigned __int64 mMemoryLimit;
  unsigned int mTouchMarker;
  std::list<SoundLRUCache::CacheEntry> mLRUEntryList;
  std::unordered_map<std::string,std::_List_iterator<std::_List_val<std::_List_simple_types<SoundLRUCache::CacheEntry> > >> mLRULookupMap;
  std::function<bool __cdecl(std::string const &)> mUnloader;
};

# SceneStack::PushScreenEvent

struct __cppobj SceneStack::PushScreenEvent : SceneStack::SceneStackEvent
{
  std::shared_ptr<AbstractScene> mScene;
};

# SceneStack::PushScreenEvent_vtbl

struct /*VFT*/ SceneStack::PushScreenEvent_vtbl
{
  void (__fastcall *~SceneStackEvent)(SceneStack::SceneStackEvent *this);
};

# SceneStack::PopScreenEvent

struct __cppobj __declspec(align(8)) SceneStack::PopScreenEvent : SceneStack::SceneStackEvent
{
  int mPopCount;
};

# SceneStack::PopScreenEvent_vtbl

struct /*VFT*/ SceneStack::PopScreenEvent_vtbl
{
  void (__fastcall *~SceneStackEvent)(SceneStack::SceneStackEvent *this);
};

# SceneStack::PopRangeOfTypeScreenEvent

struct __cppobj __declspec(align(8)) SceneStack::PopRangeOfTypeScreenEvent : SceneStack::SceneStackEvent
{
  _BYTE mSceneType[4];
  _BYTE mSceneTypeExclusions[4];
  int mPopCount;
};

# SceneStack::PopRangeOfTypeScreenEvent_vtbl

struct /*VFT*/ SceneStack::PopRangeOfTypeScreenEvent_vtbl
{
  void (__fastcall *~SceneStackEvent)(SceneStack::SceneStackEvent *this);
};

# SceneStack::FlushScreenEvent

struct __cppobj __declspec(align(8)) SceneStack::FlushScreenEvent : SceneStack::SceneStackEvent
{
  bool mIgnoreNotFlushableFlag;
  bool mIgnoreTransitions;
};

# SceneStack::FlushScreenEvent_vtbl

struct /*VFT*/ SceneStack::FlushScreenEvent_vtbl
{
  void (__fastcall *~SceneStackEvent)(SceneStack::SceneStackEvent *this);
};

# StoreHomeRowsTreatmentQuery

struct __cppobj __declspec(align(8)) StoreHomeRowsTreatmentQuery : TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument>
{
  std::function<void __cdecl(std::vector<std::shared_ptr<StoreVisualStyle>> &)> mCallback;
  std::unordered_map<std::string,std::shared_ptr<StoreVisualStyle>> mContentQueryList;
  std::shared_ptr<StoreVisualStyle> mPromoStyle;
  bool mLocalizationReady;
};

# StoreHomeRowsTreatmentQuery_vtbl

struct /*VFT*/ StoreHomeRowsTreatmentQuery_vtbl
{
  void (__fastcall *~TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument>)(TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument> *this);
  const std::string *(__fastcall *getDocumentId)(TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument> *this);
  void (__fastcall *_processQueryResults)(TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument> *this, const QueryManifestSearchResults *, const std::vector<std::string> *);
};

# SalesCustom

struct __cppobj SalesCustom
{
  float mPercentageDiscounted;
  std::string mStartDate;
  std::string mEndDate;
  std::vector<std::string> mOfferIds;
  std::unordered_map<std::string,int> mOffers;
};

# SalesDocument

struct __cppobj SalesDocument
{
  CommonDocument mCommon;
  SalesCustom mCustom;
};

# SalesSearchResults

const struct __cppobj SalesSearchResults : CommonSearchResults
{
  std::vector<SalesDocument> mDocuments;
};

# SalesDocData

struct __cppobj SalesDocData
{
  const SalesDocument *mSalesDoc;
  __int64 mStartTimeUTC;
  __int64 mEndTimeUTC;
};

# StoreSalesTreatmentQuery

struct __cppobj __declspec(align(8)) StoreSalesTreatmentQuery : TreatmentQuery<SalesSearchResults,SalesDocument>
{
  gsl::not_null<Bedrock::NonOwnerPointer<DateManager> > mDateManager;
  std::shared_ptr<bool> mExistenceTracker;
  const std::string mStoreId;
  std::function<void __cdecl(std::vector<SalesDocData> const &,__int64,__int64)> mCallback;
  bool mIsFetching;
};

# StoreSalesTreatmentQuery_vtbl

struct /*VFT*/ StoreSalesTreatmentQuery_vtbl
{
  void (__fastcall *~TreatmentQuery<SalesSearchResults,SalesDocument>)(TreatmentQuery<SalesSearchResults,SalesDocument> *this);
  const std::string *(__fastcall *getDocumentId)(TreatmentQuery<SalesSearchResults,SalesDocument> *this);
  void (__fastcall *_processQueryResults)(TreatmentQuery<SalesSearchResults,SalesDocument> *this, const SalesSearchResults *, const std::vector<std::string> *);
};

# SkinPickerUpsellTreatmentQuery

struct __cppobj SkinPickerUpsellTreatmentQuery : TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument>
{
  std::function<void __cdecl(SearchQuery const *)> mCallback;
};

# SkinPickerUpsellTreatmentQuery_vtbl

struct /*VFT*/ SkinPickerUpsellTreatmentQuery_vtbl
{
  void (__fastcall *~TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument>)(TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument> *this);
  const std::string *(__fastcall *getDocumentId)(TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument> *this);
  void (__fastcall *_processQueryResults)(TreatmentQuery<QueryManifestSearchResults,QueryManifestDocument> *this, const QueryManifestSearchResults *, const std::vector<std::string> *);
};

# SkinPackSection

struct __cppobj SkinPackSection : PDPSection
{
  const StoreCatalogItem *mItem;
};

# SkinPackSection_vtbl

struct /*VFT*/ SkinPackSection_vtbl
{
  void (__fastcall *~PDPSection)(PDPSection *this);
  std::unique_ptr<ScreenController> *(__fastcall *makeScreenController)(PDPSection *this, std::unique_ptr<ScreenController> *result, std::shared_ptr<MainMenuScreenModel>);
};

# ScreenshotSection

struct __cppobj __declspec(align(8)) ScreenshotSection : PDPSection
{
  ScreenshotSectionType mType;
};

# ScreenshotSection_vtbl

struct /*VFT*/ ScreenshotSection_vtbl
{
  void (__fastcall *~PDPSection)(PDPSection *this);
  std::unique_ptr<ScreenController> *(__fastcall *makeScreenController)(PDPSection *this, std::unique_ptr<ScreenController> *result, std::shared_ptr<MainMenuScreenModel>);
};

# StoreOfferSearchResults

const struct __cppobj StoreOfferSearchResults : CommonSearchResults
{
  std::vector<DurableDocument> mDurableDocuments;
  std::vector<OfferCollectionDocument> mOfferCollectionDocuments;
};

# StoreNewOffersQuery

struct __cppobj StoreNewOffersQuery : NewOffersQuery
{
};

# Social::UserCreationData

struct __cppobj __declspec(align(8)) Social::UserCreationData
{
  _BYTE mUserType[4];
  int mControllerId;
  IMinecraftEventing *mMinecraftEventing;
  std::shared_ptr<Options> mOptions;
  unsigned int mId;
};

# ScreenSettings

struct __cppobj __declspec(align(8)) ScreenSettings : UIComponent, IScreenSettings
{
  __int8 mNotFlushable : 1;
  __int8 mAlwaysAcceptsInput : 1;
  __int8 mRenderGameBehind : 1;
  __int8 mAbsorbsInput : 1;
  __int8 mIsShowingMenu : 1;
  __int8 mIsModal : 1;
  __int8 mShouldStealMouse : 1;
  __int8 mDrawsLast : 1;
  __int8 mIsVRMode : 1;
  __int8 mForceRenderBelow : 1;
  __int8 mSendEvents : 1;
  __int8 mLowFreqRendering : 1;
  __int8 mCloseOnPlayerHurt : 1;
  __int8 mCacheScreen : 1;
  __int8 mGamepadCursor : 1;
  __int8 mGamepadCursorDeflectionMode : 1;
  __int8 mLoadImmediately : 1;
  __int8 mRenderOnlyWhenTopmost : 1;
  float mVerticalScrollDelta;
  _BYTE mSceneType[4];
};

# ScreenSettings_vtbl

struct /*VFT*/ ScreenSettings_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# Social::<lambda_70e164e4d03fc91491731259b37366c5>

struct __cppobj Social::<lambda_70e164e4d03fc91491731259b37366c5>
{
};

# Social::<lambda_489514820f4eef331228db74af9bf498>

struct __cppobj Social::<lambda_489514820f4eef331228db74af9bf498>
{
};

# Social::UserManager

struct __cppobj Social::UserManager : Social::IUserManager, LevelLocationObserver, Social::MultiplayerServiceObserver
{
  std::vector<std::shared_ptr<Social::User>> mUsers;
  Core::CallbackListeners<int,enum Social::SignInResult> mSignOutListeners;
  Core::CallbackListeners<int,enum Social::SignInResult> mSignInListeners;
  int mCurrentPrimaryUserControllerId;
  ControllerIDtoClientMap mCidToClientMap;
  int mAutoLoginTime;
  bool mClearedUserCredentials;
  MPMCQueue<std::function<void __cdecl(void)> > mCallbackQueue;
  std::mutex mIdentityListenerLock;
  std::unordered_map<enum Social::IdentityType,std::vector<std::function<void __cdecl(unsigned int,enum Social::IdentityType)>>> mIdentitySignInListeners;
  std::unordered_map<enum Social::IdentityType,std::vector<std::function<void __cdecl(unsigned int,enum Social::IdentityType)>>> mIdentitySignOutListeners;
  unsigned int mNextId;
  Core::Subject<Social::UserListObserver,Core::SingleThreadedLock> mUserListSubject;
  std::shared_ptr<Social::TitleIdentityInfo> mTitleIdentityInfo;
  std::recursive_mutex mUserArrayLock;
  std::unique_ptr<TaskGroup> mTaskGroup;
  ServiceRegistrationToken<Social::UserManager> mServiceRegistrationToken;
};

# Social::TitleIdentityInfo

struct __cppobj Social::TitleIdentityInfo
{
  Social::TitleIdentityInfo_vtbl *__vftable /*VFT*/;
  Social::PlayFabEnvironment mEnvironment;
  int mTreatmentMonitorHandle;
  std::weak_ptr<FlightingService> mFlightingService;
  std::weak_ptr<Options> mPrimaryUserOptions;
};

# Social::TitleIdentityInfo_vtbl

struct /*VFT*/ Social::TitleIdentityInfo_vtbl
{
  void (__fastcall *~TitleIdentityInfo)(Social::TitleIdentityInfo *this);
  void (__fastcall *setEnvironment)(Social::TitleIdentityInfo *this, Social::PlayFabEnvironment);
  bool (__fastcall *isPlayFabCommerceEnabled)(Social::TitleIdentityInfo *this);
  VirtualCurrencyType (__fastcall *getPrimaryCurrencyType)(Social::TitleIdentityInfo *this);
  const gsl::basic_string_span<char const ,-1> *(__fastcall *getPlayFabTitleId)(Social::TitleIdentityInfo *this, const gsl::basic_string_span<char const ,-1> *result);
  const std::string *(__fastcall *getPlayfabSharedSecret)(Social::TitleIdentityInfo *this);
  bool (__fastcall *isSignInToPlayFabWithAnonymousAuthEnabled)(Social::TitleIdentityInfo *this);
  bool (__fastcall *getIsAccountRelinkingRestricted)(Social::TitleIdentityInfo *this);
  bool (__fastcall *isXboxLiveTitleIdAnyPlatform)(Social::TitleIdentityInfo *this, unsigned int);
  unsigned int (__fastcall *getXboxLiveFlags)(Social::TitleIdentityInfo *this);
  const std::string *(__fastcall *getXboxLiveClientId)(Social::TitleIdentityInfo *this);
  int (__fastcall *getXboxLiveTitleId)(Social::TitleIdentityInfo *this);
  const std::string *(__fastcall *getXboxLiveRedirectUri)(Social::TitleIdentityInfo *this);
  const std::string *(__fastcall *getXboxLiveScid)(Social::TitleIdentityInfo *this);
  const std::string *(__fastcall *getXboxLiveTelemetryAppId)(Social::TitleIdentityInfo *this);
};

# Social::UserManager_vtbl

struct /*VFT*/ Social::UserManager_vtbl
{
  void (__fastcall *~IUserManager)(Social::IUserManager *this);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *createPrimaryUserAsync)(Social::IUserManager *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, IMinecraftEventing *, std::shared_ptr<Options>);
  void (__fastcall *initPrimaryIdentity)(Social::IUserManager *this, std::weak_ptr<FlightingService>);
  std::shared_ptr<Social::User> *(__fastcall *getPrimaryUser)(Social::IUserManager *this, std::shared_ptr<Social::User> *result);
  bool (__fastcall *isSecondaryUserCreationAllowed)(Social::IUserManager *this, int);
  void (__fastcall *setSecondaryUserCreationAllowed)(Social::IUserManager *this, int);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *addSecondaryUserAsync)(Social::IUserManager *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, int, IMinecraftEventing *, std::shared_ptr<Options>, std::function<void __cdecl(enum Social::UserPlatformConnectionResult)>);
  bool (__fastcall *controllerChanged)(Social::IUserManager *this, int *, int *);
  bool (__fastcall *canChangePrimaryUserFromStartMenuScreen)(Social::IUserManager *this);
  void (__fastcall *getAsyncUserSelection)(Social::IUserManager *this, std::function<void __cdecl(int)>, int);
  void (__fastcall *getAsyncUserSelectionForNewPrimaryUser)(Social::IUserManager *this, int, bool);
  void (__fastcall *forceCloudSaveOnWorld)(Social::IUserManager *this, const std::string *);
  Core::Subject<Social::UserListObserver,Core::SingleThreadedLock> *(__fastcall *getUserListSubject)(Social::IUserManager *this);
  bool (__fastcall *isPrimaryUserReady)(Social::IUserManager *this);
  bool (__fastcall *canAccessPlayScreen)(Social::IUserManager *this);
  bool (__fastcall *needToShowPlatformStoreConnectConfirmationScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessSettingsScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessAchievementsScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessSkinScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessStoreScreen)(Social::IUserManager *this);
  bool (__fastcall *canAccessRealmsPendingInvitesScreen)(Social::IUserManager *this);
  bool (__fastcall *canHandleInvites)(Social::IUserManager *this);
  bool (__fastcall *needPlatformConnectionBeforeXBLSignIn)(Social::IUserManager *this);
  bool (__fastcall *needPlatformConnectionForMultiplayer)(Social::IUserManager *this);
  bool (__fastcall *needPlatformConnectionForSplitScreenMultiplayer)(Social::IUserManager *this);
  bool (__fastcall *needPlatformConnectionBeforeServerSearch)(Social::IUserManager *this);
  bool (__fastcall *needsAsyncUserSelection)(Social::IUserManager *this, int, bool);
  void (__fastcall *onFullGameUnlock)(Social::IUserManager *this);
  bool (__fastcall *hasPlatformIcons)(Social::IUserManager *this);
  bool (__fastcall *hasPlatformProfileCards)(Social::IUserManager *this);
  void (__fastcall *getLinkedXuids)(Social::IUserManager *this, std::function<void __cdecl(std::string,std::string)>, const std::vector<std::string> *);
  void (__fastcall *getLinkedPlatformIds)(Social::IUserManager *this, std::function<void __cdecl(std::string,std::string)>, const std::vector<std::string> *);
  void (__fastcall *onAppResumed)(Social::IUserManager *this);
  void (__fastcall *onAppSuspended)(Social::IUserManager *this);
  void (__fastcall *onAppFocusLost)(Social::IUserManager *this);
  void (__fastcall *removeUser)(Social::IUserManager *this, int, bool);
  void (__fastcall *removeClient)(Social::IUserManager *this, std::shared_ptr<IClientInstance>);
  void (__fastcall *removeUserClient)(Social::IUserManager *this, int);
  void (__fastcall *setUserClient)(Social::IUserManager *this, int, const std::shared_ptr<IClientInstance> *);
  bool (__fastcall *userHasClient)(Social::IUserManager *this, int);
  ControllerIDtoClientMap *(__fastcall *retrieveCIDToClientMap)(Social::IUserManager *this);
  int (__fastcall *getClientCID)(Social::IUserManager *this, const IClientInstance *);
  void (__fastcall *registerSignOutListener)(Social::IUserManager *this, const Core::CallbackListeners<int,enum Social::SignInResult>::Listener *);
  void (__fastcall *registerSignInListener)(Social::IUserManager *this, const Core::CallbackListeners<int,enum Social::SignInResult>::Listener *);
  void (__fastcall *registerIdentitySignInListener)(Social::IUserManager *this, Social::IdentityType, std::function<void __cdecl(unsigned int,enum Social::IdentityType)>);
  void (__fastcall *registerIdentitySignOutListener)(Social::IUserManager *this, Social::IdentityType, std::function<void __cdecl(unsigned int,enum Social::IdentityType)>);
  bool (__fastcall *needGamepadDisconnectScreen)(Social::IUserManager *this, int);
  void (__fastcall *tick)(Social::IUserManager *this, IMinecraftGame *);
  void (__fastcall *updateMapping)(Social::IUserManager *this, bool, bool);
  void (__fastcall *saveUserEventInformation)(Social::IUserManager *this);
  std::shared_ptr<Social::User> *(__fastcall *getUser)(Social::IUserManager *this, std::shared_ptr<Social::User> *result, const Social::XboxLiveUser *);
  std::shared_ptr<Social::User> *(__fastcall *getUser)(Social::IUserManager *this, std::shared_ptr<Social::User> *result, const IClientInstance *);
  const std::shared_ptr<Social::User const > *(__fastcall *getUserFromUserId)(Social::IUserManager *this, const std::shared_ptr<Social::User const > *result, unsigned int);
  std::shared_ptr<Social::User> *(__fastcall *getUserFromUserId)(Social::IUserManager *this, std::shared_ptr<Social::User> *result, unsigned int);
  GameUserType (__fastcall *getUserTypeFromUserId)(Social::IUserManager *this, unsigned int);
  bool (__fastcall *isChatAllowedWhenBlockedByPlatform)(Social::IUserManager *this);
  const std::vector<std::shared_ptr<Social::User>> *(__fastcall *getUsers)(Social::IUserManager *this);
  bool (__fastcall *isUserSignedIn)(Social::IUserManager *this, unsigned int);
  void (__fastcall *registerLevelLocationObserver)(Social::IUserManager *this, LevelListCache *);
  Social::MultiplayerServiceObserver *(__fastcall *getMultiplayerServiceObserver)(Social::IUserManager *this);
  bool (__fastcall *hasPlatformPremiumAccess)(Social::UserManager *this);
  void (__fastcall *_forceCloudSaveOnWorld)(Social::UserManager *this, const std::string *);
  void (__fastcall *_onAppResumed)(Social::UserManager *this);
  void (__fastcall *_onAppSuspended)(Social::UserManager *this);
  std::shared_ptr<Social::UserCreationData> *(__fastcall *_prepareUserCreationData)(Social::UserManager *this, std::shared_ptr<Social::UserCreationData> *result, GameUserType, int, IMinecraftEventing *, std::shared_ptr<Options>, unsigned int);
  void (__fastcall *_onUserAdded)(Social::UserManager *this, const std::shared_ptr<Social::User> *);
};

# StoreBaseScreenController

struct __cppobj StoreBaseScreenController : MainMenuScreenController
{
  std::string mTitle;
  std::unique_ptr<DlcUIWrapper> mDlcUIWrapper;
  std::vector<std::shared_ptr<StoreVisualStyle>> mLayoutList;
  StoreUIStyleContainer mSections;
  bool mCoinPurchaseInProgress;
  bool mWasDownloadActive;
  bool mDirty;
  Social::UserPicturePath mGamerProfilePicPath;
};

# StoreUIStyleContainer

struct __cppobj StoreUIStyleContainer
{
  std::vector<std::shared_ptr<StoreVisualStyle>> mStyles;
};

# StoreBaseScreenController_vtbl

struct /*VFT*/ StoreBaseScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
  int (__fastcall *_getRowIndex)(StoreBaseScreenController *this, const int);
  int (__fastcall *_getColIndex)(StoreBaseScreenController *this, const int);
  int (__fastcall *_getLastRowIndex)(StoreBaseScreenController *this, const int);
  int (__fastcall *_getRemainderOffers)(StoreBaseScreenController *this, const int);
};

# StoreBaseScreenController::StoreRow

struct __cppobj StoreBaseScreenController::StoreRow
{
  std::string mRowName;
  std::string mTelemetryId;
  std::shared_ptr<CatalogCollection> mCollection;
  StoreSearchQuery mRowQuery;
};

# serialize<JigsawEditorData>

struct __cppobj serialize<JigsawEditorData>
{
};

# serialize<StructureSettings>

struct __cppobj serialize<StructureSettings>
{
};

# serialize<StructureEditorData>

struct __cppobj serialize<StructureEditorData>
{
};

# SyncedPhotoView

struct __cppobj SyncedPhotoView
{
  std::unordered_map<std::string,enum SyncedPhotoView::PhotoStatus> mPhotoStatus;
  PhotoStorage *mStorage;
  std::string mBookId;
  PacketSender *mPacketSender;
};

# StructureTelemetryServerData

struct __cppobj StructureTelemetryServerData
{
  bool mHasBeenActivatedByRedstone;
  bool mHasLoadedIntoUnloadedChunks;
  BlockPos mLastOffsetWhenLoadingIntoUnloadedChunks;
};

# StructureBlockActor

struct __cppobj __declspec(align(8)) StructureBlockActor : BlockActor
{
  StructureEditorData mStructureEditorData;
  StructureTelemetryServerData mTelemetryServerData;
  bool mIsPowered;
};

# StructureBlockActor_vtbl

struct /*VFT*/ StructureBlockActor_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 *);
};

# SoundUtils::EventSound

const struct __cppobj SoundUtils::EventSound
{
  std::string eventName;
  std::string soundName;
  float pitch;
  float volume;
};

# StoreCatalogRepository::StoreQueryCallback

struct __cppobj StoreCatalogRepository::StoreQueryCallback
{
  std::function<void __cdecl(std::vector<StoreCatalogItem *>,int,int,int)> mOnItemsRetrieved;
  std::function<void __cdecl(StoreCatalogItem const *)> mOnImageFetched;
};

# StoreGiftPromotionScreenController::PersonaImportTracker

struct __cppobj StoreGiftPromotionScreenController::PersonaImportTracker
{
  std::unique_ptr<DlcBatchModel> mDlcBatchModel;
  mce::UUID mPackId;
  std::function<void __cdecl(void)> mOnImportCompleteCallback;
};

# StoreGiftPromotionScreenController

struct __cppobj __declspec(align(8)) StoreGiftPromotionScreenController : PurchaseEnabledScreenController
{
  std::shared_ptr<PersonaScreenModel> mPersonaScreenModel;
  std::shared_ptr<DlcBatchCacheModel> mDlcBatchCacheModel;
  std::shared_ptr<GiftPromotionQuery> mGiftPromotionQuery;
  std::vector<std::shared_ptr<PromotionItem>> mItemsList;
  std::set<mce::UUID> mImportedPacks;
  std::vector<std::shared_ptr<StoreGiftPromotionScreenController::PersonaImportTracker>> mTrackedImports;
  std::shared_ptr<StoreGiftPromotionScreenController::PersonaImportTracker> mCurrentImportTracker;
  std::function<void __cdecl(void)> mOnCharacterUpdated;
  std::shared_ptr<PromotionItem> mCurrentPromoItem;
  unsigned int mCurrentItemIndex;
  unsigned int mCarouselPageOffset;
  int mCurrentScreenshotIndex;
  _BYTE mDirtyFlag[4];
  bool mHasRecievedCatalogContent;
  bool mIsUpdatingPersona;
  bool mNeedToRevertPersona;
};

# StoreGiftPromotionScreenController_vtbl

struct /*VFT*/ StoreGiftPromotionScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
  int (__fastcall *_getRowIndex)(StoreBaseScreenController *this, const int);
  int (__fastcall *_getColIndex)(StoreBaseScreenController *this, const int);
  int (__fastcall *_getLastRowIndex)(StoreBaseScreenController *this, const int);
  int (__fastcall *_getRemainderOffers)(StoreBaseScreenController *this, const int);
  void (__fastcall *onCatalogStatusUpdated)(PurchaseEnabledScreenController *this);
};

# SunsettingScreenController

struct __cppobj SunsettingScreenController : MainMenuScreenController
{
  std::string mTitleText;
  bool mDirty;
  Bedrock::PubSub::ScopedSubscription mSunsetOptionSubscription;
};

# SunsettingScreenController_vtbl

struct /*VFT*/ SunsettingScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
};

# SunsettingScreenController::_registerEventHandlers::__l2::<lambda_807310196f6c0920e12b4c0463f922e7>

struct __cppobj SunsettingScreenController::_registerEventHandlers::__l2::<lambda_807310196f6c0920e12b4c0463f922e7>
{
  SunsettingScreenController *const __this;
};

# SunsettingScreenController::_registerEventHandlers::__l2::<lambda_c099f805792d83fcf651eb1d18e9ad85>

struct __cppobj SunsettingScreenController::_registerEventHandlers::__l2::<lambda_c099f805792d83fcf651eb1d18e9ad85>
{
  SunsettingScreenController *const __this;
};

# SunsettingScreenController::_registerBindings::__l2::<lambda_854513f2c137812c296c23656504166e>

struct __cppobj SunsettingScreenController::_registerBindings::__l2::<lambda_854513f2c137812c296c23656504166e>
{
  SunsettingScreenController *const __this;
};

# SunsettingScreenController::_registerBindings::__l2::<lambda_a7bf1e2cd0fa4bc2c22e86aee7204fca>

struct __cppobj SunsettingScreenController::_registerBindings::__l2::<lambda_a7bf1e2cd0fa4bc2c22e86aee7204fca>
{
  SunsettingScreenController *const __this;
};

# SunsettingScreenController::_registerBindings::__l2::<lambda_4e984e9f76b3e0c38c1a70d5a3423e36>

struct __cppobj SunsettingScreenController::_registerBindings::__l2::<lambda_4e984e9f76b3e0c38c1a70d5a3423e36>
{
  SunsettingScreenController *const __this;
};

# SunsettingScreenController::_registerBindings::__l2::<lambda_7df8f25723093e9e016fef7a49761d9d>

struct __cppobj SunsettingScreenController::_registerBindings::__l2::<lambda_7df8f25723093e9e016fef7a49761d9d>
{
};

# SunsettingScreenController::_registerBindings::__l2::<lambda_a909d5c6ce90698639eda46ea5d3ecfa>

struct __cppobj SunsettingScreenController::_registerBindings::__l2::<lambda_a909d5c6ce90698639eda46ea5d3ecfa>
{
  SunsettingScreenController *const __this;
};

# SunsettingScreenController::onCreation::__l2::<lambda_4f419ba9854ba4eca64d973bbc79fe9a>

struct __cppobj SunsettingScreenController::onCreation::__l2::<lambda_4f419ba9854ba4eca64d973bbc79fe9a>
{
  std::weak_ptr<SunsettingScreenController> weakThis;
};

# Social::<lambda_090c7f881592f8538412bd6421d0c576>

struct __cppobj Social::<lambda_090c7f881592f8538412bd6421d0c576>
{
};

# Social::<lambda_e5e1c1da8e49460c5125e0ca36e062c4>

struct __cppobj Social::<lambda_e5e1c1da8e49460c5125e0ca36e062c4>
{
};

# StoreProgressHandler

struct __cppobj __declspec(align(8)) StoreProgressHandler : ProgressHandler
{
  std::function<void __cdecl(bool &)> mOnTick;
  std::function<void __cdecl(void)> mOnCancel;
  std::string mTitleText;
  bool mDone;
};

# StoreProgressHandler_vtbl

struct /*VFT*/ StoreProgressHandler_vtbl
{
  void (__fastcall *~ProgressHandler)(ProgressHandler *this);
  void (__fastcall *onStart)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *tick)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onCancel)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onExit)(ProgressHandler *this, MinecraftScreenModel *);
  LoadingState (__fastcall *getLoadingState)(ProgressHandler *this, MinecraftScreenModel *);
  float (__fastcall *getLoadingProgress)(ProgressHandler *this, MinecraftScreenModel *);
  std::string *(__fastcall *getProgressMessage)(ProgressHandler *this, std::string *result, MinecraftScreenModel *);
  void (__fastcall *addEventProperties)(ProgressHandler *this, std::unordered_map<std::string,std::string> *);
  std::string *(__fastcall *getTTSProgressMessage)(ProgressHandler *this, std::string *result);
  std::string *(__fastcall *getTitleText)(ProgressHandler *this, std::string *result);
  ProgressAnimation (__fastcall *showLoadingBar)(ProgressHandler *this);
};

# ServiceLocator<IMinecraftEventing>

struct __cppobj ServiceLocator<IMinecraftEventing>
{
};

# Social::XboxLiveServices

struct __cppobj Social::XboxLiveServices
{
};

# Social::XboxLiveSignInHandler

struct __cppobj Social::XboxLiveSignInHandler : std::enable_shared_from_this<Social::XboxLiveSignInHandler>
{
  Social::XboxLiveSignInHandler_vtbl *__vftable /*VFT*/;
  std::atomic<bool> mAttemptingSignIn;
  XalPlatformOperationToken *mRemoteConnectOperation;
};

# Social::XboxLiveSignInHandler_vtbl

struct /*VFT*/ Social::XboxLiveSignInHandler_vtbl
{
  void (__fastcall *~XboxLiveSignInHandler)(Social::XboxLiveSignInHandler *this);
  void (__fastcall *interactiveSignIn)(Social::XboxLiveSignInHandler *this, std::weak_ptr<Social::XboxLiveUser>, std::function<void __cdecl(enum Social::SignInResult,std::string const &,bool)>, std::function<void __cdecl(std::string,std::string)>);
  void (__fastcall *silentSignIn)(Social::XboxLiveSignInHandler *this, std::weak_ptr<Social::XboxLiveUser>, std::function<void __cdecl(enum Social::SignInResult,std::string const &,bool)>);
};

# serialize<SyncedPlayerMovementSettings>

struct __cppobj serialize<SyncedPlayerMovementSettings>
{
};

# SyncChunkPosPacket

struct __cppobj __declspec(align(8)) SyncChunkPosPacket
{
  ChunkPos chunkPos;
  AutomaticID<Dimension,int> dimensionType;
};

# serialize<MoveActorAbsoluteData>

struct __cppobj serialize<MoveActorAbsoluteData>
{
};

# SendEventGoal

struct __cppobj SendEventGoal : Goal
{
  Mob *mCaster;
  TempEPtr<Actor> mTarget;
  std::vector<SendEventData> mSpells;
  int mCurrentTick;
  int mCastTicksRemaining;
  int mCurrentSpellIndex;
  int mCurrentSpellStage;
  unsigned __int64 mCooldownStopTick;
};

# SendEventGoal_vtbl

struct /*VFT*/ SendEventGoal_vtbl
{
  void (__fastcall *~Goal)(Goal *this);
  bool (__fastcall *canUse)(Goal *this);
  bool (__fastcall *canContinueToUse)(Goal *this);
  bool (__fastcall *canBeInterrupted)(Goal *this);
  void (__fastcall *start)(Goal *this);
  void (__fastcall *stop)(Goal *this);
  void (__fastcall *tick)(Goal *this);
  void (__fastcall *appendDebugInfo)(Goal *this, std::string *);
  bool (__fastcall *isTargetGoal)(Goal *this);
  void (__fastcall *onPlayerDimensionChanged)(Goal *this, Player *, AutomaticID<Dimension,int>);
};

# SummonActorGoal

struct __cppobj SummonActorGoal : Goal
{
  Mob *mCaster;
  std::vector<SummonSpellData> mSpells;
  int mCurrentTick;
  int mCastTicksRemaining;
  int mCurrentSpellIndex;
  int mCurrentSpellStage;
  int mCurrentSummonCount;
  unsigned __int64 mCooldownStopTick;
  Vec3 mTargetPos;
  Vec3 mCasterPos;
};

# SummonActorGoal_vtbl

struct /*VFT*/ SummonActorGoal_vtbl
{
  void (__fastcall *~Goal)(Goal *this);
  bool (__fastcall *canUse)(Goal *this);
  bool (__fastcall *canContinueToUse)(Goal *this);
  bool (__fastcall *canBeInterrupted)(Goal *this);
  void (__fastcall *start)(Goal *this);
  void (__fastcall *stop)(Goal *this);
  void (__fastcall *tick)(Goal *this);
  void (__fastcall *appendDebugInfo)(Goal *this, std::string *);
  bool (__fastcall *isTargetGoal)(Goal *this);
  void (__fastcall *onPlayerDimensionChanged)(Goal *this, Player *, AutomaticID<Dimension,int>);
};

# SharedAttributes

struct __cppobj SharedAttributes
{
};

# Social::<lambda_a803a48e30207c340f5fec77f07e2189>

struct __cppobj Social::<lambda_a803a48e30207c340f5fec77f07e2189>
{
};

# Social::<lambda_443f693452a8e8e74994b9939143d69f>

struct __cppobj Social::<lambda_443f693452a8e8e74994b9939143d69f>
{
};

# static_vector<Pos,27>

struct __cppobj static_vector<Pos,27>
{
  std::_Align_type<int,12> mArray[27];
  unsigned __int64 mSize;
};

# ServiceLocator<FeatureToggles>

struct __cppobj ServiceLocator<FeatureToggles>
{
};

# Social::PlayFabApi

struct __cppobj Social::PlayFabApi
{
};

# SoulsandValleyMoodSoundPlayer

struct __cppobj SoulsandValleyMoodSoundPlayer
{
};

# SoundOptions

struct __cppobj SoundOptions
{
  std::unordered_map<std::string,SoundOptions::VolumeSlider> mVolumeSliders;
  Bedrock::NonOwnerPointer<SoundPlayerInterface> mSoundEngine;
};

# SPIEntitlementManager

struct __cppobj __declspec(align(8)) SPIEntitlementManager : IEntitlementManager, ServiceClient, std::enable_shared_from_this<SPIEntitlementManager>
{
  MPMCQueue<std::function<void __cdecl(void)> > mCallbackQueue;
  bool mInitialized;
  IMinecraftEventing *mEventing;
  Bedrock::NonOwnerPointer<Social::IUserManager> mUserManager;
  std::shared_ptr<CommerceIdentity> mCommerceIdentity;
  std::atomic<unsigned int> mCoinBalance;
  std::atomic<unsigned int> mNumberOfActiveCoinPurchaseProcesses;
  std::unordered_map<ContentIdentity,Entitlement> mInventory;
  std::mutex mInventoryChangeMutex;
  std::vector<std::weak_ptr<EntitlementChangeListener>> mEntitlementChangeListeners;
  std::vector<std::weak_ptr<EntitlementChangeListener>> mEntitlementChangeListenersToAdd;
  std::mutex mEntitlementChangeListenerToAddMutex;
  std::vector<std::weak_ptr<EntitlementChangeListener>> mInventoryEntitlementListeners;
  std::vector<std::weak_ptr<EntitlementChangeListener>> mInventoryEntitlementListenersToAdd;
  std::mutex mInventoryEntitlementListenerToAddMutex;
  std::atomic<bool> mInventoryRefreshStarted;
  std::atomic<bool> mInventoryRefreshed;
  std::atomic<bool> mRetainCacheMode;
  bool mHaveCachedLegacyOfferInfo;
  std::string mPlatformStoreName;
  std::vector<PurchaseInfo> mLegacyDurables;
  std::string mReceipt;
  std::string mImposterXUID;
  bool mEntitlementManagerNeedsToBeRebooted;
};

# SPIEntitlementManager_vtbl

struct /*VFT*/ SPIEntitlementManager_vtbl
{
  void (__fastcall *~IEntitlementManager)(IEntitlementManager *this);
  void (__fastcall *tick)(IEntitlementManager *this);
  void (__fastcall *refreshBalance)(IEntitlementManager *this);
  void (__fastcall *refreshInventory)(IEntitlementManager *this);
  std::string *(__fastcall *getInventoryId)(IEntitlementManager *this, std::string *result);
  std::string *(__fastcall *getWalletId)(IEntitlementManager *this, std::string *result);
  std::string *(__fastcall *getCommerceUserID)(IEntitlementManager *this, std::string *result);
  void (__fastcall *processLegacyOfferOwnership)(IEntitlementManager *this, const std::string *, bool, const std::vector<PurchaseInfo> *, const std::string *);
  void (__fastcall *purchaseCoinOffer)(IEntitlementManager *this, const std::string *, const PurchaseInfo *, const std::string *, std::function<void __cdecl(bool)>);
  const std::string *(__fastcall *getTenant)(IEntitlementManager *this);
  void (__fastcall *processExternalStorePurchases)(IEntitlementManager *this, StorePlatform, const std::string *);
  void (__fastcall *processRealmsCoinOfferPurchase)(IEntitlementManager *this, const std::string *, const std::string *, const std::string *, bool, const std::string *, std::function<void __cdecl(enum SendReceiptRealmsResult,Realms::World)>);
  int (__fastcall *getBalance)(IEntitlementManager *this);
  bool (__fastcall *supportsDeviceAccounts)(IEntitlementManager *this);
  bool (__fastcall *hasAnActiveDeviceAccount)(IEntitlementManager *this);
  bool (__fastcall *hasDeviceAccountBeenUsed)(IEntitlementManager *this);
  void (__fastcall *refreshEntitlements)(IEntitlementManager *this);
  void (__fastcall *setRetainedCacheMode)(IEntitlementManager *this, bool);
  StorePlatform (__fastcall *getCommerceStoreNameFromPlatformStoreName)(IEntitlementManager *this, const std::string *);
  Entitlement *(__fastcall *getEntitlement)(IEntitlementManager *this, const ContentIdentity *);
  std::vector<mce::UUID> *(__fastcall *getOwnedEntitlementIds)(IEntitlementManager *this, std::vector<mce::UUID> *result);
  void (__fastcall *getEntitlementsByCreator)(IEntitlementManager *this, const std::string *, std::vector<Entitlement> *);
  void (__fastcall *purchaseCatalogOffer)(IEntitlementManager *this, const std::string *, const std::string *, const std::string *, IMinecraftEventing::StoreType, const std::string *, const std::string *, std::function<void __cdecl(enum TransactionStatus)>);
  bool (__fastcall *iapSyncAvailable)(IEntitlementManager *this);
  void (__fastcall *syncIAPs)(IEntitlementManager *this, std::function<void __cdecl(bool)>);
  void (__fastcall *transferDeviceAccountToXboxLive)(IEntitlementManager *this, std::function<void __cdecl(bool)>);
  void (__fastcall *setDeviceEntitlements)(IEntitlementManager *this, const std::vector<PurchaseInfo> *);
  void (__fastcall *addEntitlementChangeListener)(IEntitlementManager *this, std::weak_ptr<EntitlementChangeListener>);
  void (__fastcall *addEntitlementInventoryRefreshListener)(IEntitlementManager *this, std::weak_ptr<EntitlementChangeListener>);
  int (__fastcall *getTransferStatusCode)(IEntitlementManager *this);
  const std::string *(__fastcall *getTransferErrorCorrelationId)(IEntitlementManager *this, const std::string *result);
  bool (__fastcall *hasAccountTransferError)(IEntitlementManager *this);
  bool (__fastcall *hasUnresolvedAccountTransfer)(IEntitlementManager *this);
  bool (__fastcall *hasShownAccountTransferErrorDialog)(IEntitlementManager *this);
  void (__fastcall *setAccountTransferErrorDialogAsShown)(IEntitlementManager *this);
  bool (__fastcall *findLegacyUID)(IEntitlementManager *this, const std::string *, std::vector<std::string> *);
  bool (__fastcall *isProcessingStoreCoinPurchase)(IEntitlementManager *this);
};

# Social::<lambda_44bf41d6c9ba9067506f842c2e0a499c>

struct __cppobj Social::<lambda_44bf41d6c9ba9067506f842c2e0a499c>
{
};

# Social::<lambda_6c873b302b7bcb7495bf50180e322504>

struct __cppobj Social::<lambda_6c873b302b7bcb7495bf50180e322504>
{
};

# ServiceLocator<OfferRepository>

struct __cppobj ServiceLocator<OfferRepository>
{
};

# Social::<lambda_39274a8fc71db3380c3a9fc4843b4d4e>

struct __cppobj Social::<lambda_39274a8fc71db3380c3a9fc4843b4d4e>
{
};

# Social::<lambda_fd5784e2faa2ea9d78446f613f7052b5>

struct __cppobj Social::<lambda_fd5784e2faa2ea9d78446f613f7052b5>
{
};

# Social::<lambda_a457e57f728e2ec329a262fb7b132d64>

struct __cppobj Social::<lambda_a457e57f728e2ec329a262fb7b132d64>
{
};

# Social::<lambda_9c90971a3871e9509edf0acb985f462c>

struct __cppobj Social::<lambda_9c90971a3871e9509edf0acb985f462c>
{
};

# StackedGraphBars::ColorKey

struct __cppobj StackedGraphBars::ColorKey
{
  char colorTag;
  std::string name;
};

# StackedGraphBars

struct __cppobj __declspec(align(8)) StackedGraphBars
{
  std::vector<std::array<float,2>> mData;
  std::vector<StackedGraphBars::ColorKey> mColors;
  float mHeight;
  std::string mGraphName;
  int mMaxBars;
};

# SHELLHOOKINFO

struct SHELLHOOKINFO
{
  HWND__ *hwnd;
  tagRECT rc;
};

# sockaddr_in6_old

struct sockaddr_in6_old
{
  __int16 sin6_family;
  unsigned __int16 sin6_port;
  unsigned int sin6_flowinfo;
  in6_addr sin6_addr;
};

# SC_HANDLE__

struct SC_HANDLE__
{
  int unused;
};

# SYSTEM_POWER_LEVEL

struct SYSTEM_POWER_LEVEL
{
  unsigned __int8 Enable;
  unsigned __int8 Spare[3];
  unsigned int BatteryLevel;
  POWER_ACTION_POLICY PowerPolicy;
  _SYSTEM_POWER_STATE MinSystemState;
};

# sockaddr_in6_w2ksp1

struct sockaddr_in6_w2ksp1
{
  __int16 sin6_family;
  unsigned __int16 sin6_port;
  unsigned int sin6_flowinfo;
  in6_addr sin6_addr;
  unsigned int sin6_scope_id;
};

# sockaddr_storage_xp

struct sockaddr_storage_xp
{
  __int16 ss_family;
  char __ss_pad1[6];
  __int64 __ss_align;
  char __ss_pad2[112];
};

# sockproto

struct sockproto
{
  unsigned __int16 sp_family;
  unsigned __int16 sp_protocol;
};

# servent

struct __declspec(align(8)) servent
{
  char *s_name;
  char **s_aliases;
  char *s_proto;
  __int16 s_port;
};

# SERVICE_STATUS_HANDLE__

struct SERVICE_STATUS_HANDLE__
{
  int unused;
};

# SERVICE_TRIGGER_CUSTOM_STATE_ID

struct SERVICE_TRIGGER_CUSTOM_STATE_ID
{
  unsigned int Data[2];
};

# stat

struct stat
{
  unsigned int st_dev;
  unsigned __int16 st_ino;
  unsigned __int16 st_mode;
  __int16 st_nlink;
  __int16 st_uid;
  __int16 st_gid;
  unsigned int st_rdev;
  int st_size;
  __int64 st_atime;
  __int64 st_mtime;
  __int64 st_ctime;
};

# SYSTEM_BATTERY_STATE

struct SYSTEM_BATTERY_STATE
{
  unsigned __int8 AcOnLine;
  unsigned __int8 BatteryPresent;
  unsigned __int8 Charging;
  unsigned __int8 Discharging;
  unsigned __int8 Spare1[3];
  unsigned __int8 Tag;
  unsigned int MaxCapacity;
  unsigned int RemainingCapacity;
  unsigned int Rate;
  unsigned int EstimatedTime;
  unsigned int DefaultAlert1;
  unsigned int DefaultAlert2;
};

# SET_POWER_SETTING_VALUE

struct __declspec(align(4)) SET_POWER_SETTING_VALUE
{
  unsigned int Version;
  _GUID Guid;
  SYSTEM_POWER_CONDITION PowerCondition;
  unsigned int DataLength;
  unsigned __int8 Data[1];
};

# SYSTEM_POWER_CAPABILITIES

struct SYSTEM_POWER_CAPABILITIES
{
  unsigned __int8 PowerButtonPresent;
  unsigned __int8 SleepButtonPresent;
  unsigned __int8 LidPresent;
  unsigned __int8 SystemS1;
  unsigned __int8 SystemS2;
  unsigned __int8 SystemS3;
  unsigned __int8 SystemS4;
  unsigned __int8 SystemS5;
  unsigned __int8 HiberFilePresent;
  unsigned __int8 FullWake;
  unsigned __int8 VideoDimPresent;
  unsigned __int8 ApmPresent;
  unsigned __int8 UpsPresent;
  unsigned __int8 ThermalControl;
  unsigned __int8 ProcessorThrottle;
  unsigned __int8 ProcessorMinThrottle;
  unsigned __int8 ProcessorMaxThrottle;
  unsigned __int8 FastSystemS4;
  unsigned __int8 Hiberboot;
  unsigned __int8 WakeAlarmPresent;
  unsigned __int8 AoAc;
  unsigned __int8 DiskSpinDown;
  unsigned __int8 spare3[8];
  unsigned __int8 SystemBatteriesPresent;
  unsigned __int8 BatteriesAreShortTerm;
  BATTERY_REPORTING_SCALE BatteryScale[3];
  _SYSTEM_POWER_STATE AcOnLineWake;
  _SYSTEM_POWER_STATE SoftLidWake;
  _SYSTEM_POWER_STATE RtcWake;
  _SYSTEM_POWER_STATE MinDeviceWakeState;
  _SYSTEM_POWER_STATE DefaultLowLatencyWake;
};

# SChannelHookCallInfo

struct SChannelHookCallInfo
{
  _GUID iid;
  unsigned int cbSize;
  _GUID uCausality;
  unsigned int dwServerPid;
  unsigned int iMethod;
  void *pObject;
};

# sockaddr_dl

struct sockaddr_dl
{
  unsigned __int16 sdl_family;
  unsigned __int8 sdl_data[8];
  unsigned __int8 sdl_zero[4];
};

# SleepActivationRule

struct __cppobj SleepActivationRule : ActivationRule
{
};

# SleepActivationRule_vtbl

struct /*VFT*/ SleepActivationRule_vtbl
{
  void (__fastcall *~ActivationRule)(ActivationRule *this);
  std::unique_ptr<ActivationRule> *(__fastcall *create)(ActivationRule *this, std::unique_ptr<ActivationRule> *result, Json::Value *);
  bool (__fastcall *evaluate)(ActivationRule *this, const IClientInstance *, float, const Camera *);
};

# StartServerResult

struct __cppobj StartServerResult : Bedrock::Threading::IAsyncResult<void>
{
  std::atomic<enum Bedrock::Threading::AsyncStatus> mStatus;
  std::error_code mErrorCode;
  std::exception_ptr mExceptionPtr;
};

# StartServerResult_vtbl

struct /*VFT*/ StartServerResult_vtbl
{
  void (__fastcall *~IAsyncResult<void>)(Bedrock::Threading::IAsyncResult<void> *this);
  Bedrock::Threading::AsyncStatus (__fastcall *getStatus)(Bedrock::Threading::IAsyncResult<void> *this);
  std::error_code *(__fastcall *getError)(Bedrock::Threading::IAsyncResult<void> *this, std::error_code *result);
  std::exception_ptr *(__fastcall *getException)(Bedrock::Threading::IAsyncResult<void> *this, std::exception_ptr *result);
  void (__fastcall *cancel)(Bedrock::Threading::IAsyncResult<void> *this);
  void (__fastcall *addOnComplete)(Bedrock::Threading::IAsyncResult<void> *this, std::function<void __cdecl(Bedrock::Threading::IAsyncResult<void> const &)>);
};

# SkinInfoData_vtbl

struct /*VFT*/ SkinInfoData_vtbl
{
  void (__fastcall *~SkinInfoData)(SkinInfoData *this);
  void (__fastcall *updateSkin)(SkinInfoData *this, const SerializedSkin *, const mce::Image *, const mce::Image *);
  void (__fastcall *updateSkinNe)(SkinInfoData *this, const SerializedSkin *, const mce::Image *, const mce::Image *, const mce::Image *);
  bool (__fastcall *hasValidTexture)(SkinInfoData *this);
  bool (__fastcall *validateAndResizeSkinData)(SkinInfoData *this, mce::Image *, bool);
};

# SleepBehavior

struct __cppobj __declspec(align(8)) SleepBehavior : CameraBehavior<SleepBehavior>
{
  std::function<float __cdecl(float,float,float)> mEase;
  Vec3 mPreRotationOffset;
  Vec3 mPreRotationOffsetVR;
  Vec3 mPostRotationOffset;
};

# SleepBehavior_vtbl

struct /*VFT*/ SleepBehavior_vtbl
{
  void (__fastcall *~ICameraBehavior)(ICameraBehavior *this);
  void (__fastcall *onSetup)(ICameraBehavior *this, IClientInstance *, CameraDirector *);
  void (__fastcall *onStart)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *update)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *handleLookInput)(ICameraBehavior *this, Vec2 *, CameraDirector *);
  void (__fastcall *renderDebug)(ICameraBehavior *this, IClientInstance *, float, CameraDirector *);
  bool (__fastcall *handleCameraSetRot)(ICameraBehavior *this, const Vec2 *, CameraDirector *);
  HashedString *(__fastcall *getId)(ICameraBehavior *this, HashedString *result);
  ICameraBehavior::UpdateOrder (__fastcall *getUpdateOrder)(ICameraBehavior *this);
};

# SneakBehavior

struct __cppobj SneakBehavior : CameraBehavior<SneakBehavior>
{
  float mCameraInterpolationRate;
  float mSneakOffset;
};

# SneakBehavior_vtbl

struct /*VFT*/ SneakBehavior_vtbl
{
  void (__fastcall *~ICameraBehavior)(ICameraBehavior *this);
  void (__fastcall *onSetup)(ICameraBehavior *this, IClientInstance *, CameraDirector *);
  void (__fastcall *onStart)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *update)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *handleLookInput)(ICameraBehavior *this, Vec2 *, CameraDirector *);
  void (__fastcall *renderDebug)(ICameraBehavior *this, IClientInstance *, float, CameraDirector *);
  bool (__fastcall *handleCameraSetRot)(ICameraBehavior *this, const Vec2 *, CameraDirector *);
  HashedString *(__fastcall *getId)(ICameraBehavior *this, HashedString *result);
  ICameraBehavior::UpdateOrder (__fastcall *getUpdateOrder)(ICameraBehavior *this);
};

# SplineBehavior

struct __cppobj SplineBehavior : CameraBehavior<SplineBehavior>
{
  CriticallyDampedSpring<Vec3> mSmoothingSpring;
  float mSplineVelocity;
  float mSplineDistance;
  Vec3 mSpringVelocity;
  CatmullRomSpline mSpline;
};

# SplineBehavior_vtbl

struct /*VFT*/ SplineBehavior_vtbl
{
  void (__fastcall *~ICameraBehavior)(ICameraBehavior *this);
  void (__fastcall *onSetup)(ICameraBehavior *this, IClientInstance *, CameraDirector *);
  void (__fastcall *onStart)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *update)(ICameraBehavior *this, IClientInstance *, float, float, CameraDirector *);
  void (__fastcall *handleLookInput)(ICameraBehavior *this, Vec2 *, CameraDirector *);
  void (__fastcall *renderDebug)(ICameraBehavior *this, IClientInstance *, float, CameraDirector *);
  bool (__fastcall *handleCameraSetRot)(ICameraBehavior *this, const Vec2 *, CameraDirector *);
  HashedString *(__fastcall *getId)(ICameraBehavior *this, HashedString *result);
  ICameraBehavior::UpdateOrder (__fastcall *getUpdateOrder)(ICameraBehavior *this);
};

# SleepBehaviorLoader

struct __cppobj SleepBehaviorLoader : CameraBehaviorLoader
{
};

# SleepBehaviorLoader_vtbl

struct /*VFT*/ SleepBehaviorLoader_vtbl
{
  void (__fastcall *~CameraBehaviorLoader)(CameraBehaviorLoader *this);
  std::unique_ptr<ICameraBehavior> *(__fastcall *create)(CameraBehaviorLoader *this, std::unique_ptr<ICameraBehavior> *result);
  void (__fastcall *parse)(CameraBehaviorLoader *this, Json::Value *, ICameraBehavior *);
};

# SneakBehaviorLoader

struct __cppobj SneakBehaviorLoader : CameraBehaviorLoader
{
};

# SneakBehaviorLoader_vtbl

struct /*VFT*/ SneakBehaviorLoader_vtbl
{
  void (__fastcall *~CameraBehaviorLoader)(CameraBehaviorLoader *this);
  std::unique_ptr<ICameraBehavior> *(__fastcall *create)(CameraBehaviorLoader *this, std::unique_ptr<ICameraBehavior> *result);
  void (__fastcall *parse)(CameraBehaviorLoader *this, Json::Value *, ICameraBehavior *);
};

# SplineBehaviorLoader

struct __cppobj SplineBehaviorLoader : CameraBehaviorLoader
{
};

# SplineBehaviorLoader_vtbl

struct /*VFT*/ SplineBehaviorLoader_vtbl
{
  void (__fastcall *~CameraBehaviorLoader)(CameraBehaviorLoader *this);
  std::unique_ptr<ICameraBehavior> *(__fastcall *create)(CameraBehaviorLoader *this, std::unique_ptr<ICameraBehavior> *result);
  void (__fastcall *parse)(CameraBehaviorLoader *this, Json::Value *, ICameraBehavior *);
};

# serialize<CommandOriginData>

struct __cppobj serialize<CommandOriginData>
{
};

# SkinAnimationMapping

struct __cppobj SkinAnimationMapping
{
  std::string shortName;
  std::string identifier;
};

# ServiceLocator<AppConfigs>

struct __cppobj ServiceLocator<AppConfigs>
{
};

# SPSCQueue<std::function<void __cdecl(void)>,512>::Block

struct __cppobj SPSCQueue<std::function<void __cdecl(void)>,512>::Block
{
  Lockless::WeakAtomic<unsigned __int64> front;
  unsigned __int64 localTail;
  char cachelineFiller0[48];
  Lockless::WeakAtomic<unsigned __int64> tail;
  unsigned __int64 localFront;
  char cachelineFiller1[48];
  Lockless::WeakAtomic<SPSCQueue<std::function<void __cdecl(void)>,512>::Block *> next;
  char *data;
  const unsigned __int64 sizeMask;
  char *rawThis;
};

# ServerPlayer::NearbyActor

struct __cppobj __declspec(align(8)) ServerPlayer::NearbyActor
{
  bool isAutonomous;
  __declspec(align(4)) _BYTE state[4];
  Actor *tempActor;
  bool isKeepInClient;
};

# ServerMoveInputHandler

struct __cppobj ServerMoveInputHandler : MoveInputHandler
{
};

# ServerMoveInputHandler_vtbl

struct /*VFT*/ ServerMoveInputHandler_vtbl
{
  void (__fastcall *~MoveInput)(MoveInput *this);
  void (__fastcall *tick)(MoveInput *this, IPlayerMovementProxy *);
  void (__fastcall *render)(MoveInput *this, float);
  void (__fastcall *setKey)(MoveInput *this, int, bool);
  void (__fastcall *clearInputState)(MoveInput *this);
  void (__fastcall *clearMovementState)(MoveInput *this);
  bool (__fastcall *allowPicking)(MoveInput *this, float, float);
  void (__fastcall *setJumping)(MoveInput *this, bool);
  void (__fastcall *setAutoJumpingInWater)(MoveInput *this, bool);
  bool (__fastcall *isChangeHeight)(MoveInput *this);
  void (__fastcall *setSneakDown)(MoveInput *this, bool);
  bool (__fastcall *isPlayerMoving)(MoveInput *this);
  const Vec3 *(__fastcall *getGazeDirection)(MoveInput *this);
  void (__fastcall *fillInputPacket)(MoveInputHandler *this, PlayerAuthInputPacket *);
  void (__fastcall *registerInputHandlers)(MoveInputHandler *this, InputHandler *);
  std::unique_ptr<IReplayableActorInput> *(__fastcall *createSnapshot)(MoveInputHandler *this, std::unique_ptr<IReplayableActorInput> *result);
};

# ServerPlayer

struct __cppobj ServerPlayer : Player
{
  NetworkHandler *mNetworkHandler;
  std::function<void __cdecl(ServerPlayer &)> mOnPlayerLoadedCallback;
  NetworkChunkPublisher mChunkPublisherView;
  InventoryMenu mInventoryMenu;
  ContainerID mContainerCounter;
  unsigned int mMaxChunkRadius;
  bool mLoading;
  bool mIsTeacher;
  bool mTeleportedThisTick;
  bool mLocalPlayerInitialized;
  Tick mPrevShieldBlockingTick;
  std::unique_ptr<CompoundTag> mLostDataTag;
  unsigned int mClientViewRadius;
  unsigned int mClientRequestedRadius;
  int mRemainingStructureRefreshTicks;
  StructureFeatureType mCurrentStructureFeature;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastKnownSyncTime;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastKnownDesyncTime;
  float mCheatingStrikeScore;
  std::unordered_map<ActorUniqueID,ServerPlayer::NearbyActor> mNearbyActors;
  std::unique_ptr<ServerMoveInputHandler> mMoveInputHandler;
  InputMode mCurrentInputMode;
  ClientPlayMode mPlayMode;
  PlayerMovementTelemetryData mMovementData;
  CallbackToken mCloseContainerToken;
  std::string mLoginUid;
  Vec3 mLastValidRecvPos;
  bool mLastRecvOnground;
  bool mCameraDeparted;
  bool mThirdPersonPerspective;
  Vec2 mRotationToCamera;
};

# ServiceLocator<DataUtils::MiscData>

struct __cppobj ServiceLocator<DataUtils::MiscData>
{
};

# ServiceLocator<IRayTracingOptions>

struct __cppobj ServiceLocator<IRayTracingOptions>
{
};

# ServiceReference<NetworkDebugManager>

struct __cppobj ServiceReference<NetworkDebugManager>
{
  std::shared_lock<std::shared_mutex> mLock;
  Bedrock::NonOwnerPointer<NetworkDebugManager> mService;
};

# ServiceLocator<NetworkDebugManager>

struct __cppobj ServiceLocator<NetworkDebugManager>
{
};

# ScriptApi::EmptyScriptInterface

struct __cppobj ScriptApi::EmptyScriptInterface : ScriptApi::ScriptLanguageInterface
{
};

# ScriptApi::EmptyScriptInterface_vtbl

struct /*VFT*/ ScriptApi::EmptyScriptInterface_vtbl
{
  void (__fastcall *~ScriptLanguageInterface)(ScriptApi::ScriptLanguageInterface *this);
  bool (__fastcall *initialize)(ScriptApi::ScriptLanguageInterface *this);
  bool (__fastcall *shutdown)(ScriptApi::ScriptLanguageInterface *this);
  bool (__fastcall *initialized)(ScriptApi::ScriptLanguageInterface *this);
  bool (__fastcall *runScript)(ScriptApi::ScriptLanguageInterface *this, const std::string *, const std::string *, ScriptApi::ScriptReport *);
  bool (__fastcall *createObject)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *createArray)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, const int *, ScriptApi::ScriptReport *);
  bool (__fastcall *cloneObject)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *hasMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const int *, bool *, ScriptApi::ScriptReport *);
  bool (__fastcall *hasMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::string *, bool *, ScriptApi::ScriptReport *);
  bool (__fastcall *setMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const int *, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *setMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::string *, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *getMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const int *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *getMember)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *setValue)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, bool, ScriptApi::ScriptReport *);
  bool (__fastcall *setValue)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, const std::string *, ScriptApi::ScriptReport *);
  bool (__fastcall *setValue)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, long double, ScriptApi::ScriptReport *);
  bool (__fastcall *setValue)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, int, ScriptApi::ScriptReport *);
  bool (__fastcall *getValue)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, bool *, ScriptApi::ScriptReport *);
  bool (__fastcall *getValue)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, std::string *, ScriptApi::ScriptReport *);
  bool (__fastcall *getValue)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, long double *, ScriptApi::ScriptReport *);
  bool (__fastcall *getValue)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, int *, ScriptApi::ScriptReport *);
  bool (__fastcall *callObjectFunction)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::string *, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *callGlobalFunction)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, const std::vector<ScriptApi::ScriptObjectHandle> *, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *getHandleType)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptObjectType *, ScriptApi::ScriptReport *);
  bool (__fastcall *getMemberNames)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, std::vector<std::string> *, ScriptApi::ScriptReport *);
  bool (__fastcall *getArrayLength)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, int *, ScriptApi::ScriptReport *);
  bool (__fastcall *getGlobalObject)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *createUndefined)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *createNull)(ScriptApi::ScriptLanguageInterface *this, ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineGlobalCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineConsoleCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineSystemSharedCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineSystemServerCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
  bool (__fastcall *defineSystemClientCallbacks)(ScriptApi::ScriptLanguageInterface *this, const ScriptApi::ScriptObjectHandle *, ScriptApi::ScriptCallbackInterface *, ScriptApi::ScriptReport *);
};

# ScriptApi::WORKAROUNDS::tempActorComponent

struct __cppobj ScriptApi::WORKAROUNDS::tempActorComponent
{
  ActorUniqueID mID;
};

# ScriptApi::WORKAROUNDS::tempLevelComponent

struct __cppobj ScriptApi::WORKAROUNDS::tempLevelComponent
{
};

# Social::<lambda_4951989daa4d24f0a9e4e63253abd18e>

struct __cppobj Social::<lambda_4951989daa4d24f0a9e4e63253abd18e>
{
};

# Social::<lambda_1b3578b298c639bea154403ee0cec1d9>

struct __cppobj Social::<lambda_1b3578b298c639bea154403ee0cec1d9>
{
};

# SPSCQueue<std::string,512>

struct __cppobj SPSCQueue<std::string,512>
{
  Lockless::WeakAtomic<SPSCQueue<std::string,512>::Block *> mFrontBlock;
  char mCachelineFiller[56];
  Lockless::WeakAtomic<SPSCQueue<std::string,512>::Block *> mTailBlock;
  unsigned __int64 mLargestBlockSize;
};

# StringByteOutput

struct __cppobj StringByteOutput : BytesDataOutput
{
  std::string *mBuffer;
};

# StringByteOutput_vtbl

struct /*VFT*/ StringByteOutput_vtbl
{
  void (__fastcall *~IDataOutput)(IDataOutput *this);
  void (__fastcall *writeString)(IDataOutput *this, gsl::basic_string_span<char const ,-1>);
  void (__fastcall *writeLongString)(IDataOutput *this, gsl::basic_string_span<char const ,-1>);
  void (__fastcall *writeFloat)(IDataOutput *this, float);
  void (__fastcall *writeDouble)(IDataOutput *this, long double);
  void (__fastcall *writeByte)(IDataOutput *this, char);
  void (__fastcall *writeShort)(IDataOutput *this, __int16);
  void (__fastcall *writeInt)(IDataOutput *this, int);
  void (__fastcall *writeLongLong)(IDataOutput *this, __int64);
  void (__fastcall *writeBytes)(IDataOutput *this, const void *, unsigned __int64);
  bool (__fastcall *isOk)(IDataOutput *this);
};

# StringByteInput_vtbl

struct /*VFT*/ StringByteInput_vtbl
{
  void (__fastcall *~IDataInput)(IDataInput *this);
  std::string *(__fastcall *readString)(IDataInput *this, std::string *result);
  std::string *(__fastcall *readLongString)(IDataInput *this, std::string *result);
  float (__fastcall *readFloat)(IDataInput *this);
  long double (__fastcall *readDouble)(IDataInput *this);
  char (__fastcall *readByte)(IDataInput *this);
  __int16 (__fastcall *readShort)(IDataInput *this);
  int (__fastcall *readInt)(IDataInput *this);
  __int64 (__fastcall *readLongLong)(IDataInput *this);
  bool (__fastcall *readBytes)(IDataInput *this, void *, unsigned __int64);
  unsigned __int64 (__fastcall *numBytesLeft)(IDataInput *this);
  bool (__fastcall *isOk)(IDataInput *this);
  bool (__fastcall *seek)(IDataInput *this, unsigned __int64);
};

# SPSCQueue<unsigned int,512>::Block

struct __cppobj SPSCQueue<unsigned int,512>::Block
{
  Lockless::WeakAtomic<unsigned __int64> front;
  unsigned __int64 localTail;
  char cachelineFiller0[48];
  Lockless::WeakAtomic<unsigned __int64> tail;
  unsigned __int64 localFront;
  char cachelineFiller1[48];
  Lockless::WeakAtomic<SPSCQueue<unsigned int,512>::Block *> next;
  char *data;
  const unsigned __int64 sizeMask;
  char *rawThis;
};

# ServiceLocator<mce::framebuilder::FrameBuilder>

struct __cppobj ServiceLocator<mce::framebuilder::FrameBuilder>
{
};

# ScriptLevelAreaBinderComponent

struct __cppobj ScriptLevelAreaBinderComponent : ScriptBinderComponent
{
  mce::UUID mUUID;
};

# ScriptLevelAreaBinderComponent_vtbl

struct /*VFT*/ ScriptLevelAreaBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptActorAreaBinderComponent

struct __cppobj ScriptActorAreaBinderComponent : ScriptBinderComponent
{
  ActorUniqueID mActorId;
};

# ScriptActorAreaBinderComponent_vtbl

struct /*VFT*/ ScriptActorAreaBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptOnlyComponents<ScriptClientContext>::ScriptOnly

struct __cppobj ScriptOnlyComponents<ScriptClientContext>::ScriptOnly
{
  std::map<std::string,Json::Value> mLookup;
};

# StoreSalesOffersQuery

struct __cppobj StoreSalesOffersQuery : SearchQuery
{
};

# StorePromoSearchQuery

struct __cppobj StorePromoSearchQuery : StoreSearchQuery
{
  const int mNumberOfOffers;
  std::string mRowNameOfferUnopened;
  std::string mRowNameOfferOpened;
  std::string mRowNameNoOffersLeft;
  std::string mRowNameComingSoon;
  std::string mUnlockDate;
};

# StoreSearchQueryFactory

struct __cppobj StoreSearchQueryFactory
{
};

# ScriptBinderItemStackTemplate

struct __cppobj ScriptBinderItemStackTemplate : ScriptBinderTemplate
{
};

# ScriptBinderItemStackTemplate_vtbl

struct /*VFT*/ ScriptBinderItemStackTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptLevelBinderComponent

struct __cppobj __declspec(align(8)) ScriptLevelBinderComponent : ScriptBinderComponent
{
  entt::entity mEcsId;
};

# ScriptLevelBinderComponent_vtbl

struct /*VFT*/ ScriptLevelBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptBinderLevelTemplate

struct __cppobj ScriptBinderLevelTemplate : ScriptBinderTemplate
{
};

# ScriptBinderLevelTemplate_vtbl

struct /*VFT*/ ScriptBinderLevelTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptBlockPositionBinderComponent

struct __cppobj __declspec(align(8)) ScriptBlockPositionBinderComponent : ScriptBinderComponent
{
  BlockPos mPosition;
};

# ScriptBlockPositionBinderComponent_vtbl

struct /*VFT*/ ScriptBlockPositionBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptTickingAreaBinderComponent

struct __cppobj __declspec(align(8)) ScriptTickingAreaBinderComponent : ScriptBinderComponent
{
  ScriptApi::ScriptObjectHandle mData;
};

# ScriptTickingAreaBinderComponent_vtbl

struct /*VFT*/ ScriptTickingAreaBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptActorUniqueIdBinderComponent

struct __cppobj ScriptActorUniqueIdBinderComponent : ScriptBinderComponent
{
  ActorUniqueID mActorId;
};

# ScriptActorUniqueIdBinderComponent_vtbl

struct /*VFT*/ ScriptActorUniqueIdBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptBinderItemActorTemplate

struct __cppobj ScriptBinderItemActorTemplate : ScriptBinderTemplate
{
};

# ScriptBinderItemActorTemplate_vtbl

struct /*VFT*/ ScriptBinderItemActorTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptBinderActorTemplate

struct __cppobj ScriptBinderActorTemplate : ScriptBinderTemplate
{
};

# ScriptBinderActorTemplate_vtbl

struct /*VFT*/ ScriptBinderActorTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptQueryBinderComponent

struct __cppobj __declspec(align(8)) ScriptQueryBinderComponent : ScriptBinderComponent
{
  entt::entity mEcsId;
};

# ScriptQueryBinderComponent_vtbl

struct /*VFT*/ ScriptQueryBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptBinderQueryTemplate

struct __cppobj ScriptBinderQueryTemplate : ScriptBinderTemplate
{
};

# ScriptBinderQueryTemplate_vtbl

struct /*VFT*/ ScriptBinderQueryTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptBinderActorTickingAreaTemplate

struct __cppobj ScriptBinderActorTickingAreaTemplate : ScriptBinderTemplate
{
};

# ScriptBinderActorTickingAreaTemplate_vtbl

struct /*VFT*/ ScriptBinderActorTickingAreaTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptBinderLevelTickingAreaTemplate

struct __cppobj ScriptBinderLevelTickingAreaTemplate : ScriptBinderTemplate
{
};

# ScriptBinderLevelTickingAreaTemplate_vtbl

struct /*VFT*/ ScriptBinderLevelTickingAreaTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptBinderBlockTemplate

struct __cppobj ScriptBinderBlockTemplate : ScriptBinderTemplate
{
};

# ScriptBinderBlockTemplate_vtbl

struct /*VFT*/ ScriptBinderBlockTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptComponentBinderComponent

struct __cppobj __declspec(align(8)) ScriptComponentBinderComponent : ScriptBinderComponent
{
  ScriptApi::ScriptObjectHandle mData;
};

# ScriptComponentBinderComponent_vtbl

struct /*VFT*/ ScriptComponentBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptIdentifierBinderComponent

struct __cppobj ScriptIdentifierBinderComponent : ScriptBinderComponent
{
  std::string mIdentifier;
};

# ScriptIdentifierBinderComponent_vtbl

struct /*VFT*/ ScriptIdentifierBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptBinderComponentTemplate

struct __cppobj ScriptBinderComponentTemplate : ScriptBinderTemplate
{
};

# ScriptBinderComponentTemplate_vtbl

struct /*VFT*/ ScriptBinderComponentTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptEcsBinderComponent

struct __cppobj __declspec(align(8)) ScriptEcsBinderComponent : ScriptBinderComponent
{
  entt::entity mEcsId;
};

# ScriptEcsBinderComponent_vtbl

struct /*VFT*/ ScriptEcsBinderComponent_vtbl
{
  void (__fastcall *~ScriptBinderComponent)(ScriptBinderComponent *this);
  bool (__fastcall *serialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
  bool (__fastcall *deserialize)(ScriptBinderComponent *this, ScriptEngine *, const ScriptApi::ScriptObjectHandle *);
};

# ScriptBinderPureEcsTemplate

struct __cppobj ScriptBinderPureEcsTemplate : ScriptBinderTemplate
{
};

# ScriptBinderPureEcsTemplate_vtbl

struct /*VFT*/ ScriptBinderPureEcsTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ScriptBinderEventDataTemplate

struct __cppobj ScriptBinderEventDataTemplate : ScriptBinderTemplate
{
};

# ScriptBinderEventDataTemplate_vtbl

struct /*VFT*/ ScriptBinderEventDataTemplate_vtbl
{
  void (__fastcall *~ScriptBinderTemplate)(ScriptBinderTemplate *this);
  const std::string *(__fastcall *getTemplateIdentifier)(ScriptBinderTemplate *this);
  void (__fastcall *applyTemplate)(ScriptBinderTemplate *this, ScriptObjectBinder *);
};

# ShooterItemComponent::ShooterAmmunitionEntry

struct __cppobj __declspec(align(8)) ShooterItemComponent::ShooterAmmunitionEntry
{
  ItemDescriptor itemDesc;
  bool useOffhand;
  bool searchInventory;
  bool useInCreative;
};

# ShooterItemComponent::DrawDuration

struct __cppobj ShooterItemComponent::DrawDuration
{
  float mDuration;
};

# ShooterItemComponent

struct __cppobj __declspec(align(8)) ShooterItemComponent : ItemComponent
{
  std::vector<ShooterItemComponent::ShooterAmmunitionEntry> mAmmunition;
  ShooterItemComponent::DrawDuration mDrawDuration;
  float mLaunchPowerScale;
  float mMaxLaunchPower;
  bool mScalePowerByDrawDuration;
  bool mChargeOnDraw;
  const float kMultishotAngleDelta;
};

# ShooterItemComponent_vtbl

struct /*VFT*/ ShooterItemComponent_vtbl
{
  void (__fastcall *~ItemComponent)(ItemComponent *this);
  bool (__fastcall *checkComponentDataForContentErrors)(ItemComponent *this);
  void (__fastcall *writeSettings)(ItemComponent *this);
  bool (__fastcall *useOn)(ItemComponent *this, ItemStack *, Actor *, const BlockPos *, unsigned __int8, const Vec3 *);
  bool (__fastcall *isNetworkComponent)(ItemComponent *this);
  std::unique_ptr<CompoundTag> *(__fastcall *buildNetworkTag)(ItemComponent *this, std::unique_ptr<CompoundTag> *result);
  void (__fastcall *initializeFromNetwork)(ItemComponent *this, const CompoundTag *);
};

# Social::<lambda_acbc67f15aaf0ba128bb83c5c6c80707>

struct __cppobj Social::<lambda_acbc67f15aaf0ba128bb83c5c6c80707>
{
};

# Social::<lambda_1ba478ff8211129fbe885f139a38480a>

struct __cppobj Social::<lambda_1ba478ff8211129fbe885f139a38480a>
{
};

# serialize<GameRulesChangedPacketData>

struct __cppobj serialize<GameRulesChangedPacketData>
{
};

# ScreenRenderer::QuadBuffer

struct __cppobj ScreenRenderer::QuadBuffer : std::vector<Vec2>
{
};

# ScriptRuntime

struct __cppobj ScriptRuntime
{
  ScriptRuntime_vtbl *__vftable /*VFT*/;
};

# ScriptInstance

struct __cppobj ScriptInstance
{
  ScriptInstance_vtbl *__vftable /*VFT*/;
};

# ScriptInstance_vtbl

struct /*VFT*/ ScriptInstance_vtbl
{
  void (__fastcall *~ScriptInstance)(ScriptInstance *this);
  void (__fastcall *bindInternalObject)(ScriptInstance *this, void *);
  void (__fastcall *unbindInternalObject)(ScriptInstance *this);
  void (__fastcall *callVoidFunction)(ScriptInstance *this, const char *);
  void (__fastcall *callIntFunction)(ScriptInstance *this, const char *, int);
  void (__fastcall *callStringFunction)(ScriptInstance *this, const char *, const std::string *);
  int (__fastcall *callStringFunctionInt)(ScriptInstance *this, const char *, const std::string *);
  void (__fastcall *callString2Function)(ScriptInstance *this, const char *, const std::string *, const std::string *);
  void (__fastcall *callProtocolFunction)(ScriptInstance *this, const char *, const std::string *, const std::string *);
};

# ScriptRuntime_vtbl

struct /*VFT*/ ScriptRuntime_vtbl
{
  void (__fastcall *~ScriptRuntime)(ScriptRuntime *this);
  bool (__fastcall *startUp)(ScriptRuntime *this, const std::string *);
  void (__fastcall *cleanUp)(ScriptRuntime *this);
  bool (__fastcall *init)(ScriptRuntime *this);
  bool (__fastcall *start)(ScriptRuntime *this);
  bool (__fastcall *test)(ScriptRuntime *this);
  ScriptInstance *(__fastcall *createInstance)(ScriptRuntime *this, void *);
  ScriptInstance *(__fastcall *createInstance)(ScriptRuntime *this, const std::string *);
  void (__fastcall *destroyInstance)(ScriptRuntime *this, ScriptInstance *);
  const std::string *(__fastcall *getScriptPath)(ScriptRuntime *this);
};

# ShowLoginViewStage

struct __cppobj ShowLoginViewStage : BaseStage
{
};

# ShowLoginViewStage_vtbl

struct /*VFT*/ ShowLoginViewStage_vtbl
{
  void (__fastcall *~BaseStage)(BaseStage *this);
  void (__fastcall *onAwake)(BaseStage *this);
  void (__fastcall *onUpdate)(BaseStage *this);
  bool (__fastcall *ayncTask)(BaseStage *this);
};

# Social::Events::AggregationEventListener

struct __cppobj Social::Events::AggregationEventListener : Social::Events::IEventListener
{
  Core::PathBuffer<std::string > mLogFileName;
  Core::FileStream mLogFile;
  unsigned int mMaxSecondsBetweenSends;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mTimeOfLastSend;
  bool mSendDebugEventsToFile;
  std::mutex mEventQueueMutex;
  std::unordered_map<std::string,std::deque<Social::Events::Event>> mNonAggregatedEventQueue;
  std::unordered_map<std::string,std::deque<Social::Events::Event>> mAggregatedEventQueue;
  std::unordered_map<std::string,std::deque<Social::Events::Event>> mCustomAggregatedEventQueue;
  unsigned int mCurrentEventQueueCount;
  unsigned int mRegularMaxBatchSize;
  unsigned int mThrottledMaxBatchSize;
  unsigned int mMaxEventsInBatch;
  unsigned int mRegularSendIntervalSecs;
  unsigned int mThrottledSendIntervalSecs;
};

# Social::Events::AggregationEventListener_vtbl

struct /*VFT*/ Social::Events::AggregationEventListener_vtbl
{
  void (__fastcall *~IEventListener)(Social::Events::IEventListener *this);
  void (__fastcall *recordEvent)(Social::Events::IEventListener *this, const Social::Events::Event *);
  void (__fastcall *sendEvents)(Social::Events::IEventListener *this, bool);
  int (__fastcall *getEventTagsFilter)(Social::Events::IEventListener *this);
  void (__fastcall *stopDebugEventLogging)(Social::Events::IEventListener *this);
  void (__fastcall *sendEvent)(Social::Events::AggregationEventListener *this, const Social::Events::Event *);
  bool (__fastcall *_checkAgainstEventAllowlist)(Social::Events::AggregationEventListener *this, const Social::Events::Event *);
  bool (__fastcall *_isListenerReadyForEvents)(Social::Events::AggregationEventListener *this);
};

# Social::Events::FileEventLogger

struct __cppobj Social::Events::FileEventLogger : Social::Events::AggregationEventListener
{
};

# Social::Events::FileEventLogger_vtbl

struct /*VFT*/ Social::Events::FileEventLogger_vtbl
{
  void (__fastcall *~IEventListener)(Social::Events::IEventListener *this);
  void (__fastcall *recordEvent)(Social::Events::IEventListener *this, const Social::Events::Event *);
  void (__fastcall *sendEvents)(Social::Events::IEventListener *this, bool);
  int (__fastcall *getEventTagsFilter)(Social::Events::IEventListener *this);
  void (__fastcall *stopDebugEventLogging)(Social::Events::IEventListener *this);
  void (__fastcall *sendEvent)(Social::Events::AggregationEventListener *this, const Social::Events::Event *);
  bool (__fastcall *_checkAgainstEventAllowlist)(Social::Events::AggregationEventListener *this, const Social::Events::Event *);
  bool (__fastcall *_isListenerReadyForEvents)(Social::Events::AggregationEventListener *this);
};

# ServiceLocator<Social::UserManager>

struct __cppobj ServiceLocator<Social::UserManager>
{
};

# ServiceLocator<ProfilingManager>

struct __cppobj ServiceLocator<ProfilingManager>
{
};

# ServiceLocator<Bedrock::Threading::PendingConditionals>

struct __cppobj ServiceLocator<Bedrock::Threading::PendingConditionals>
{
};

# ServiceLocator<ChunkPerformanceData>

struct __cppobj ServiceLocator<ChunkPerformanceData>
{
};

# ServiceLocator<Core::LoadTimeProfiler>

struct __cppobj ServiceLocator<Core::LoadTimeProfiler>
{
};

# ServiceLocator<ResourceLoadManager>

struct __cppobj ServiceLocator<ResourceLoadManager>
{
};

# ServiceLocator<mce::FileWatcherNull>

struct __cppobj ServiceLocator<mce::FileWatcherNull>
{
};

# ServiceLocator<DateManager>

struct __cppobj ServiceLocator<DateManager>
{
};

# ScreenshotLoader

struct __cppobj ScreenshotLoader : AppResourceLoader
{
  IMinecraftGame *mMinecraft;
};

# ServiceLocator<IEntitlementManager>

struct __cppobj ServiceLocator<IEntitlementManager>
{
};

# stdext::reference_wrapper<Localization const >

struct __cppobj stdext::reference_wrapper<Localization const >
{
  const Localization *ptr;
};

# Social::Events::AutomationEventLogger

struct __cppobj __declspec(align(8)) Social::Events::AutomationEventLogger : Social::Events::IEventListener
{
  Automation::AutomationClient *mAutomationClient;
  std::unordered_map<std::string,std::deque<Social::Events::Event>> mEventQueue;
  long double mSecondsBetweenSends;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mTimeOfLastSend;
  bool mSendDebugEventsToFile;
};

# Social::Events::AutomationEventLogger_vtbl

struct /*VFT*/ Social::Events::AutomationEventLogger_vtbl
{
  void (__fastcall *~IEventListener)(Social::Events::IEventListener *this);
  void (__fastcall *recordEvent)(Social::Events::IEventListener *this, const Social::Events::Event *);
  void (__fastcall *sendEvents)(Social::Events::IEventListener *this, bool);
  int (__fastcall *getEventTagsFilter)(Social::Events::IEventListener *this);
  void (__fastcall *stopDebugEventLogging)(Social::Events::IEventListener *this);
};

# ServiceLocator<BasicTestProfileStats>

struct __cppobj ServiceLocator<BasicTestProfileStats>
{
};

# SimpleCallProgressHandler

struct __cppobj SimpleCallProgressHandler : ProgressHandler
{
  std::string mProgressTitle;
  std::string mProgressMessage;
  std::function<void __cdecl(void)> mStartCallback;
};

# SimpleCallProgressHandler_vtbl

struct /*VFT*/ SimpleCallProgressHandler_vtbl
{
  void (__fastcall *~ProgressHandler)(ProgressHandler *this);
  void (__fastcall *onStart)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *tick)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onCancel)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onExit)(ProgressHandler *this, MinecraftScreenModel *);
  LoadingState (__fastcall *getLoadingState)(ProgressHandler *this, MinecraftScreenModel *);
  float (__fastcall *getLoadingProgress)(ProgressHandler *this, MinecraftScreenModel *);
  std::string *(__fastcall *getProgressMessage)(ProgressHandler *this, std::string *result, MinecraftScreenModel *);
  void (__fastcall *addEventProperties)(ProgressHandler *this, std::unordered_map<std::string,std::string> *);
  std::string *(__fastcall *getTTSProgressMessage)(ProgressHandler *this, std::string *result);
  std::string *(__fastcall *getTitleText)(ProgressHandler *this, std::string *result);
  ProgressAnimation (__fastcall *showLoadingBar)(ProgressHandler *this);
};

# ScreenshotUtils

struct __cppobj ScreenshotUtils
{
};

# ServiceLocator<GameStore>

struct __cppobj ServiceLocator<GameStore>
{
};

# ScrollbarDynamics::TargetPosDeltaSim

struct __cppobj ScrollbarDynamics::TargetPosDeltaSim
{
  float mAccumulatedDelta;
  float mTimeAccumulator;
  float mInterpStart;
  float mInterpEnd;
};

# ScrollbarDynamics

struct __cppobj ScrollbarDynamics
{
  float mCurrentPosition;
  float mLastPosition;
  float mCurrentVelocity;
  float mForces;
  float mMinRange;
  float mMaxRange;
  float mMaxDisplacementPastMinMax;
  float mTargetPosition;
  float mTargetVelocity;
  float mTargetPosDelta;
  bool mTargetPositionActive;
  ScrollbarDynamics::TargetPosDeltaSim mPosDeltaSim;
  bool mFinishFlick;
  float mTargetPntMovedDist;
};

# ScrollViewComponent

struct __cppobj __declspec(align(8)) ScrollViewComponent : UIComponent
{
  std::weak_ptr<UIControl> mScrollViewPort;
  std::weak_ptr<UIControl> mScrollContent;
  std::weak_ptr<UIControl> mScrollTrack;
  std::weak_ptr<UIControl> mScrollBox;
  std::weak_ptr<UIControl> mBoxAndTrackPanel;
  unsigned int mTrackScrollButtonId;
  unsigned int mTouchScrollButtonId;
  unsigned int mScrollingActiveEventId;
  unsigned int mScrollBarReleasedEventId;
  unsigned int mScrollBarBottomEventId;
  ButtonState mLastTouchButtonState;
  ButtonState mLastScrollBoxPressedState;
  float mDistanceForScrollEventsToPassOn;
  float mScrollSpeed;
  bool mGestureControlMode;
  bool mAlwaysHandleScrolling;
  bool mTouchMode;
  float lastPosition;
  float lastMaxRange;
  __int16 mId;
  bool mCanScroll;
  ScrollbarDynamics mScrollbarDynamics;
  bool mTouchScrollBarVisible;
  float mTouchScrollBarIntensity;
  bool mJumpToBottomOnUpdate;
  float mContentSize;
};

# ScrollViewComponent_vtbl

struct /*VFT*/ ScrollViewComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# StackGridComponent

struct __cppobj StackGridComponent : UIComponent
{
  std::shared_ptr<UIControlFactory> mControlFactory;
  int mItemCount;
  int mCurItemCount;
  std::string mCollectionName;
  int mId;
  std::vector<std::shared_ptr<UIControl>> templates;
};

# StackGridComponent_vtbl

struct /*VFT*/ StackGridComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# SliderComponent

struct __cppobj SliderComponent : UIComponent
{
  std::weak_ptr<UIControl> mSliderBoxControl;
  unsigned int mTrackScrollButtonId;
  unsigned int mSmallDecreaseButtonId;
  unsigned int mSmallIncreaseButtonId;
  unsigned int mSelectedButtonId;
  unsigned int mDeselectedButtonId;
  bool mTrackActive;
  ui::OrientationType mSliderDirection;
  bool mInverted;
  float mPercentage;
  int mCurrentStep;
  int mNumberSteps;
  float mSliderSpeed;
  float mSliderTimeout;
  long double mLastRefreshTime;
  __int8 mStepSlider : 1;
  __int8 mHover : 1;
  __int8 mSelectOnHover : 1;
  unsigned int mSliderNameId;
  std::string mSliderCollectionName;
  ui::CardinalDirection mLastDirection;
  std::weak_ptr<UIControl> mBackground;
  std::weak_ptr<UIControl> mBackgroundHover;
  std::weak_ptr<UIControl> mProgress;
  std::weak_ptr<UIControl> mProgressHover;
  std::weak_ptr<UIControl> mDefaultControl;
  std::weak_ptr<UIControl> mHoverControl;
  std::string mTTSSliderValue;
};

# SliderComponent_vtbl

struct /*VFT*/ SliderComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# serialize<GameRulesChangedPacketData>::read::__l2::<lambda_aaff50ed8a818a81e48a044a84e500e1>

struct __cppobj serialize<GameRulesChangedPacketData>::read::__l2::<lambda_aaff50ed8a818a81e48a044a84e500e1>
{
};

# serialize<GameRulesChangedPacketData>::write::__l2::<lambda_e674b880044a51647f8a817da1ced75b>

struct __cppobj serialize<GameRulesChangedPacketData>::write::__l2::<lambda_e674b880044a51647f8a817da1ced75b>
{
};

# ShapedRecipe_vtbl

struct /*VFT*/ ShapedRecipe_vtbl
{
  void (__fastcall *~Recipe)(Recipe *this);
  const std::vector<ItemInstance> *(__fastcall *assemble)(Recipe *this, CraftingContainer *);
  int (__fastcall *getCraftingSize)(Recipe *this);
  const RecipeIngredient *(__fastcall *getIngredient)(Recipe *this, int, int);
  const std::vector<ItemInstance> *(__fastcall *getResultItem)(Recipe *this);
  bool (__fastcall *isShapeless)(Recipe *this);
  bool (__fastcall *matches)(Recipe *this, CraftingContainer *, Level *);
  int (__fastcall *size)(Recipe *this);
  const mce::UUID *(__fastcall *getId)(Recipe *this);
  const ItemPack *(__fastcall *getItemPack)(Recipe *this);
  bool (__fastcall *isMultiRecipe)(Recipe *this);
  std::string *(__fastcall *getTypeString)(Recipe *this, std::string *result);
  bool (__fastcall *itemValidForRecipe)(Recipe *this, const ItemDescriptor *, const ItemStack *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, int, int, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *);
};

# ShapelessRecipe

struct __cppobj ShapelessRecipe : Recipe
{
  std::vector<RecipeIngredient> mIngredients;
  std::vector<ItemInstance> mResult;
};

# ShapelessRecipe_vtbl

struct /*VFT*/ ShapelessRecipe_vtbl
{
  void (__fastcall *~Recipe)(Recipe *this);
  const std::vector<ItemInstance> *(__fastcall *assemble)(Recipe *this, CraftingContainer *);
  int (__fastcall *getCraftingSize)(Recipe *this);
  const RecipeIngredient *(__fastcall *getIngredient)(Recipe *this, int, int);
  const std::vector<ItemInstance> *(__fastcall *getResultItem)(Recipe *this);
  bool (__fastcall *isShapeless)(Recipe *this);
  bool (__fastcall *matches)(Recipe *this, CraftingContainer *, Level *);
  int (__fastcall *size)(Recipe *this);
  const mce::UUID *(__fastcall *getId)(Recipe *this);
  const ItemPack *(__fastcall *getItemPack)(Recipe *this);
  bool (__fastcall *isMultiRecipe)(Recipe *this);
  std::string *(__fastcall *getTypeString)(Recipe *this, std::string *result);
  bool (__fastcall *itemValidForRecipe)(Recipe *this, const ItemDescriptor *, const ItemStack *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, int, int, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *);
};

# SplashTextRenderer

struct __cppobj SplashTextRenderer : MinecraftUICustomRenderer
{
  int mCurrentSplash;
  long double mElapsedTime;
  bool mLoadedSplashes;
  bool mTreatmentsLoaded;
  std::vector<std::string> mSplashes;
};

# SplashTextRenderer_vtbl

struct /*VFT*/ SplashTextRenderer_vtbl
{
  void (__fastcall *~UICustomRenderer)(UICustomRenderer *this);
  void (__fastcall *preRenderSetup)(UICustomRenderer *this, UIRenderContext *);
  std::shared_ptr<UICustomRenderer> *(__fastcall *clone)(UICustomRenderer *this, std::shared_ptr<UICustomRenderer> *result);
  bool (__fastcall *update)(UICustomRenderer *this, IClientInstance *, UIControl *, const UIScene *);
  void (__fastcall *frameUpdate)(UICustomRenderer *this, UIFrameUpdateContext *, UIControl *);
  void (__fastcall *render)(UICustomRenderer *this, UIRenderContext *, IClientInstance *, UIControl *, int, RectangleArea *);
  UIBatchType (__fastcall *getBatchType)(UICustomRenderer *this);
  int (__fastcall *getCustomId)(UICustomRenderer *this);
  int (__fastcall *getNumRenderPasses)(UICustomRenderer *this);
  ResourceLocation *(__fastcall *getResourceLocation)(UICustomRenderer *this, ResourceLocation *result, int, int);
  UIMaterialType (__fastcall *getUIMaterialType)(UICustomRenderer *this, int);
  bool (__fastcall *getRequiresPreRenderSetup)(UICustomRenderer *this, int);
  void (__fastcall *onVisibilityChanged)(UICustomRenderer *this, bool);
  void (__fastcall *collectScreenEvents)(UICustomRenderer *this, std::queue<ScreenEvent> *);
  void (__fastcall *frameUpdate)(MinecraftUICustomRenderer *this, MinecraftUIFrameUpdateContext *, UIControl *);
  void (__fastcall *render)(MinecraftUICustomRenderer *this, MinecraftUIRenderContext *, IClientInstance *, UIControl *, int, RectangleArea *);
  void (__fastcall *preRenderSetup)(MinecraftUICustomRenderer *this, MinecraftUIRenderContext *);
};

# StructureVolumeRenderer

struct __cppobj StructureVolumeRenderer : MinecraftUICustomRenderer, BlockSourceListener, AppPlatformListener
{
  bool mInitialize;
  bool mListenerInitialized;
  bool mRendered;
  Vec2 mRotation;
  AABB mLastArea;
  std::unique_ptr<RenderChunkBuilder> mChunkBuilder;
  std::unordered_map<BlockPos,std::unique_ptr<RenderChunkInstanced>> mRenderChunkInstances;
  Tick mRenderTick;
  Vec2 mLastSortRotation;
  Vec3 mSortingCameraPos;
  bool mResort;
  BlockSource *mUnsafeSourcePointer;
  std::shared_ptr<RenderChunkSorterSharedInfo> mSharedSortInfo;
  RenderChunkSorter mChunkSorter;
  mce::MaterialPtr mAxesMaterial;
};

# StructureVolumeRenderer_vtbl

struct /*VFT*/ StructureVolumeRenderer_vtbl
{
  void (__fastcall *~UICustomRenderer)(UICustomRenderer *this);
  void (__fastcall *preRenderSetup)(UICustomRenderer *this, UIRenderContext *);
  std::shared_ptr<UICustomRenderer> *(__fastcall *clone)(UICustomRenderer *this, std::shared_ptr<UICustomRenderer> *result);
  bool (__fastcall *update)(UICustomRenderer *this, IClientInstance *, UIControl *, const UIScene *);
  void (__fastcall *frameUpdate)(UICustomRenderer *this, UIFrameUpdateContext *, UIControl *);
  void (__fastcall *render)(UICustomRenderer *this, UIRenderContext *, IClientInstance *, UIControl *, int, RectangleArea *);
  UIBatchType (__fastcall *getBatchType)(UICustomRenderer *this);
  int (__fastcall *getCustomId)(UICustomRenderer *this);
  int (__fastcall *getNumRenderPasses)(UICustomRenderer *this);
  ResourceLocation *(__fastcall *getResourceLocation)(UICustomRenderer *this, ResourceLocation *result, int, int);
  UIMaterialType (__fastcall *getUIMaterialType)(UICustomRenderer *this, int);
  bool (__fastcall *getRequiresPreRenderSetup)(UICustomRenderer *this, int);
  void (__fastcall *onVisibilityChanged)(UICustomRenderer *this, bool);
  void (__fastcall *collectScreenEvents)(UICustomRenderer *this, std::queue<ScreenEvent> *);
  void (__fastcall *frameUpdate)(MinecraftUICustomRenderer *this, MinecraftUIFrameUpdateContext *, UIControl *);
  void (__fastcall *render)(MinecraftUICustomRenderer *this, MinecraftUIRenderContext *, IClientInstance *, UIControl *, int, RectangleArea *);
  void (__fastcall *preRenderSetup)(MinecraftUICustomRenderer *this, MinecraftUIRenderContext *);
};

# ScrollbarBoxComponent

struct __cppobj ScrollbarBoxComponent : UIComponent
{
  std::weak_ptr<UIControl> mScrollView;
};

# ScrollbarBoxComponent_vtbl

struct /*VFT*/ ScrollbarBoxComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# ScrollTrackComponent

struct __cppobj ScrollTrackComponent : UIComponent
{
  std::weak_ptr<UIControl> mScrollView;
};

# ScrollTrackComponent_vtbl

struct /*VFT*/ ScrollTrackComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# SelectionWheelComponent

struct __cppobj __declspec(align(8)) SelectionWheelComponent : UIComponent
{
  std::weak_ptr<UIControl> mWeakScreenControl;
  std::vector<std::weak_ptr<UIControl>> mStateControls;
  bool mConsumeEvents;
  int mSliceCount;
  int mHoverSlice;
  int mLastValidHoverSlice;
  float mInnerRadius;
  float mOuterRadius;
  unsigned int mButtonNameId;
  unsigned int mIterateLeftNameId;
  unsigned int mIterateRightNameId;
  std::vector<unsigned int> mSelectSlotNameIds;
  InputMode mInputMode;
};

# SelectionWheelComponent_vtbl

struct /*VFT*/ SelectionWheelComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# SliderBoxComponent

struct __cppobj SliderBoxComponent : UIComponent
{
  bool mHover;
  bool mSelected;
  std::weak_ptr<UIControl> mSliderControl;
  std::weak_ptr<UIControl> mDefaultControl;
  std::weak_ptr<UIControl> mHoverControl;
  std::weak_ptr<UIControl> mIndentControl;
  std::weak_ptr<UIControl> mLockedControl;
};

# SliderBoxComponent_vtbl

struct /*VFT*/ SliderBoxComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# SliderManagerComponent

struct __cppobj SliderManagerComponent : UIComponent
{
  SliderManagerBehavior mBehavior;
  std::vector<unsigned int> mSliderCollectionName;
};

# SliderManagerComponent_vtbl

struct /*VFT*/ SliderManagerComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# SliderChangeSoundEventConditions

struct __cppobj SliderChangeSoundEventConditions
{
};

# SoundComponent::SoundEventInfo

struct __cppobj __declspec(align(8)) SoundComponent::SoundEventInfo
{
  std::string mSoundName;
  float mVolume;
  float mPitch;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastPlayTime;
  std::chrono::duration<__int64,std::ratio<1,1000> > mMinTimeBetweenPlays;
  ScreenEventType mScreenEventType;
  SoundEventConditions mEventConditions;
};

# SoundComponent

struct __cppobj SoundComponent : UIComponent
{
  const UISoundPlayer *mSoundPlayer;
  float mVolume;
  float mPitch;
  std::string mSoundName;
  std::vector<SoundComponent::SoundEventInfo> mSoundEvents;
};

# SoundComponent_vtbl

struct /*VFT*/ SoundComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# StackPanelComponent

struct __cppobj __declspec(align(8)) StackPanelComponent : UIComponent
{
  ui::OrientationType mOrientation;
  int mFirstRenderedChild;
  bool mShouldUsePriority;
};

# StackPanelComponent_vtbl

struct /*VFT*/ StackPanelComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
};

# SpriteComponent::_drawTiled::__l2::<lambda_46892d663261051bb3234571806a4048>

struct __cppobj SpriteComponent::_drawTiled::__l2::<lambda_46892d663261051bb3234571806a4048>
{
  std::vector<ImageInfo> *imagesToDraw;
};

# SpriteComponent::_drawTiled::__l2::<lambda_dca1b89cc5ad2343102b882bd8381752>

struct __cppobj SpriteComponent::_drawTiled::__l2::<lambda_dca1b89cc5ad2343102b882bd8381752>
{
  SpriteComponent *const __this;
  UIRenderContext *context;
};

# SpriteComponent::_drawTiledClipped::__l2::<lambda_416a48418e413e3fae37fa1fc52a70a8>

struct __cppobj SpriteComponent::_drawTiledClipped::__l2::<lambda_416a48418e413e3fae37fa1fc52a70a8>
{
  SpriteComponent *const __this;
  UIRenderContext *context;
};

# SpriteComponent::_drawTiledClipped::__l2::<lambda_1afa1fd32fa7e2e08e8255091cc99e81>

struct __cppobj SpriteComponent::_drawTiledClipped::__l2::<lambda_1afa1fd32fa7e2e08e8255091cc99e81>
{
  std::vector<ImageInfo> *imagesToDraw;
};

# SpriteComponent::_drawClipped::__l2::<lambda_af79c45a1301355ef63a198b004e9edc>

struct __cppobj SpriteComponent::_drawClipped::__l2::<lambda_af79c45a1301355ef63a198b004e9edc>
{
  std::vector<ImageInfo> *imagesToDraw;
};

# SpriteComponent::_drawClipped::__l2::<lambda_7a52305ee0f60ae55853c1e0d96cb84c>

struct __cppobj SpriteComponent::_drawClipped::__l2::<lambda_7a52305ee0f60ae55853c1e0d96cb84c>
{
  SpriteComponent *const __this;
  UIRenderContext *context;
};

# SliderManagerComponent::_gatherSliderGroupState::__l9::<lambda_3f4eb6fd3624d8099f02098c2e2309a9>

struct __cppobj SliderManagerComponent::_gatherSliderGroupState::__l9::<lambda_3f4eb6fd3624d8099f02098c2e2309a9>
{
  unsigned int sliderGroup;
};

# SixteenNineComponent

struct __cppobj SixteenNineComponent : RenderableComponent
{
};

# SixteenNineComponent_vtbl

struct /*VFT*/ SixteenNineComponent_vtbl
{
  void (__fastcall *~UIComponent)(UIComponent *this);
  void (__fastcall *OnScreenPop)(UIComponent *this);
  std::unique_ptr<UIComponent> *(__fastcall *clone)(UIComponent *this, std::unique_ptr<UIComponent> *result, UIControl *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, const ScreenEvent *);
  ComponentReceiveActionType (__fastcall *receive)(UIComponent *this, VisualTree *, ScreenInputContext *, UIAnimationController *, const ScreenEvent *);
  void (__fastcall *onNotifyChildAdded)(UIComponent *this);
  void (__fastcall *onNotifyChildRemoved)(UIComponent *this);
  void (__fastcall *onRemoved)(UIComponent *this);
  void (__fastcall *onAdded)(UIComponent *this);
  void (__fastcall *onVisibilityChanged)(UIComponent *this, bool);
  void (__fastcall *onEnabledChanged)(UIComponent *this, bool);
  bool (__fastcall *isRenderableComponent)(UIComponent *this);
  bool (__fastcall *onLayoutChange)(UIComponent *this);
  void (__fastcall *reset)(UIComponent *this);
  void (__fastcall *reload)(UIComponent *this, const UIComponent *);
  const std::string *(__fastcall *getTextToSpeechComponentValue)(UIComponent *this);
  void (__fastcall *updateUI)(RenderableComponent *this, const UIMeasureStrategy *);
  bool (__fastcall *overridesLayoutAxisOffset)(RenderableComponent *this, const LayoutVariableType);
  float (__fastcall *getLayoutAxisOffsetOverride)(RenderableComponent *this, const LayoutVariableType);
};

# SkinPackPurchaseScreenController

struct __cppobj SkinPackPurchaseScreenController : MainMenuScreenController
{
  const StoreCatalogItem *mCatalogItem;
  SkinPackCollectionModel *mSkinPackCollection;
  PackIdVersion mSkinPackIdentity;
  StoreScreenType mScreenType;
  bool mCheckSkinPack;
  int mMaxSkinsInGrid;
  int mSkinIndex;
  int mPreviewSkinIndex;
  int mHoverSkinIndex;
  const SkinHandle mInitialSkinHandle;
};

# SkinPackPurchaseScreenController_vtbl

struct /*VFT*/ SkinPackPurchaseScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
};

# Social::<lambda_c6d983a1676b2f8fec8e673417febd7a>

struct __cppobj Social::<lambda_c6d983a1676b2f8fec8e673417febd7a>
{
};

# Social::<lambda_35d5f2e216aff30c7b5c9c3e72c65aee>

struct __cppobj Social::<lambda_35d5f2e216aff30c7b5c9c3e72c65aee>
{
};

# SearchingForSessionProgressHandler

struct __cppobj SearchingForSessionProgressHandler : ProgressHandler
{
};

# SearchingForSessionProgressHandler_vtbl

struct /*VFT*/ SearchingForSessionProgressHandler_vtbl
{
  void (__fastcall *~ProgressHandler)(ProgressHandler *this);
  void (__fastcall *onStart)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *tick)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onCancel)(ProgressHandler *this, MinecraftScreenModel *);
  void (__fastcall *onExit)(ProgressHandler *this, MinecraftScreenModel *);
  LoadingState (__fastcall *getLoadingState)(ProgressHandler *this, MinecraftScreenModel *);
  float (__fastcall *getLoadingProgress)(ProgressHandler *this, MinecraftScreenModel *);
  std::string *(__fastcall *getProgressMessage)(ProgressHandler *this, std::string *result, MinecraftScreenModel *);
  void (__fastcall *addEventProperties)(ProgressHandler *this, std::unordered_map<std::string,std::string> *);
  std::string *(__fastcall *getTTSProgressMessage)(ProgressHandler *this, std::string *result);
  std::string *(__fastcall *getTitleText)(ProgressHandler *this, std::string *result);
  ProgressAnimation (__fastcall *showLoadingBar)(ProgressHandler *this);
};

# stbtt_vertex

struct stbtt_vertex
{
  __int16 x;
  __int16 y;
  __int16 cx;
  __int16 cy;
  __int16 cx1;
  __int16 cy1;
  unsigned __int8 type;
  unsigned __int8 padding;
};

# stbtt__hheap_chunk

struct stbtt__hheap_chunk
{
  stbtt__hheap_chunk *next;
};

# stbtt__hheap

struct __declspec(align(8)) stbtt__hheap
{
  stbtt__hheap_chunk *head;
  void *first_free;
  int num_remaining_in_head_chunk;
};

# stbtt__active_edge

struct stbtt__active_edge
{
  stbtt__active_edge *next;
  float fx;
  float fdx;
  float fdy;
  float direction;
  float sy;
  float ey;
};

# stbtt__edge

struct stbtt__edge
{
  float x0;
  float y0;
  float x1;
  float y1;
  int invert;
};

# stbtt__point

struct stbtt__point
{
  float x;
  float y;
};

# stbtt_bakedchar

struct stbtt_bakedchar
{
  unsigned __int16 x0;
  unsigned __int16 y0;
  unsigned __int16 x1;
  unsigned __int16 y1;
  float xoff;
  float yoff;
  float xadvance;
};

# stbtt_aligned_quad

struct stbtt_aligned_quad
{
  float x0;
  float y0;
  float s0;
  float t0;
  float x1;
  float y1;
  float s1;
  float t1;
};

# stbrp_context

struct stbrp_context
{
  int width;
  int height;
  int x;
  int y;
  int bottom_y;
};

# stbrp_node

struct stbrp_node
{
  unsigned __int8 x;
};

# stbrp_rect

struct stbrp_rect
{
  int x;
  int y;
  int id;
  int w;
  int h;
  int was_packed;
};

# stbi__write_context

struct stbi__write_context
{
  void (__fastcall *func)(void *, void *, int);
  void *context;
};

# Social::<lambda_2c831ce4442218888aff3b1b9505d5ec>

struct __cppobj Social::<lambda_2c831ce4442218888aff3b1b9505d5ec>
{
};

# Social::<lambda_5f8dcdce88ac115102b5fb0b8b14fdcd>

struct __cppobj Social::<lambda_5f8dcdce88ac115102b5fb0b8b14fdcd>
{
};

# ScriptApi::ScriptEngineFacet

struct __cppobj ScriptApi::ScriptEngineFacet : hbui::FacetBase<ScriptApi::ScriptEngineFacet>
{
  MinecraftClientScriptEngine *mScriptEngine;
};

# ScriptApi::ScriptEngineFacet_vtbl

struct /*VFT*/ ScriptApi::ScriptEngineFacet_vtbl
{
  void (__fastcall *~IFacet)(hbui::IFacet *this);
  void (__fastcall *bindFacet)(hbui::IFacet *this, hbui::FacetBinder *);
  void (__fastcall *unbindFacet)(hbui::IFacet *this, hbui::FacetBinder *);
  void (__fastcall *updateFacet)(hbui::IFacet *this, hbui::FacetBinder *);
  bool (__fastcall *update)(hbui::IFacet *this);
};