MC TIL
Home
Github
Home
Github
  • Struct

    • A
    • A~1
    • B
    • B~1
    • B~2
    • C
    • C~1
    • C~2
    • C~3
    • D
    • D~1
    • D~2
    • D~3
    • D~4
    • D~5
    • D~6
    • D~7
    • D~8
    • D~9
    • D~10
    • E
    • E~1
    • F
    • F~1
    • G
    • H
    • I
    • I~1
    • I~2
    • J
    • K
    • L
    • L~1
    • M
    • M~1
    • M~2
    • M~3
    • N
    • O
    • P
    • P~1
    • P~2
    • P~3
    • Q
    • R
    • R~1
    • R~2
    • R~3
    • S
    • S~1
    • S~2
    • S~3
    • S~4
    • T
    • T~1
    • U
    • V
    • W
    • W~1
    • X
    • Z
  • Enums

    • A
    • B
    • C
    • D
    • D~1
    • D~2
    • D~3
    • E
    • F
    • G
    • H
    • I
    • J
    • K
    • L
    • M
    • N
    • O
    • P
    • R
    • S
    • T
    • U
    • V
    • W

H

HashedString

OffsetTypeName
0(8) unsigned __int64mStrHash
8(32) std::stringmStr
40(8) const HashedString *mLastMatch

HandlerType

OffsetTypeName
0(4) ``adjectives
4(4) ``pType
8(4) ``dispCatchObj
12(4) ``addressOfHandler
16(4) ``dispFrame

HistoricalFrameTimes

OffsetTypeName
0(8) unsigned __int64mFrameIndex
8(120) float[30]mHistoricalMinimumFrameTimes
128(120) float[30]mHistoricalMaximumFrameTimes
248(120) float[30]mHistoricalAverageFrameTimes
368(120) float[30]mLastFrameTime

HitResult

OffsetTypeName
0(12) Vec3mStartPos
12(12) Vec3mRayDir
24(4) HitResultTypemType
28(1) unsigned __int8mFacing
32(12) BlockPosmBlock
44(12) Vec3mPos
56(24) WeakRefT<EntityRefTraits>mEntity
80(1) boolmIsHitLiquid
81(1) unsigned __int8mLiquidFacing
84(12) BlockPosmLiquid
96(12) Vec3mLiquidPos
108(1) boolmIndirectHit

HolographicPlatform::HoloFrameOfReferenceSetupData

OffsetTypeName
0(12) Vec3mMinecraftPlayerPos
12(4) floatmUIWidth
16(4) floatmUIHeight
20(4) floatmUIGuiScale
24(4) floatmVerticalFovRadians
28(4) floatmAspectRatio
32(4) floatmHoloUIWidth
36(4) floatmHoloUIHeight
40(4) floatmHoloHUDWidth
44(4) floatmHoloHUDHeight
48(64) MatrixmMinecraftSteveRelativeSpaceToRealitySpaceTransform
112(4) floatmRealityFrameModeWorldScale
116(64) MatrixmScreenAnchorAugmentationMatrix
180(64) MatrixmMinecraftView
244(64) MatrixmMinecraftProj
308(1) boolmDrawUIHeadLocked
309(1) boolmTrueMonoscopicModeEnabled
310(1) boolmDrawFloatingHud
311(1) boolmFixHud
312(64) MatrixmHUDMatrixPatch
376(64) MatrixmHUDToLeftHandPatch
440(4) HoloUIToPoseSourcemUIPoseSource
444(64) MatrixmVRTransitionMatrixPatch

hbui::RouterLocation

OffsetTypeName
0(16) std::weak_ptr<AbstractScene>mScene
16(32) std::stringmUrl
48(32) std::stringmPath
80(40) std::optional<std::string >mQuery
120(40) std::optional<std::string >mFragment
160(4) _BYTE[4]mMode
164(4) hbui::RouteTypemRouteType
168(32) std::stringmState

HoverScreenEventData

OffsetTypeName
0(8) UIPropertyBag *properties
8(1) boolhover

HoloInputModeChangeScreenEventData

OffsetTypeName
0(4) _BYTE[4]mode

hbui::FacetRegistry::FacetEntry

OffsetTypeName
0(32) std::stringname
32(64) std::function<std::unique_ptr<hbui::IFacet> __cdecl(void)>constructor
96(8) std::unique_ptr<hbui::IFacet>facet

hbui::Feature::registerIsEnabledChangedCallback::__l5::<lambda_1ab57bcd99c576631ba41c810ebdfff7>

OffsetTypeName
0(64) std::function<void __cdecl(bool)>callback

hbui::RouterHistory::FullHistory

OffsetTypeName
0(24) std::vector<std::string>entries
24(4) intcurrent

hbui::SceneProvider::createScene::__l2::<lambda_9198b0a63744d6caef4e6bf93514f963>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l2::<lambda_03742a56a76ff97dd1e21e945eb64304>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l2::<lambda_3ee6f9688302b02ab45782d3ee16d8ce>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l2::<lambda_b4883a86f58b08e1adf25075f2619414>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l2::<lambda_198843c04982cc508dc4bb1d040ed8de>

OffsetTypeName
0(24) std::vector<std::string>featureFlags

hbui::SceneProvider::createScene::__l2::<lambda_304967065c66569af40ba27c5a2bf6f5>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l2::<lambda_29ee3a92f3d498426295e1b7ffbcb6ea>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l2::<lambda_df7288e7b03dfb70aec84d96b0a91b02>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l2::<lambda_420fe536fd38216466f4e15beb7f8f35>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l2::<lambda_4e8329eee189f5c87c78bda6854976e8>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l2::<lambda_b8cda2d613720fd8ef484f58bcce6777>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

hbui::SceneProvider::createScene::__l8::<lambda_41cdb76c9bee798add5b424eb551b203>

OffsetTypeName
0(8) hbui::SceneProvider *const__this

HummingbirdUI::CallbackEntry

OffsetTypeName
0(8) void *token
8(64) std::function<void __cdecl(void)>callback

hbui::HybridResourceLocation

OffsetTypeName
0(4) hbui::HybridResourceFileSystemmFileSystem
8(32) Core::PathBuffer<std::string >mPath
40(8) const PackInstance *mPack

hbui::RouteMatcher::Entry

OffsetTypeName
0(32) const std::stringbaseScreenId
32(40) const std::basic_regex<char,std::regex_traits<char> >pattern
72(4) hbui::RouteTypetype
76(4) _BYTE[4]mode
80(64) std::function<void __cdecl(std::string const &)>callback

hbui::RouterLocationEventing::ScreenChangedProperties

OffsetTypeName
0(1) boolmShouldFireEvent
8(64) std::unordered_map<std::string,std::string>mEventProperties

HostOptionSubCommand

OffsetTypeName
0(32) std::stringmButtonText
32(32) std::stringmTexture
64(32) std::stringmSubCommand

HudScreenController

OffsetTypeName
0(2672) ClientInstanceScreenControllerbaseclass_0
2672(8) BossEventListenerbaseclass_a70
2680(1) boolmEDUDiscoveryObserved
2684(4) intmInputDelayTimer
2688(32) std::stringmPopupItemText
2720(32) std::stringmPopupJukeboxText
2752(32) std::stringmTipText
2784(12) BlockPosmPlayerPos
2796(12) BlockPosmAgentPos
2808(4) _BYTE[4]mRecordedDirtyState
2816(16) std::shared_ptr<HudContainerManagerController>mHudScreenManagerController
2832(16) std::shared_ptr<ScoreboardScreenController>mScoreboardScreenController
2848(16) std::shared_ptr<GamePlayTipScreenController>mGamePlayTipScreenController
2864(1) boolmIsPlayerRiding
2865(1) boolmVRRiding
2866(1) boolmIsCreative
2867(1) boolmVR
2868(1) boolmHasPresentedInitialChat
2869(1) boolmIsAutoSaving
2870(1) boolmIsAutoSaveTimerDone
2872(48) StopwatchmAutoSaveTimer
2920(48) StopwatchmHUDOpacityTimer
2968(4) floatmHUDOpacityOverride
2972(1) boolmOverrideHUDOpacity
2973(1) boolmVoiceTipsVisible
2976(32) std::stringmVoiceName
3008(1) boolmIsTitleOnDisplay
3016(112) TitleMessagemTitleQueuedData
3128(112) TitleMessagemTitleOnDisplayData
3240(24) std::vector<HudScreenController::Tooltip>mLeftTooltips
3264(24) std::vector<HudScreenController::Tooltip>mRightTooltips

HudScreenController::Tooltip

OffsetTypeName
0(4) Remapping::ActionEnumaction
4(1) HudScreenController::Tooltip::Typetype
8(64) std::function<std::string __cdecl(void)>getDescription
72(32) std::stringkeyPostfix

HydrateParams

OffsetTypeName
0(32) std::stringmProductId
32(32) std::stringmLastModifiedDate
64(1) boolmDisableCachedResponseOnFailure
65(1) boolmUsePersonaBackend

HomeSystem::tick::__l2::<lambda_13bc406ef66a336e9c00382282ba4146>

OffsetTypeName
0(8) HomeSystem *const__this

HomeComponent

OffsetTypeName
0(4) intmRestrictionRadius
4(4) intmRestrictionRadiusSqr
8(4) intmCooldownTicksMax
12(4) intmCooldownTicks
16(24) std::vector<WeakPtr<BlockLegacy>>mHomeBlocks
40(12) BlockPosmHomePos
52(4) AutomaticID<Dimension,int>mDimensionId

HealableDefinition

OffsetTypeName
0(24) std::vector<FeedItem>mHealItems
24(1) boolmForceUse
32(64) ActorFilterGroupmFilter

HitboxComponent

OffsetTypeName
0(24) std::vector<Hitbox>mHitboxes

HistoricPredictionData

OffsetTypeName
0(4) intslot
8(248) ItemStackitem

HugeMushroomFeature

OffsetTypeName
0(24) Featurebaseclass_0
24(4) intmForcedType

HugeFungusFeature

OffsetTypeName
0(24) Featurebaseclass_0
24(8) const Block *mStemBlock
32(8) const Block *mHatBlock
40(8) const Block *mDecorBlock
48(1) const boolmAllowedToPlaceVines

HTTPRequest

OffsetTypeName
0(32) std::stringmURL
32(32) std::stringmRequestBody
64(32) std::stringmContentType
96(4) HTTPRequest::MethodmRequestMethod
104(104) HTTPResponsemResponse
208(16) std::shared_ptr<HTTPRequestInternal>mRequest
224(16) std::map<std::string,std::string>mCookies
240(16) std::map<std::string,std::string>mHeaders

HTTPResponse

OffsetTypeName
0(32) std::stringbody
32(64) std::unordered_map<std::string,std::string>headers
96(4) intresponseCode
100(4) HTTPResponse::Statusstatus

HellSpringFeature

OffsetTypeName
0(24) Featurebaseclass_0
24(8) const Block *mBlock
32(1) boolmInsideRock

HellFireFeature

OffsetTypeName
0(24) Featurebaseclass_0

HINSTANCE__

struct HINSTANCE__
{
  int unused;
};

HungerAttrPacket

const struct __cppobj __declspec(align(8)) HungerAttrPacket : Packet
{
  float mMaxExhaustion;
};

HungerAttrPacket_vtbl

struct /*VFT*/ HungerAttrPacket_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);
};

HurtArmorPacket

const struct __cppobj HurtArmorPacket : Packet
{
  _BYTE mCause[4];
  int mDmg;
};

HurtArmorPacket_vtbl

struct /*VFT*/ HurtArmorPacket_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);
};

HWND__

struct HWND__
{
  int unused;
};

HttpHeaders

struct __cppobj HttpHeaders
{
  std::map<std::string,std::string> mHeaders;
  std::string mStatusLine;
  HttpHeaders::ParseState mParseState;
  std::string mParsedName;
  std::string mParsedValue;
  unsigned __int64 mCount;
};

HeaderTimerComponent

struct __cppobj HeaderTimerComponent : StoreUIComponent
{
  std::string mTimerExpiredText;
  std::string mTimerExpireOverride;
  __int64 mTimerExpireTime;
  bool mHideTimerOnExpiration;
  TimerType mTimerType;
  std::map<int,std::string> mTimerWarnings;
};

HeaderTimerComponent_vtbl

struct /*VFT*/ HeaderTimerComponent_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 *);
};

HeaderBannerComponent

struct __cppobj __declspec(align(8)) HeaderBannerComponent : StoreUIComponent
{
  BannerType mBannerType;
};

HeaderBannerComponent_vtbl

struct /*VFT*/ HeaderBannerComponent_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 *);
};

HeaderComponent

struct __cppobj HeaderComponent : StoreUIComponent
{
  std::string mHeader;
  std::string mNextSaleBeginsName;
  std::unique_ptr<HeaderTimerComponent> mTimerComponent;
  std::unique_ptr<HeaderBannerComponent> mBannerComponent;
};

HeaderComponent_vtbl

struct /*VFT*/ HeaderComponent_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 *);
};

hbui::ILibrary

struct __cppobj hbui::ILibrary : Bedrock::EnableNonOwnerReferences
{
  hbui::ILibrary_vtbl *__vftable /*VFT*/;
};

hbui::IViewRenderer

struct __cppobj hbui::IViewRenderer
{
  hbui::IViewRenderer_vtbl *__vftable /*VFT*/;
};

hbui::IViewRenderer_vtbl

struct /*VFT*/ hbui::IViewRenderer_vtbl
{
  void (__fastcall *~IViewRenderer)(hbui::IViewRenderer *this);
  void (__fastcall *render)(hbui::IViewRenderer *this, ScreenContext *);
  void (__fastcall *pushFrame)(hbui::IViewRenderer *this, unsigned int);
  void (__fastcall *freeRenderingResources)(hbui::IViewRenderer *this);
  void (__fastcall *recreateRenderingResources)(hbui::IViewRenderer *this);
  void (__fastcall *resize)(hbui::IViewRenderer *this, unsigned int, unsigned int);
  void (__fastcall *resolve)(hbui::IViewRenderer *this, ScreenContext *, std::optional<RectangleArea>, std::optional<RectangleArea>);
};

hbui::IView

struct __cppobj hbui::IView
{
  hbui::IView_vtbl *__vftable /*VFT*/;
};

hbui::IViewListener

struct __cppobj hbui::IViewListener
{
  hbui::IViewListener_vtbl *__vftable /*VFT*/;
};

hbui::IViewListener_vtbl

struct /*VFT*/ hbui::IViewListener_vtbl
{
  void (__fastcall *~IViewListener)(hbui::IViewListener *this);
  void (__fastcall *onLoadSucceeded)(hbui::IViewListener *this, const char *);
  void (__fastcall *onLoadFailed)(hbui::IViewListener *this, const char *, const char *);
  bool (__fastcall *isActive)(hbui::IViewListener *this);
};

hbui::CacheSnapshot

struct hbui::CacheSnapshot
{
  unsigned int filledBytes;
  unsigned int capacityBytes;
  unsigned int filledCount;
  unsigned int capacityCount;
};

hbui::ViewCacheSnapshot

struct hbui::ViewCacheSnapshot
{
  unsigned int viewId;
  hbui::CacheSnapshot shadows;
  hbui::CacheSnapshot paths;
  hbui::CacheSnapshot textures;
  hbui::CacheSnapshot scratchLayerTextures;
};

hbui::SystemCacheSnapshot

struct hbui::SystemCacheSnapshot
{
  unsigned int aliveImagesCount;
  unsigned int aliveTotalBytesUsed;
  unsigned int orphanedImagesCount;
  unsigned int orphanedBytesUsed;
};

hbui::BufferSnapshot

struct hbui::BufferSnapshot
{
  unsigned int id;
  unsigned int usedSize;
  unsigned int size;
};

hbui::DebugData

struct __cppobj hbui::DebugData
{
  const struct hbui::MemorySnapshot *mMemorySnapshot;
  std::vector<hbui::ViewCacheSnapshot> mViewCacheSnapshots;
  hbui::SystemCacheSnapshot mSystemCacheSnapshot;
  std::vector<hbui::BufferSnapshot> mVertexBufferSnapshots;
  std::vector<hbui::BufferSnapshot> mIndexBufferSnapshots;
};

hbui::IView_vtbl

struct /*VFT*/ hbui::IView_vtbl
{
  void (__fastcall *~IView)(hbui::IView *this);
  void (__fastcall *setViewListener)(hbui::IView *this, hbui::IViewListener *);
  void (__fastcall *resetViewListener)(hbui::IView *this);
  unsigned int (__fastcall *getId)(hbui::IView *this);
  void (__fastcall *update)(hbui::IView *this, long double);
  unsigned int (__fastcall *getWidth)(hbui::IView *this);
  unsigned int (__fastcall *getHeight)(hbui::IView *this);
  void (__fastcall *resize)(hbui::IView *this, unsigned int, unsigned int);
  void (__fastcall *reload)(hbui::IView *this);
  bool (__fastcall *isActive)(hbui::IView *this);
  void (__fastcall *deactivateTextInputAndFacets)(hbui::IView *this);
  void (__fastcall *updateInput)(hbui::IView *this);
  void (__fastcall *handleInput)(hbui::IView *this, const MouseAction *);
  void (__fastcall *setTextboxText)(hbui::IView *this, const std::string *);
  void (__fastcall *updateFacets)(hbui::IView *this);
  void (__fastcall *triggerEvent)(hbui::IView *this, const std::string *, const std::string *);
  void (__fastcall *setDebugFeature)(hbui::IView *this, UIDebugCommandFeature, bool);
  void (__fastcall *fillDebugData)(hbui::IView *this, hbui::DebugData *);
  void (__fastcall *handleMenuCancelButton)(hbui::IView *this);
  void (__fastcall *keyboardClosed)(hbui::IView *this);
  std::optional<RectangleArea> *(__fastcall *getTextInputControlArea)(hbui::IView *this, std::optional<RectangleArea> *result);
  std::optional<RectangleArea> *(__fastcall *getTextInputCaretOffsetArea)(hbui::IView *this, std::optional<RectangleArea> *result);
  void (__fastcall *routeChanged)(hbui::IView *this, const std::optional<hbui::RouterLocation> *, const hbui::RouterLocation *);
};

hbui::IFacetRegistry

struct __cppobj hbui::IFacetRegistry
{
  hbui::IFacetRegistry_vtbl *__vftable /*VFT*/;
};

hbui::IFacet

struct __cppobj hbui::IFacet
{
  hbui::IFacet_vtbl *__vftable /*VFT*/;
};

hbui::FacetBinder

struct __cppobj hbui::FacetBinder
{
};

hbui::IFacet_vtbl

struct /*VFT*/ hbui::IFacet_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);
};

hbui::IFacetRegistry_vtbl

struct /*VFT*/ hbui::IFacetRegistry_vtbl
{
  void (__fastcall *~IFacetRegistry)(hbui::IFacetRegistry *this);
  void (__fastcall *registerFacet)(hbui::IFacetRegistry *this, const std::string *, const std::function<std::unique_ptr<hbui::IFacet> __cdecl(void)> *);
  std::optional<enum hbui::IFacetRegistry::Error> *(__fastcall *activateFacet)(hbui::IFacetRegistry *this, std::optional<enum hbui::IFacetRegistry::Error> *result, hbui::FacetBinder *, const std::string *);
  std::optional<enum hbui::IFacetRegistry::Error> *(__fastcall *deactivateFacet)(hbui::IFacetRegistry *this, std::optional<enum hbui::IFacetRegistry::Error> *result, hbui::FacetBinder *, const std::string *);
  void (__fastcall *deactivateAllFacets)(hbui::IFacetRegistry *this, hbui::FacetBinder *);
  void (__fastcall *bind)(hbui::IFacetRegistry *this, hbui::FacetBinder *);
  void (__fastcall *update)(hbui::IFacetRegistry *this, hbui::FacetBinder *);
};

hbui::ILibrary_vtbl

struct /*VFT*/ hbui::ILibrary_vtbl
{
  void (__fastcall *~ILibrary)(hbui::ILibrary *this);
  void (__fastcall *update)(hbui::ILibrary *this, long double);
  void (__fastcall *onAppPreSuspended)(hbui::ILibrary *this, mce::RenderContext *);
  void (__fastcall *onAppResumed)(hbui::ILibrary *this, const Bedrock::NonOwnerPointer<mce::ShaderGroup>, const ResourcePackManager *);
  void (__fastcall *onActiveResourcePacksChanged)(hbui::ILibrary *this);
  std::tuple<std::unique_ptr<hbui::IView>,std::unique_ptr<hbui::IViewRenderer> > *(__fastcall *createViewAndRenderer)(hbui::ILibrary *this, std::tuple<std::unique_ptr<hbui::IView>,std::unique_ptr<hbui::IViewRenderer> > *result, const std::string *, unsigned int, unsigned int, std::unique_ptr<hbui::IFacetRegistry>, IClientInstance *, KeyboardManager *, bool);
  void (__fastcall *reloadAllViews)(hbui::ILibrary *this);
  void (__fastcall *setCompleteUninitialization)(hbui::ILibrary *this);
  void (__fastcall *fillDebugData)(hbui::ILibrary *this, hbui::DebugData *);
  void (__fastcall *initializeRendering)(hbui::ILibrary *this, const GuiData *, Bedrock::NonOwnerPointer<mce::ShaderGroup>, mce::RenderContext *);
  void (__fastcall *initializeBitmapFonts)(hbui::ILibrary *this, const ResourcePackManager *);
};

hbui::SceneProvider

struct __cppobj hbui::SceneProvider
{
  IClientInstance *mClientInstance;
  hbui::ILibrary *mUILibrary;
};

HolographicPlatform

struct __cppobj __declspec(align(2)) HolographicPlatform
{
  HolographicPlatform_vtbl *__vftable /*VFT*/;
  HolographicPlatform::HoloFrameOfReferenceSetupData mFrameData;
  Vec3 mCurrentHMDPosSpring;
  Vec3 mHoloRealityModeGazeDirMCSpace;
  std::recursive_mutex mMutex;
  std::unordered_map<unsigned int,Matrix> mTransformMap;
  std::vector<HolographicPlatform::HoloCursorWorldParams> mWorldCursorParamsVec;
  bool mBasicTransformsSet;
  bool mStereoEnabled;
  bool mVRLayeringActive;
  bool mAllowMirrorPresent;
  Matrix mHeadlockedUITransform;
  float mDynamicMonoscopicEyeConvergenceDistance;
  float mStereoPerformanceBlockPercentage;
  float mUILayerAlpha;
  int mRecenterHoloUITimeout;
  HolographicPlatform::AimFromSpace mAimFromSpace;
  bool mLeftHandAvailable;
  bool mRightHandAvailable;
  std::string mLivingRoomHintText;
  unsigned int mHolographicFeatures;
  Vec3 mHoloviewerGazePointMCSpace;
  float mRealityFrameScale;
  bool mStuckCursorTriggered;
  float mHoloviewerRotY;
  float mHoloscreenSize;
  float mHoloviewerSize;
  float mLastGazeXCoordNorm;
  float mLastGazeYCoordNorm;
  float mLastGazeXMouseCoordNorm;
  float mLastGazeYMouseCoordNorm;
  bool mGazeOnScreen;
  bool mGestureStatePrimaryHandIsHeld;
  bool mRecenterGazeActivationOriginPoint;
};

HolographicPlatform::LUID

struct HolographicPlatform::LUID
{
  unsigned int LowPart;
  int HighPart;
};

HolographicPlatform_vtbl

struct /*VFT*/ HolographicPlatform_vtbl
{
  void (__fastcall *~HolographicPlatform)(HolographicPlatform *this);
  void (__fastcall *init)(HolographicPlatform *this, std::shared_ptr<Options>);
  void (__fastcall *preInitUpdate)(HolographicPlatform *this);
  void (__fastcall *update)(HolographicPlatform *this, IClientInstance *);
  void (__fastcall *postRenderUpdate)(HolographicPlatform *this, IClientInstance *);
  void (__fastcall *getSoundSystemOutputDevice)(HolographicPlatform *this, SoundSystemGUID *);
  void (__fastcall *onAppFocusLost)(HolographicPlatform *this);
  void (__fastcall *onAppFocusGained)(HolographicPlatform *this);
  void (__fastcall *onAppSuspended)(HolographicPlatform *this);
  void (__fastcall *onAppResumed)(HolographicPlatform *this);
  void (__fastcall *onHMDFocusGained)(HolographicPlatform *this);
  void (__fastcall *onHMDFocusLost)(HolographicPlatform *this);
  void (__fastcall *onInitialResourcesLoaded)(HolographicPlatform *this);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *waitForOutputMode)(HolographicPlatform *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, VROutputMode);
  bool (__fastcall *holographicMode)(HolographicPlatform *this);
  int (__fastcall *getWorkerFramerate)(HolographicPlatform *this);
  bool (__fastcall *allowVRFrameExperience)(HolographicPlatform *this);
  bool (__fastcall *allowSplitScreen)(HolographicPlatform *this);
  bool (__fastcall *supportsLoadingScreen)(HolographicPlatform *this);
  bool (__fastcall *pauseIsDesired)(HolographicPlatform *this);
  bool (__fastcall *allowThirdPersonView)(HolographicPlatform *this);
  bool (__fastcall *useSinglePassStereo)(HolographicPlatform *this);
  bool (__fastcall *drawCubemapInMono)(HolographicPlatform *this);
  bool (__fastcall *isVRMode)(HolographicPlatform *this);
  bool (__fastcall *isARMode)(HolographicPlatform *this);
  bool (__fastcall *isRenderingIn2D)(HolographicPlatform *this);
  bool (__fastcall *isSessionVisible)(HolographicPlatform *this);
  bool (__fastcall *needsPostRenderUpdate)(HolographicPlatform *this);
  bool (__fastcall *deviceHasPositionalTracking)(HolographicPlatform *this);
  bool (__fastcall *deviceNeedsToBeRemovedForXblSignin)(HolographicPlatform *this);
  bool (__fastcall *deviceNeedsToBeRemovedForSkinPicker)(HolographicPlatform *this);
  bool (__fastcall *deviceNeedsToBeRemovedForFilePicker)(HolographicPlatform *this);
  VRHUDPosition (__fastcall *getDefaultVRHUDPosition)(HolographicPlatform *this);
  void (__fastcall *setUndockHandler)(HolographicPlatform *this, std::function<void __cdecl(void)>);
  int (__fastcall *numRequiredControllers)(HolographicPlatform *this);
  std::string *(__fastcall *getPlatformRecalibrationMessage)(HolographicPlatform *this, std::string *result);
  std::string *(__fastcall *getPlatformRecalibrationMessageTTS)(HolographicPlatform *this, std::string *result, const GamePadRemappingLayout *);
  std::string *(__fastcall *getPlatformAlignmentPrompt)(HolographicPlatform *this, std::string *result);
  std::string *(__fastcall *getPlatformAlignmentPromptTTS)(HolographicPlatform *this, std::string *result, const GamePadRemappingLayout *);
  bool (__fastcall *forceControllerUsage)(HolographicPlatform *this);
  bool (__fastcall *separateEyePasses)(HolographicPlatform *this);
  void (__fastcall *createRenderGraph)(HolographicPlatform *this, mce::RenderGraph *, IClientInstance *);
  bool (__fastcall *isGazeDevicePresent)(HolographicPlatform *this);
  bool (__fastcall *isGestureDevicePresent)(HolographicPlatform *this);
  bool (__fastcall *useAlternateTouchInput)(HolographicPlatform *this);
  void (__fastcall *resetBaseFrameOfReference)(HolographicPlatform *this, float, bool);
  HolographicPlatform::LUID (__fastcall *getHoloDeviceAdapterLUID)(HolographicPlatform *this);
  void (__fastcall *captureRenderDevice)(HolographicPlatform *this);
  bool (__fastcall *isLocated)(HolographicPlatform *this);
  bool (__fastcall *isPrimaryHandHeld)(HolographicPlatform *this);
  bool (__fastcall *isSecondaryHandHeld)(HolographicPlatform *this);
  void (__fastcall *setScreenLocation)(HolographicPlatform *this, const Matrix *);
  void (__fastcall *setScreenLocation)(HolographicPlatform *this, const Vec3 *, const Vec3 *, float);
  void (__fastcall *setHeadlockedUITransform)(HolographicPlatform *this, const Matrix *, const float);
  void (__fastcall *setScreenLocationOffset)(HolographicPlatform *this, const Vec3 *);
  void (__fastcall *resetScreenLocationOffset)(HolographicPlatform *this);
  void (__fastcall *setHoloviewerLocation)(HolographicPlatform *this, const Matrix *);
  void (__fastcall *setHoloviewerLocation)(HolographicPlatform *this, const Vec3 *, const Vec3 *, float, bool);
  void (__fastcall *setRealityAnchorLocation)(HolographicPlatform *this, const Matrix *);
  float (__fastcall *getViewableScreenSize)(HolographicPlatform *this, float);
  void (__fastcall *defaultLSRPlane)(HolographicPlatform *this, HolographicPlatform::MCLocation);
  void (__fastcall *updateLSRPlane)(HolographicPlatform *this, HolographicPlatform::MCLocation, const Vec3 *);
  void (__fastcall *getLastLSRPlanePosAndNormPS)(HolographicPlatform *this, Vec3 *, Vec3 *);
  float (__fastcall *getSRCastDistance)(HolographicPlatform *this);
  bool (__fastcall *startEnvironmentScanning)(HolographicPlatform *this);
  void (__fastcall *stopEnvironmentScanning)(HolographicPlatform *this);
  void (__fastcall *resetEnvironmentScan)(HolographicPlatform *this);
  void (__fastcall *renderSRData)(HolographicPlatform *this, float, float);
  bool (__fastcall *hideCursorOnFocusLost)(HolographicPlatform *this, IClientInstance *);
  bool (__fastcall *getGazeCastResultPS)(HolographicPlatform *this, Vec3 *, Vec3 *, Vec3 *);
  bool (__fastcall *getStereoEnabled)(HolographicPlatform *this);
  void (__fastcall *setStereoEnabled)(HolographicPlatform *this, bool);
  void (__fastcall *delayForNextFingerPress)(HolographicPlatform *this, int);
  float (__fastcall *getPreferredUIAspectRatio)(HolographicPlatform *this);
  float (__fastcall *getPreferredLivingRoomLevelAspectRation)(HolographicPlatform *this);
  float (__fastcall *getVRFOV)(HolographicPlatform *this);
  float (__fastcall *getDefaultIngameUIDistance)(HolographicPlatform *this);
  bool (__fastcall *shouldCompressHUDWidth)(HolographicPlatform *this);
  void (__fastcall *getUIScreenWidthHeightScale)(HolographicPlatform *this, unsigned int *, unsigned int *, float *);
  void (__fastcall *getLivingRoomLevelTextureWidthHeight)(HolographicPlatform *this, unsigned int *, unsigned int *, float *);
  void (__fastcall *getItemInHandOffset)(HolographicPlatform *this, Vec3 *);
  const std::string *(__fastcall *getLivingRoomHintTextTTS)(HolographicPlatform *this, const std::string *result, const GamePadRemappingLayout *);
  UIRenderMode (__fastcall *getUIRenderMode)(HolographicPlatform *this);
  UIRenderMode (__fastcall *getVRHUDRenderMode)(HolographicPlatform *this);
  float (__fastcall *getHudAlphaBlendFactor)(HolographicPlatform *this);
  bool (__fastcall *getVRLowFrequencyHUD)(HolographicPlatform *this);
  const char *(__fastcall *getHandMaterial)(HolographicPlatform *this);
  bool (__fastcall *wantsToStealMouse)(HolographicPlatform *this);
  bool (__fastcall *drawHolographicBordersForUI)(HolographicPlatform *this);
  float (__fastcall *getDefaultHalfHoloScreenWidth)(HolographicPlatform *this);
  float (__fastcall *getDefaultHalfHoloHUDWidth)(HolographicPlatform *this);
  float (__fastcall *getAmbientBoost)(HolographicPlatform *this, float);
  bool (__fastcall *clampToMinimumLight)(HolographicPlatform *this);
  void (__fastcall *setUIClipRect)(HolographicPlatform *this, const RectangleArea *);
  float (__fastcall *getUIClipGrowPixels)(HolographicPlatform *this);
  bool (__fastcall *isFeatureEnabled)(HolographicPlatform *this, unsigned int);
  std::optional<mce::framebuilder::gamecomponents::VrConfiguration> *(__fastcall *getVrConfiguration)(HolographicPlatform *this, std::optional<mce::framebuilder::gamecomponents::VrConfiguration> *result);
  void (__fastcall *frameUpdate)(HolographicPlatform *this, FrameUpdateContext *);
  unsigned __int16 (__fastcall *getLivingRoomViewSetId)(HolographicPlatform *this);
  const mce::framebuilder::LivingRoomDescription *(__fastcall *getLivingRoomDescription)(HolographicPlatform *this);
  float (__fastcall *getMinimumLivingRoomFrameDistance)(HolographicPlatform *this);
  bool (__fastcall *neverStealMouse)(HolographicPlatform *this);
  bool (__fastcall *present)(HolographicPlatform *this, ScreenContext *);
  bool (__fastcall *isWaitingForPresent)(HolographicPlatform *this);
  bool (__fastcall *getAllowMirrorPresent)(HolographicPlatform *this);
  bool (__fastcall *permitRendering)(HolographicPlatform *this);
  bool (__fastcall *permitAudio)(HolographicPlatform *this);
  void (__fastcall *_prepPlatformSpecificTransforms)(HolographicPlatform *this);
  bool (__fastcall *_shouldRenderIn2D)(HolographicPlatform *this);
};

HolographicPlatform::HoloCursorWorldParams

struct __cppobj __declspec(align(2)) HolographicPlatform::HoloCursorWorldParams
{
  HitResult hit;
  float pickRange;
  Vec3 pickDirectionMC;
  Vec3 lastGazePntMC;
  Vec3 lastGazeDirMC;
  Vec3 linearizedJumpAdj;
  float brightness;
  float overallScale;
  bool renderTextureMode;
  bool renderAsACube;
  bool forceFullyVisibleCrosshair;
};

HolosceneRenderer

struct __cppobj HolosceneRenderer
{
  mce::Mesh mGazeIconMesh;
  mce::Mesh mHoloScreenFrame;
  mce::Mesh mHoloScreenLivingRoom;
  mce::Mesh mHoloScreenLivingRoomTable;
  mce::Mesh mUICursorMesh;
  mce::Mesh mHandFrameMesh;
  mce::Mesh mHandPointerMesh;
  mce::Mesh mCoordFrameMesh;
  mce::Mesh mGameCursorMesh;
  mce::Mesh mGameCursorShadowMesh;
  mce::Mesh mGameCursorCubeMesh;
  mce::Mesh mHandMeshLeft;
  mce::Mesh mHandMeshRight;
  mce::TexturePtr mWhiteIconTexture;
  mce::TexturePtr mHolographicWallTexture;
  mce::TexturePtr mCrosshairTexture;
  mce::TexturePtr mLivingRoomTexture;
  mce::TexturePtr mHandTexture;
  mce::MaterialPtr mHoloCursorPseudoShadowMaterial;
  mce::MaterialPtr mHoloCursorMainPartMaterial;
  mce::MaterialPtr mLivingRoomMaterial;
  mce::MaterialPtr mTextMaterial;
  mce::MaterialPtr mCoordFrameMaterial;
  mce::MaterialPtr mHandPointerMaterial;
  mce::MaterialPtr mHandMaterial;
  IClientInstance *mClient;
  mce::Color mVanishingColor;
  std::string mHintTextLocId;
  int mHintCycles;
  float mUIDist;
  float mHalfHoloScreenWidth;
  float mHalfHoloHUDWidth;
};

hbui::ResourceRegistry::PathCount

struct __cppobj hbui::ResourceRegistry::PathCount
{
  unsigned int mRefcount;
  Core::PathBuffer<std::string > mPath;
};

hbui::ResourceRegistry

struct __cppobj hbui::ResourceRegistry
{
  std::unordered_map<std::string,hbui::ResourceRegistry::PathCount> mPaths;
  unsigned __int64 mNextAutomaticallyIncrementedId;
};

hbui::RouterHistory

struct __cppobj hbui::RouterHistory
{
  std::vector<hbui::RouterLocation> mEntries;
  int mCurrentIndex;
  hbui::RouterAction mLastAction;
  std::function<void __cdecl(std::optional<hbui::RouterLocation> const &,hbui::RouterLocation const &)> mOnChangeCallback;
  std::string mGetActionHelper;
};

hbui::Router

struct __cppobj hbui::Router
{
  hbui::RouterHistory mRouterHistory;
  hbui::RouterHistoryAdapter mRouterHistoryAdapter;
  std::unique_ptr<hbui::IRouteMatcher> mRouteMatcher;
  std::queue<hbui::Router::QueuedRoute> mQueuedRoutes;
  ISceneStack *mSceneStack;
  Core::Subject<hbui::RouterObserver,Core::SingleThreadedLock> mSubject;
  std::unique_ptr<hbui::IRoutePrerequisiteHandler> mPrerequisiteHandler;
  IScreenChangedEventing *mScreenChangedEventing;
  IClientInstance *mClientInstance;
  Social::IGameConnectionInfoProvider *mGameConnectionInfoProvider;
};

hbui::RouterHistoryAdapter

struct __cppobj hbui::RouterHistoryAdapter
{
  hbui::Router *mRouter;
  hbui::RouterHistory *mRouterHistory;
  hbui::RouterLocation mFallbackLocation;
};

hbui::IRouteMatcher

struct __cppobj hbui::IRouteMatcher
{
  hbui::IRouteMatcher_vtbl *__vftable /*VFT*/;
};

hbui::IRouteMatcher_vtbl

struct /*VFT*/ hbui::IRouteMatcher_vtbl
{
  void (__fastcall *~IRouteMatcher)(hbui::IRouteMatcher *this);
  void (__fastcall *add)(hbui::IRouteMatcher *this, const std::string *, const std::basic_regex<char,std::regex_traits<char> > *, hbui::RouteType, hbui::RouteMode, std::function<void __cdecl(std::string const &)>);
  void (__fastcall *addDefault)(hbui::IRouteMatcher *this, const std::string *, const std::string *);
  void (__fastcall *resolve)(hbui::IRouteMatcher *this, const std::string *);
  bool (__fastcall *isSupported)(hbui::IRouteMatcher *this, const std::string *);
  bool (__fastcall *areCompatible)(hbui::IRouteMatcher *this, const std::string *, const std::string *);
  bool (__fastcall *isRouteInDirectory)(hbui::IRouteMatcher *this, const std::string *, const std::string *);
  std::optional<std::string > *(__fastcall *getDefaultRouteForFile)(hbui::IRouteMatcher *this, std::optional<std::string > *result, const std::string *);
  std::optional<std::string > *(__fastcall *getDefaultRouteForDirectory)(hbui::IRouteMatcher *this, std::optional<std::string > *result, const std::string *);
  std::optional<enum hbui::RouteType> *(__fastcall *getRouteType)(hbui::IRouteMatcher *this, std::optional<enum hbui::RouteType> *result, const std::string *);
  std::optional<enum hbui::RouteMode> *(__fastcall *getRouteMode)(hbui::IRouteMatcher *this, std::optional<enum hbui::RouteMode> *result, const std::string *);
};

hbui::Router::QueuedRoute

struct __cppobj __declspec(align(8)) hbui::Router::QueuedRoute
{
  std::string route;
  std::string state;
  hbui::Router::QueuedRouteAction action;
};

hbui::RouterObserver

struct __cppobj hbui::RouterObserver : Core::Observer<hbui::RouterObserver,Core::SingleThreadedLock>
{
};

hbui::RouterObserver_vtbl

struct /*VFT*/ hbui::RouterObserver_vtbl
{
  void (__fastcall *~Observer<hbui::RouterObserver,Core::SingleThreadedLock>)(Core::Observer<hbui::RouterObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *_onSubjectDestroyed)(Core::Observer<hbui::RouterObserver,Core::SingleThreadedLock> *this);
  void (__fastcall *onRouteChanged)(hbui::RouterObserver *this, const std::optional<hbui::RouterLocation> *, const hbui::RouterLocation *, hbui::RouterAction);
};

hbui::IRoutePrerequisiteHandler

struct __cppobj hbui::IRoutePrerequisiteHandler
{
  hbui::IRoutePrerequisiteHandler_vtbl *__vftable /*VFT*/;
};

hbui::IRoutePrerequisiteHandler_vtbl

struct /*VFT*/ hbui::IRoutePrerequisiteHandler_vtbl
{
  void (__fastcall *~IRoutePrerequisiteHandler)(hbui::IRoutePrerequisiteHandler *this);
  hbui::RoutePrerequisiteState (__fastcall *handleRoutePrerequisites)(hbui::IRoutePrerequisiteHandler *this, const std::string *, const std::string *);
};

hbui::IFeature

struct __cppobj hbui::IFeature
{
  hbui::IFeature_vtbl *__vftable /*VFT*/;
};

hbui::IFeature_vtbl

struct /*VFT*/ hbui::IFeature_vtbl
{
  void (__fastcall *~IFeature)(hbui::IFeature *this);
  bool (__fastcall *isEnabled)(hbui::IFeature *this);
  void (__fastcall *registerIsEnabledChangedCallback)(hbui::IFeature *this, Bedrock::PubSub::ScopedSubscription *, std::function<void __cdecl(bool)>);
};

hbui::Feature

struct __cppobj hbui::Feature : hbui::IFeature
{
  Option *mMainToggle;
};

hbui::Feature_vtbl

struct /*VFT*/ hbui::Feature_vtbl
{
  void (__fastcall *~IFeature)(hbui::IFeature *this);
  bool (__fastcall *isEnabled)(hbui::IFeature *this);
  void (__fastcall *registerIsEnabledChangedCallback)(hbui::IFeature *this, Bedrock::PubSub::ScopedSubscription *, std::function<void __cdecl(bool)>);
};

hbui::RouterConfiguration

struct __cppobj hbui::RouterConfiguration
{
  hbui::RouterConfiguration_vtbl *__vftable /*VFT*/;
  const ResourcePackManager *mPackManager;
  IFileAccess *mFileAccess;
  Core::PathBuffer<std::string > mDataPath;
  std::vector<hbui::Route> mDefaultRoutes;
  std::vector<hbui::Route> mInGameRoutes;
  std::vector<hbui::Route> mOutOfGameRoutes;
};

hbui::RouterConfiguration_vtbl

struct /*VFT*/ hbui::RouterConfiguration_vtbl
{
  void (__fastcall *~RouterConfiguration)(hbui::RouterConfiguration *this);
};

hbui::Route

struct __cppobj __declspec(align(8)) hbui::Route
{
  std::string fileName;
  std::string route;
  _BYTE mode[4];
};

HummingbirdUI

struct __cppobj HummingbirdUI : IHummingbirdUI
{
  hbui::DebugData mDebugData;
  hbui::Feature mFeatureToggle;
  hbui::Feature mUIRefreshToggle;
  hbui::Feature mUITextToSpeechToggle;
  ARVRPlatform mArVrPlatform;
  std::weak_ptr<IFlightingToggles> mFlightingToggles;
  std::function<void __cdecl(void)> mResetToMainMenu;
  Core::IFileSystem *mFileSystem;
  IFileAccess *mAppPackageFileAccess;
  const Core::PathBuffer<std::string > mPackagePath;
  IFileAccess *mRawFileAccess;
  const ResourcePackManager *mPackManager;
  hbui::RouterConfiguration mRouterConfigurationLoader;
  std::unique_ptr<hbui::ILibrary> mLibrary;
  hbui::ResourceRegistry mResourceRegistry;
  bool mAppWillRestart;
  std::vector<HummingbirdUI::CallbackEntry> mRouteConfigurationChangeCallbacks;
  Bedrock::PubSub::ScopedSubscription mUIRefreshSubscription;
  Bedrock::PubSub::ScopedSubscription mUITextToSpeechSubscription;
  Bedrock::PubSub::ScopedSubscription mFlightingTogglesSubscription;
};

HummingbirdUI_vtbl

struct /*VFT*/ HummingbirdUI_vtbl
{
  void (__fastcall *~IHummingbirdUI)(IHummingbirdUI *this);
  bool (__fastcall *isUIRefreshEnabled)(IHummingbirdUI *this);
};

HudScreenCapabilities

struct __cppobj __declspec(align(8)) HudScreenCapabilities : TypedScreenCapabilities<HudScreenCapabilities>
{
  bool mDisplayChatInputMsg;
};

HudScreenCapabilities_vtbl

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

HitDetectSystem

struct __cppobj HitDetectSystem
{
  HitDetectSystem_vtbl *__vftable /*VFT*/;
  float mPickRange;
  float mInteractRange;
  bool mEvaluated;
  __declspec(align(8)) HitResult mViewHitResult;
  HitResult mViewLastHitResult;
  HitResult mViewLiquidHitResult;
  HitResult mViewLastLiquidHitResult;
  HitResult mPickHitResult;
  HitResult mPickLastHitResult;
  HitResult mPickLiquidHitResult;
  HitResult mPickLastLiquidHitResult;
  ClientHitDetectCoordinator *mEventCoordinator;
};

HitDetectSystem_vtbl

struct /*VFT*/ HitDetectSystem_vtbl
{
  void (__fastcall *~HitDetectSystem)(HitDetectSystem *this);
  void (__fastcall *reset)(HitDetectSystem *this);
  void (__fastcall *tick)(HitDetectSystem *this);
  void (__fastcall *evaluate)(HitDetectSystem *this, IClientInstance *, float);
  void (__fastcall *_evaluateType)(HitDetectSystem *this, IClientInstance *, float, Actor *, LocalPlayer *, bool, HitResult *, HitResult *);
};

HoloHudDriftDynamics

struct __cppobj HoloHudDriftDynamics
{
  Matrix mMatrixPatch;
  Vec3 mHudDirPoseSpace;
  Vec3 mHudDirAVelPoseSpace;
  Vec3 mLastHudTargetDir;
  Vec3 mLastGazeToPoseDelta;
  long double mLastHudDirUpdateTime;
  bool mResetLastTargetDir;
  IClientInstance *mClient;
};

hbui::ITelemetry

struct __cppobj hbui::ITelemetry
{
  hbui::ITelemetry_vtbl *__vftable /*VFT*/;
};

hbui::ITelemetry_vtbl

struct /*VFT*/ hbui::ITelemetry_vtbl
{
  void (__fastcall *~ITelemetry)(hbui::ITelemetry *this);
  void (__fastcall *fireEventHummingbirdScreenLoadFailed)(hbui::ITelemetry *this);
  void (__fastcall *fireEventHummingbirdRouteUnsupported)(hbui::ITelemetry *this);
  void (__fastcall *fireEventHummingbirdJsException)(hbui::ITelemetry *this);
  void (__fastcall *fireEventScreenLoaded)(hbui::ITelemetry *this, const std::string *, long double, long double, long double);
};

hbui::Telemetry

struct __cppobj hbui::Telemetry : hbui::ITelemetry
{
  IClientInstance *mClientInstance;
  IMinecraftEventing *mEventing;
};

hbui::Telemetry_vtbl

struct /*VFT*/ hbui::Telemetry_vtbl
{
  void (__fastcall *~ITelemetry)(hbui::ITelemetry *this);
  void (__fastcall *fireEventHummingbirdScreenLoadFailed)(hbui::ITelemetry *this);
  void (__fastcall *fireEventHummingbirdRouteUnsupported)(hbui::ITelemetry *this);
  void (__fastcall *fireEventHummingbirdJsException)(hbui::ITelemetry *this);
  void (__fastcall *fireEventScreenLoaded)(hbui::ITelemetry *this, const std::string *, long double, long double, long double);
};

HardcodedSpawnAreaRegistry

struct __cppobj HardcodedSpawnAreaRegistry
{
  std::unordered_map<enum HardcodedSpawnAreaType,std::vector<MobSpawnerData>> mMap;
};

HookNetworkPeer

struct __cppobj HookNetworkPeer : NetworkPeer
{
  unsigned int mUserId;
  NetworkHandler *mLobbyHandler;
  std::unique_ptr<MPMCQueue<std::string >> mIncomingData;
};

HookNetworkPeer_vtbl

struct /*VFT*/ HookNetworkPeer_vtbl
{
  void (__fastcall *~NetworkPeer)(NetworkPeer *this);
  void (__fastcall *sendPacket)(NetworkPeer *this, const std::string *, NetworkPeer::Reliability, int, unsigned __int16, Compressibility);
  NetworkPeer::DataStatus (__fastcall *receivePacket)(NetworkPeer *this, std::string *);
  NetworkPeer::NetworkStatus *(__fastcall *getNetworkStatus)(NetworkPeer *this, NetworkPeer::NetworkStatus *result);
  void (__fastcall *addIncomingData)(NetworkPeer *this, std::string);
  void (__fastcall *update)(NetworkPeer *this);
  void (__fastcall *flush)(NetworkPeer *this, std::function<void __cdecl(void)> *);
};

HudContainerManagerModel

struct __cppobj HudContainerManagerModel : ContainerManagerModel
{
  std::vector<ItemStack> mLastSlots;
};

HudContainerManagerModel_vtbl

struct /*VFT*/ HudContainerManagerModel_vtbl
{
  void (__fastcall *~IContainerManager)(IContainerManager *this);
  ContainerID (__fastcall *getContainerId)(IContainerManager *this);
  void (__fastcall *setContainerId)(IContainerManager *this, ContainerID);
  ContainerType (__fastcall *getContainerType)(IContainerManager *this);
  void (__fastcall *setContainerType)(IContainerManager *this, ContainerType);
  void (__fastcall *serverInitItemStackIds)(IContainerManager *this);
  std::vector<ItemStack> *(__fastcall *getItemCopies)(IContainerManager *this, std::vector<ItemStack> *result);
  void (__fastcall *setSlot)(IContainerManager *this, int, const ItemStack *, bool);
  const ItemStack *(__fastcall *getSlot)(IContainerManager *this, int);
  void (__fastcall *setData)(IContainerManager *this, int, int);
  void (__fastcall *broadcastChanges)(IContainerManager *this);
  bool (__fastcall *validateContainer)(IContainerManager *this);
  bool (__fastcall *isValid)(ContainerManagerModel *this, float);
  ContainerScreenContext *(__fastcall *_postInit)(ContainerManagerModel *this, ContainerScreenContext *result);
};

HideDescription

struct __cppobj HideDescription : ComponentDescription
{
};

HideDescription_vtbl

struct /*VFT*/ HideDescription_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 *);
};

hbui::FacetBase<hbui::AnimationFacet>

struct __cppobj hbui::FacetBase<hbui::AnimationFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::AnimationFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::AnimationFacet>_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);
};

hbui::OptionWrapper<bool>

struct __cppobj hbui::OptionWrapper<bool>
{
  Option *mOption;
  Bedrock::PubSub::ScopedSubscription mOptionSubscription;
};

hbui::AnimationFacet

struct __cppobj hbui::AnimationFacet : hbui::FacetBase<hbui::AnimationFacet>
{
  bool mIsDirty;
  bool mScreenAnimations;
  hbui::OptionWrapper<bool> mScreenAnimationsOption;
};

hbui::AnimationFacet_vtbl

struct /*VFT*/ hbui::AnimationFacet_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);
};

hbui::OptionWrapper<bool>::{ctor}::__l5::<lambda_0dd2ebf6df7ed0553bba2bc4c3b54465>

struct __cppobj hbui::OptionWrapper<bool>::{ctor}::__l5::<lambda_0dd2ebf6df7ed0553bba2bc4c3b54465>
{
  hbui::OptionWrapper<bool> *const __this;
  bool *value;
  bool *isDirty;
};

hbui::RoutePrerequisiteHandlerMC

struct __cppobj hbui::RoutePrerequisiteHandlerMC : hbui::IRoutePrerequisiteHandler
{
  IMinecraftGame *mMinecraftGame;
  IClientInstance *mClient;
};

hbui::RoutePrerequisiteHandlerMC_vtbl

struct /*VFT*/ hbui::RoutePrerequisiteHandlerMC_vtbl
{
  void (__fastcall *~IRoutePrerequisiteHandler)(hbui::IRoutePrerequisiteHandler *this);
  hbui::RoutePrerequisiteState (__fastcall *handleRoutePrerequisites)(hbui::IRoutePrerequisiteHandler *this, const std::string *, const std::string *);
};

HomeSection

struct __cppobj HomeSection : PDPSection
{
  const StoreCatalogItem *mItem;
};

HomeSection_vtbl

struct /*VFT*/ HomeSection_vtbl
{
  void (__fastcall *~PDPSection)(PDPSection *this);
  std::unique_ptr<ScreenController> *(__fastcall *makeScreenController)(PDPSection *this, std::unique_ptr<ScreenController> *result, std::shared_ptr<MainMenuScreenModel>);
};

HydrateResponseCallbackHandler

struct __cppobj HydrateResponseCallbackHandler
{
  HydrateResponseCallbackHandler_vtbl *__vftable /*VFT*/;
  std::string mAcceptLanguage;
};

HydrateResponseCallbackHandler_vtbl

struct /*VFT*/ HydrateResponseCallbackHandler_vtbl
{
  void (__fastcall *~HydrateResponseCallbackHandler)(HydrateResponseCallbackHandler *this);
  void (__fastcall *parseResponse)(HydrateResponseCallbackHandler *this, const struct web::json::value *, const CatalogBackend *);
  void (__fastcall *handleResponseCallback)(HydrateResponseCallbackHandler *this);
};

hbui::FacetBase<hbui::RouterFacet>

struct __cppobj hbui::FacetBase<hbui::RouterFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::RouterFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::RouterFacet>_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);
};

hbui::RouterFacet

struct __cppobj hbui::RouterFacet : hbui::FacetBase<hbui::RouterFacet>, hbui::RouterObserver
{
  bool mIsDirty;
  hbui::Router *mRouter;
};

hbui::RouterFacet_vtbl

struct /*VFT*/ hbui::RouterFacet_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);
};

hbui::RoutePrerequisiteHandlerMC::_handleAchievementPrerequisites::__l15::<lambda_0cc03f2b69703d47831966b90071f608>

struct __cppobj hbui::RoutePrerequisiteHandlerMC::_handleAchievementPrerequisites::__l15::<lambda_0cc03f2b69703d47831966b90071f608>
{
  hbui::RoutePrerequisiteHandlerMC *const __this;
  const std::string achievementDeepLinkId;
};

hbui::RoutePrerequisiteHandlerMC::_handleAchievementPrerequisites::__l13::<lambda_eeeb9f2af150426eb424d350f84fc216>

struct __cppobj hbui::RoutePrerequisiteHandlerMC::_handleAchievementPrerequisites::__l13::<lambda_eeeb9f2af150426eb424d350f84fc216>
{
};

HudContainerManagerController

struct __cppobj HudContainerManagerController : ContainerManagerController
{
  std::weak_ptr<HudContainerManagerModel> mHudContainerManagerModel;
};

HudContainerManagerController_vtbl

struct /*VFT*/ HudContainerManagerController_vtbl
{
  void (__fastcall *~ContainerManagerController)(ContainerManagerController *this);
  void (__fastcall *registerContainerCallbacks)(ContainerManagerController *this);
  const ItemStackBase *(__fastcall *getTakeableItemStackBase)(ContainerManagerController *this, const SlotData *);
  void (__fastcall *handleTakeAmount)(ContainerManagerController *this, const SlotData *, int, const SlotData *);
  void (__fastcall *handleTakeAll)(ContainerManagerController *this, const SlotData *, const SlotData *);
  void (__fastcall *handlePlaceAll)(ContainerManagerController *this, const SelectedSlotInfo *, const SlotData *);
  void (__fastcall *handleTakeHalf)(ContainerManagerController *this, const SlotData *, const SlotData *);
  void (__fastcall *handlePlaceOne)(ContainerManagerController *this, const SlotData *, const SlotData *);
  void (__fastcall *handlePlaceAmount)(ContainerManagerController *this, const SlotData *, int, const SlotData *);
  int (__fastcall *handleAutoPlace)(ContainerManagerController *this, const SlotData *, int, const std::vector<AutoPlaceItem> *, std::vector<AutoPlaceResult> *);
  int (__fastcall *handleAutoPlaceStack)(ContainerManagerController *this, const SlotData *, ItemTakeType, const std::vector<AutoPlaceItem> *, std::vector<AutoPlaceResult> *);
  void (__fastcall *handleSplitSingle)(ContainerManagerController *this, const SlotData *, const SlotData *);
  void (__fastcall *handleSplitMultiple)(ContainerManagerController *this, const SelectedSlotInfo *, const ItemInstance *, const SlotData *);
  void (__fastcall *handleCoalesce)(ContainerManagerController *this, const SlotData *, const std::vector<std::string> *);
  bool (__fastcall *handleSwap)(ContainerManagerController *this, const SlotData *, const SlotData *);
  bool (__fastcall *handleDrop)(ContainerManagerController *this, const SlotData *, const ItemTransferAmount);
  bool (__fastcall *handleDestroy)(ContainerManagerController *this, const SlotData *, const ItemTransferAmount);
  bool (__fastcall *handleDestroy)(ContainerManagerController *this, const SelectedSlotInfo *, const ItemTransferAmount);
  bool (__fastcall *handleConsume)(ContainerManagerController *this, const SlotData *, const ItemTransferAmount);
  void (__fastcall *handleAddToStack)(ContainerManagerController *this, const SlotData *, const SlotData *, ItemTakeType);
  void (__fastcall *closeContainers)(ContainerManagerController *this);
  const std::vector<ContainerSplitControl> *(__fastcall *getSplitItems)(ContainerManagerController *this);
  bool (__fastcall *isOutputSlot)(ContainerManagerController *this, const std::string *);
  void (__fastcall *_onItemTransferredFrom)(ContainerManagerController *this, const ItemInstance *, const SlotData *);
  void (__fastcall *_onItemTransferredTo)(ContainerManagerController *this, const ItemInstance *, const SlotData *);
  void (__fastcall *_onItemAcquired)(ContainerManagerController *this, const ItemInstance *, const SlotData *);
  void (__fastcall *_onItemPlaced)(ContainerManagerController *this, const ItemInstance *, const SlotData *);
};

History::TickMobReplay

struct __cppobj History::TickMobReplay : IReplayableActorInput
{
};

History::TickMobReplay_vtbl

struct /*VFT*/ History::TickMobReplay_vtbl
{
  void (__fastcall *~IReplayableActorInput)(IReplayableActorInput *this);
  void (__fastcall *advanceFrame)(IReplayableActorInput *this, IActorMovementProxy *);
  AdvanceFrameResult (__fastcall *advanceLiveFrame)(IReplayableActorInput *this, Actor *);
};

History::SynchedActorDataReplay

struct __cppobj History::SynchedActorDataReplay : IReplayableActorInput
{
  std::vector<std::unique_ptr<DataItem>> mData;
};

History::SynchedActorDataReplay_vtbl

struct /*VFT*/ History::SynchedActorDataReplay_vtbl
{
  void (__fastcall *~IReplayableActorInput)(IReplayableActorInput *this);
  void (__fastcall *advanceFrame)(IReplayableActorInput *this, IActorMovementProxy *);
  AdvanceFrameResult (__fastcall *advanceLiveFrame)(IReplayableActorInput *this, Actor *);
};

History::AttributeReplay

struct __cppobj History::AttributeReplay : IReplayableActorInput
{
  const UpdateAttributesPacket mPacket;
};

History::AttributeReplay_vtbl

struct /*VFT*/ History::AttributeReplay_vtbl
{
  void (__fastcall *~IReplayableActorInput)(IReplayableActorInput *this);
  void (__fastcall *advanceFrame)(IReplayableActorInput *this, IActorMovementProxy *);
  AdvanceFrameResult (__fastcall *advanceLiveFrame)(IReplayableActorInput *this, Actor *);
};

History::createReplayableActorStateSource::__l2::FunctionStateSource

struct __cppobj History::createReplayableActorStateSource::__l2::FunctionStateSource : IReplayableActorStateSource
{
  std::function<std::unique_ptr<IReplayableActorState> __cdecl(IActorMovementProxy &)> mCreator;
};

History::createReplayableActorStateSource::__l2::FunctionStateSource_vtbl

struct /*VFT*/ History::createReplayableActorStateSource::__l2::FunctionStateSource_vtbl
{
  void (__fastcall *~IReplayableActorStateSource)(IReplayableActorStateSource *this);
  std::unique_ptr<IReplayableActorState> *(__fastcall *extract)(IReplayableActorStateSource *this, std::unique_ptr<IReplayableActorState> *result, IActorMovementProxy *);
};

History::createPlayerSnapshotReplaySource::__l2::PlayerSnapshotReplay

struct __cppobj History::createPlayerSnapshotReplaySource::__l2::PlayerSnapshotReplay : IReplayableActorState
{
  PlayerSnapshot mSnapshot;
};

History::createPlayerSnapshotReplaySource::__l2::PlayerSnapshotReplay_vtbl

struct /*VFT*/ History::createPlayerSnapshotReplaySource::__l2::PlayerSnapshotReplay_vtbl
{
  void (__fastcall *~IReplayableActorState)(IReplayableActorState *this);
  void (__fastcall *apply)(IReplayableActorState *this, IActorMovementProxy *);
};

History::createPlayerSnapshotReplaySource::__l2::<lambda_1f894fb1c8414cded9e799b2cb78ac08>

struct __cppobj History::createPlayerSnapshotReplaySource::__l2::<lambda_1f894fb1c8414cded9e799b2cb78ac08>
{
};

History::SynchedActorDataReplay::advanceLiveFrame::__l5::<lambda_061e6f19e2a2840cfeb37a624df18704>

struct __cppobj History::SynchedActorDataReplay::advanceLiveFrame::__l5::<lambda_061e6f19e2a2840cfeb37a624df18704>
{
  ActorUniqueID actorID;
};

HMENU__

struct HMENU__
{
  int unused;
};

HBITMAP__

struct HBITMAP__
{
  int unused;
};

HKEY__

struct HKEY__
{
  int unused;
};

HICON__

struct HICON__
{
  int unused;
};

HBRUSH__

struct HBRUSH__
{
  int unused;
};

HPALETTE__

struct HPALETTE__
{
  int unused;
};

HDC__

struct HDC__
{
  int unused;
};

HENHMETAFILE__

struct HENHMETAFILE__
{
  int unused;
};

HSTRING__

struct HSTRING__
{
  int unused;
};

HWINSTA__

struct HWINSTA__
{
  int unused;
};

hostent

struct hostent
{
  char *h_name;
  char **h_aliases;
  __int16 h_addrtype;
  __int16 h_length;
  char **h_addr_list;
};

HSTRING_HEADER

struct HSTRING_HEADER
{
  HSTRING_HEADER::<unnamed_type_Reserved> Reserved;
};

HMETAFILE__

struct HMETAFILE__
{
  int unused;
};

HRSRC__

struct HRSRC__
{
  int unused;
};

HRAWINPUT__

struct HRAWINPUT__
{
  int unused;
};

HTOUCHINPUT__

struct HTOUCHINPUT__
{
  int unused;
};

HashedString::StringHasher<char const *>

struct __cppobj HashedString::StringHasher<char const *>
{
};

HashedString::Hash64<0>

struct __cppobj HashedString::Hash64<0>
{
};

HashedString::Hash64_noNullTerminator<0>

struct __cppobj HashedString::Hash64_noNullTerminator<0>
{
};

HTASK__

struct HTASK__
{
  int unused;
};

HPEN__

struct HPEN__
{
  int unused;
};

HRGN__

struct HRGN__
{
  int unused;
};

HACCEL__

struct HACCEL__
{
  int unused;
};

HDESK__

struct HDESK__
{
  int unused;
};

HUMPD__

struct HUMPD__
{
  int unused;
};

HIMC__

struct HIMC__
{
  int unused;
};

HHOOK__

struct HHOOK__
{
  int unused;
};

HWINEVENTHOOK__

struct HWINEVENTHOOK__
{
  int unused;
};

HGLRC__

struct HGLRC__
{
  int unused;
};

HashType64_hash

struct __cppobj HashType64_hash
{
};

HIMCC__

struct HIMCC__
{
  int unused;
};

HCOLORSPACE__

struct HCOLORSPACE__
{
  int unused;
};

HMONITOR__

struct HMONITOR__
{
  int unused;
};

HGESTUREINFO__

struct HGESTUREINFO__
{
  int unused;
};

HLSURF__

struct HLSURF__
{
  int unused;
};

HFONT__

struct HFONT__
{
  int unused;
};

HSTRING_BUFFER__

struct HSTRING_BUFFER__
{
  int unused;
};

HKL__

struct HKL__
{
  int unused;
};

HSTR__

struct HSTR__
{
  int unused;
};

HDROP__

struct HDROP__
{
  int unused;
};

HSPRITE__

struct HSPRITE__
{
  int unused;
};

HelpCommand

struct __cppobj __declspec(align(8)) HelpCommand : Command
{
  std::string mCommand;
  int mPage;
};

HelpCommand_vtbl

struct /*VFT*/ HelpCommand_vtbl
{
  void (__fastcall *~Command)(Command *this);
  void (__fastcall *execute)(Command *this, const CommandOrigin *, CommandOutput *);
};

hbui::Scene

struct __cppobj hbui::Scene : AbstractScene, hbui::IViewListener, hbui::RouterObserver
{
  unsigned int mWidth;
  unsigned int mHeight;
  std::unique_ptr<hbui::IView> mView;
  std::unique_ptr<hbui::IViewRenderer> mViewRenderer;
  std::unique_ptr<IScreenSettings> mScreenSettings;
  const std::string mInitialURL;
  std::string mCurrentRoute;
  _BYTE mMode[4];
  _BYTE mState[4];
  RectangleArea mRenderingAABB;
  glm::tvec2<float,0> mGamepadCursorPosition;
  __int16 mCurrentPointerPositionX;
  __int16 mCurrentPointerPositionY;
  InputMode mCurrentInputMode;
  _BYTE mCurrentVRInputMode[4];
  std::unique_ptr<AbstractScreenSetupCleanupStrategy> mScreenSetupCleanup;
  std::shared_ptr<AbstractSceneProxy> mProxy;
  std::function<void __cdecl(void)> mOnLoadFailedCallback;
  hbui::ITelemetry *mTelemetry;
};

hbui::Scene_vtbl

struct /*VFT*/ hbui::Scene_vtbl
{
  void (__fastcall *~AbstractScene)(AbstractScene *this);
  void (__fastcall *OnMessage)(AbstractScene *this, UIMessage, std::string, std::vector<std::shared_ptr<MessageParam>>);
  std::shared_ptr<UIControl> *(__fastcall *getRootControl)(AbstractScene *this, std::shared_ptr<UIControl> *result);
  std::shared_ptr<UIControlFactory> *(__fastcall *getControlFactory)(AbstractScene *this, std::shared_ptr<UIControlFactory> *result);
  bool (__fastcall *isShowingModUI)(AbstractScene *this);
  void (__fastcall *setIsShowingModUI)(AbstractScene *this, bool);
  bool (__fastcall *isUIScene)(AbstractScene *this);
  void (__fastcall *init)(AbstractScene *this, const ScreenSizeData *);
  void (__fastcall *setSize)(AbstractScene *this, const ScreenSizeData *);
  void (__fastcall *onSetKeyboardHeight)(AbstractScene *this, float);
  void (__fastcall *onInternetUpdate)(AbstractScene *this);
  std::vector<RectangleArea> *(__fastcall *getInputAreas)(AbstractScene *this, std::vector<RectangleArea> *result);
  void (__fastcall *onFocusGained)(AbstractScene *this);
  void (__fastcall *onFocusLost)(AbstractScene *this);
  void (__fastcall *terminate)(AbstractScene *this);
  void (__fastcall *onCreation)(AbstractScene *this);
  void (__fastcall *onLeave)(AbstractScene *this);
  void (__fastcall *onGameEventNotification)(AbstractScene *this, ui::GameEventNotification);
  void (__fastcall *_handleDirtyVisualTree)(AbstractScene *this, bool);
  void (__fastcall *leaveScreen)(AbstractScene *this);
  void (__fastcall *tick)(AbstractScene *this, int, int);
  void (__fastcall *updateEvents)(AbstractScene *this);
  void (__fastcall *applyInput)(AbstractScene *this, float);
  void (__fastcall *update)(AbstractScene *this, long double);
  void (__fastcall *frameUpdate)(AbstractScene *this, MinecraftUIFrameUpdateContext *);
  void (__fastcall *preRenderUpdate)(AbstractScene *this, ScreenContext *);
  void (__fastcall *prepareFrame)(AbstractScene *this, ScreenContext *);
  void (__fastcall *render)(AbstractScene *this, ScreenContext *, const FrameRenderObject *);
  void (__fastcall *postRenderUpdate)(AbstractScene *this, ScreenContext *);
  void (__fastcall *setupAndRender)(AbstractScene *this, ScreenContext *);
  void (__fastcall *handleInputModeChanged)(AbstractScene *this, InputMode);
  void (__fastcall *handleHoloInputModeChanged)(AbstractScene *this, HoloUIInputMode);
  void (__fastcall *handleButtonPress)(AbstractScene *this, unsigned int, FocusImpact);
  void (__fastcall *handleButtonRelease)(AbstractScene *this, unsigned int, FocusImpact);
  void (__fastcall *handleRawInputEvent)(AbstractScene *this, int, RawInputType, ButtonState, bool);
  bool (__fastcall *handlePointerLocation)(AbstractScene *this, const PointerLocationEventData *, FocusImpact);
  void (__fastcall *handlePointerPressed)(AbstractScene *this, bool);
  void (__fastcall *handleDirection)(AbstractScene *this, DirectionId, float, float, FocusImpact);
  bool (__fastcall *handleBackEvent)(AbstractScene *this, bool);
  void (__fastcall *handleTextChar)(AbstractScene *this, const std::string *, bool, FocusImpact);
  void (__fastcall *handleCaretLocation)(AbstractScene *this, int, FocusImpact);
  void (__fastcall *setTextboxText)(AbstractScene *this, const std::string *);
  void (__fastcall *onKeyboardDismissed)(AbstractScene *this);
  void (__fastcall *onKeyboardDisabled)(AbstractScene *this);
  void (__fastcall *handleLicenseChanged)(AbstractScene *this);
  void (__fastcall *handleIdentityGained)(AbstractScene *this);
  void (__fastcall *handleIdentityLost)(AbstractScene *this);
  void (__fastcall *handleGazeGestureInput)(AbstractScene *this, __int16, float, float, float, FocusImpact);
  void (__fastcall *handleDictationEvent)(AbstractScene *this, const std::string *);
  void (__fastcall *handleCommandEvent)(AbstractScene *this, const VoiceCommand *);
  bool (__fastcall *renderGameBehind)(AbstractScene *this);
  bool (__fastcall *absorbsInput)(AbstractScene *this);
  bool (__fastcall *closeOnPlayerHurt)(AbstractScene *this);
  bool (__fastcall *isModal)(AbstractScene *this);
  bool (__fastcall *isShowingMenu)(AbstractScene *this);
  bool (__fastcall *shouldStealMouse)(AbstractScene *this);
  bool (__fastcall *screenIsNotFlushable)(AbstractScene *this);
  bool (__fastcall *alwaysAcceptsInput)(AbstractScene *this);
  bool (__fastcall *screenDrawsLast)(AbstractScene *this);
  bool (__fastcall *isPlayScreen)(AbstractScene *this);
  bool (__fastcall *renderOnlyWhenTopMost)(AbstractScene *this);
  bool (__fastcall *lowFreqRendering)(AbstractScene *this);
  bool (__fastcall *ignoreAsTop)(AbstractScene *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(AbstractScene *this);
  bool (__fastcall *shouldUpdateWhenSuspended)(AbstractScene *this);
  int (__fastcall *getWidth)(AbstractScene *this);
  int (__fastcall *getHeight)(AbstractScene *this);
  void (__fastcall *reload)(AbstractScene *this);
  const RectangleArea *(__fastcall *getRenderingAABB)(AbstractScene *this);
  EyeRenderingModeBit (__fastcall *getEyeRenderingMode)(AbstractScene *this);
  ui::SceneType (__fastcall *getSceneType)(AbstractScene *this);
  std::string *(__fastcall *getScreenName)(AbstractScene *this, std::string *result);
  std::string *(__fastcall *getRoute)(AbstractScene *this, std::string *result);
  std::string *(__fastcall *getScreenTelemetryName)(AbstractScene *this, std::string *result);
  void (__fastcall *addEventProperties)(AbstractScene *this, std::unordered_map<std::string,std::string> *);
  int (__fastcall *getScreenVersion)(AbstractScene *this);
  void (__fastcall *processBufferedTextCharEvents)(AbstractScene *this, const std::vector<TextCharEventData> *);
  bool (__fastcall *getShouldSendEvents)(AbstractScene *this);
  void (__fastcall *setShouldSendEvents)(AbstractScene *this, bool);
  bool (__fastcall *getWantsTextOnly)(AbstractScene *this);
  void (__fastcall *setWantsTextOnly)(AbstractScene *this, bool);
  void (__fastcall *onDelete)(AbstractScene *this, CachedScenes *, TaskGroup *);
  bool (__fastcall *isGamepadCursorEnabled)(AbstractScene *this);
  bool (__fastcall *isGamepadDeflectionModeEnabled)(AbstractScene *this);
  const glm::tvec2<float,0> *(__fastcall *getGamepadCursorPosition)(AbstractScene *this);
  void (__fastcall *cleanInputComponents)(AbstractScene *this);
  std::weak_ptr<AbstractSceneProxy> *(__fastcall *getProxy)(AbstractScene *this, std::weak_ptr<AbstractSceneProxy> *result);
  bool (__fastcall *canBePushed)(AbstractScene *this);
  bool (__fastcall *canBePopped)(AbstractScene *this);
  bool (__fastcall *canBeTransitioned)(AbstractScene *this);
  void (__fastcall *onScreenExit)(AbstractScene *this, bool, bool);
  void (__fastcall *onScreenEntrance)(AbstractScene *this, bool, bool);
  bool (__fastcall *isEntering)(AbstractScene *this);
  bool (__fastcall *isExiting)(AbstractScene *this);
  void (__fastcall *schedulePop)(AbstractScene *this);
  bool (__fastcall *isTerminating)(AbstractScene *this);
  bool (__fastcall *loadScreenImmediately)(AbstractScene *this);
  bool (__fastcall *forceUpdateActiveSceneStackWhenPushed)(AbstractScene *this);
  bool (__fastcall *hasFinishedLoading)(AbstractScene *this);
  void (__fastcall *sendScreenEvent)(AbstractScene *this, const std::string *, const std::string *);
  void (__fastcall *setDebugFeature)(AbstractScene *this, UIDebugCommandFeature, bool);
  void (__fastcall *setScreenState)(AbstractScene *this, const std::vector<std::pair<std::string,std::string >> *);
};

hbui::RouteMatcher::DefaultEntry

struct __cppobj hbui::RouteMatcher::DefaultEntry
{
  const std::string baseScreenId;
  const std::string route;
};

hbui::RouteMatcher

struct __cppobj hbui::RouteMatcher : hbui::IRouteMatcher
{
  std::vector<hbui::RouteMatcher::Entry> mEntries;
  std::vector<hbui::RouteMatcher::DefaultEntry> mDefaultRoutes;
};

hbui::RouteMatcher_vtbl

struct /*VFT*/ hbui::RouteMatcher_vtbl
{
  void (__fastcall *~IRouteMatcher)(hbui::IRouteMatcher *this);
  void (__fastcall *add)(hbui::IRouteMatcher *this, const std::string *, const std::basic_regex<char,std::regex_traits<char> > *, hbui::RouteType, hbui::RouteMode, std::function<void __cdecl(std::string const &)>);
  void (__fastcall *addDefault)(hbui::IRouteMatcher *this, const std::string *, const std::string *);
  void (__fastcall *resolve)(hbui::IRouteMatcher *this, const std::string *);
  bool (__fastcall *isSupported)(hbui::IRouteMatcher *this, const std::string *);
  bool (__fastcall *areCompatible)(hbui::IRouteMatcher *this, const std::string *, const std::string *);
  bool (__fastcall *isRouteInDirectory)(hbui::IRouteMatcher *this, const std::string *, const std::string *);
  std::optional<std::string > *(__fastcall *getDefaultRouteForFile)(hbui::IRouteMatcher *this, std::optional<std::string > *result, const std::string *);
  std::optional<std::string > *(__fastcall *getDefaultRouteForDirectory)(hbui::IRouteMatcher *this, std::optional<std::string > *result, const std::string *);
  std::optional<enum hbui::RouteType> *(__fastcall *getRouteType)(hbui::IRouteMatcher *this, std::optional<enum hbui::RouteType> *result, const std::string *);
  std::optional<enum hbui::RouteMode> *(__fastcall *getRouteMode)(hbui::IRouteMatcher *this, std::optional<enum hbui::RouteMode> *result, const std::string *);
};

HitResultComponent

struct __cppobj HitResultComponent : IEntityComponent
{
  std::unique_ptr<IHitResultContainer> mHitResults;
};

HTTPRequestInternal

struct __cppobj HTTPRequestInternal : std::enable_shared_from_this<HTTPRequestInternal>
{
  HTTPRequestInternal_vtbl *__vftable /*VFT*/;
};

HTTPRequestInternal_vtbl

struct /*VFT*/ HTTPRequestInternal_vtbl
{
  void (__fastcall *~HTTPRequestInternal)(HTTPRequestInternal *this);
};

HTTPRequestCancelSource

struct __cppobj HTTPRequestCancelSource
{
  HTTPRequestCancelSource_vtbl *__vftable /*VFT*/;
};

HTTPRequestCancelSource_vtbl

struct /*VFT*/ HTTPRequestCancelSource_vtbl
{
  void (__fastcall *~HTTPRequestCancelSource)(HTTPRequestCancelSource *this);
  void (__fastcall *cancel)(HTTPRequestCancelSource *this);
};

hbui::TapGestureParameters

struct __declspec(align(8)) hbui::TapGestureParameters
{
  unsigned int maxTouches;
  long double timeToleranceMs;
  float distanceToleranceCm;
};

hbui::FlingGestureParameters

struct __declspec(align(8)) hbui::FlingGestureParameters
{
  unsigned int minTouches;
  unsigned int maxTouches;
  long double maxIntervalBetweenMovesMs;
  float minDistanceCm;
};

hbui::PanGestureParameters

struct hbui::PanGestureParameters
{
  unsigned int minTouches;
  unsigned int maxTouches;
  float minDistanceCm;
};

hbui::GestureParameters

struct __declspec(align(8)) hbui::GestureParameters
{
  hbui::TapGestureParameters tapParameters;
  hbui::FlingGestureParameters flingParameters;
  hbui::PanGestureParameters panParameters;
};

HitResultSystem

struct __cppobj HitResultSystem : ITickingSystem
{
};

HitResultSystem_vtbl

struct /*VFT*/ HitResultSystem_vtbl
{
  void (__fastcall *~ITickingSystem)(ITickingSystem *this);
  void (__fastcall *tick)(ITickingSystem *this, EntityRegistry *);
};

HolographicPostRenderer

struct __cppobj HolographicPostRenderer : MinecraftUICustomRenderer
{
  mce::MaterialPtr mUIQuadMaterial;
  mce::MaterialPtr mUIHudMaterial;
  mce::MaterialPtr mLevelQuadMaterial;
  mce::MaterialPtr mUIFillColorMaterial;
  float mUIWidth;
  float mUIHeight;
  float mLevelMeshWidth;
  float mLevelMeshHeight;
  mce::Mesh mUIQuadMesh;
  mce::Mesh mLevelMesh;
};

HolographicPostRenderer_vtbl

struct /*VFT*/ HolographicPostRenderer_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 *);
};

HotBarWipeRenderer

struct __cppobj HotBarWipeRenderer : MinecraftUICustomRenderer
{
};

HotBarWipeRenderer_vtbl

struct /*VFT*/ HotBarWipeRenderer_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 *);
  void (__fastcall *drawRectangle)(HotBarWipeRenderer *this, ScreenContext *, UIControl *, float, const mce::Color *, RectangleArea *);
  int (__fastcall *getHotBarIndex)(HotBarWipeRenderer *this, UIControl *);
};

HotBarCooldownRenderer

struct __cppobj HotBarCooldownRenderer : HotBarWipeRenderer
{
};

HotBarCooldownRenderer_vtbl

struct /*VFT*/ HotBarCooldownRenderer_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 *);
  void (__fastcall *drawRectangle)(HotBarWipeRenderer *this, ScreenContext *, UIControl *, float, const mce::Color *, RectangleArea *);
  int (__fastcall *getHotBarIndex)(HotBarWipeRenderer *this, UIControl *);
};

HotBarDropRenderer

struct __cppobj HotBarDropRenderer : HotBarWipeRenderer
{
};

HotBarDropRenderer_vtbl

struct /*VFT*/ HotBarDropRenderer_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 *);
  void (__fastcall *drawRectangle)(HotBarWipeRenderer *this, ScreenContext *, UIControl *, float, const mce::Color *, RectangleArea *);
  int (__fastcall *getHotBarIndex)(HotBarWipeRenderer *this, UIControl *);
};

HoverTextRenderer

struct __cppobj HoverTextRenderer : MinecraftUICustomRenderer
{
  std::string mContent;
  std::string mFilteredContent;
  glm::tvec2<float,0> mCursorPosition;
  glm::tvec2<float,0> mOffset;
  glm::tvec2<float,0> mBoxDimensions;
  mce::MaterialPtr mBlitMat;
  std::unique_ptr<NinePatchLayer> mLayer;
};

HoverTextRenderer_vtbl

struct /*VFT*/ HoverTextRenderer_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 *);
};

HudArmorRenderer

struct __cppobj HudArmorRenderer : MinecraftUICustomRenderer
{
  bool mHasLoadedTextures;
  mce::TexturePtr mEmptyArmorTexture;
  mce::TexturePtr mHalfArmorTexture;
  mce::TexturePtr mFullArmorTexture;
};

HudArmorRenderer_vtbl

struct /*VFT*/ HudArmorRenderer_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 *);
};

HudBubblesRenderer

struct __cppobj HudBubblesRenderer : MinecraftUICustomRenderer
{
  bool mHasLoadedTextures;
  mce::TexturePtr mBubbleFullTexture;
  mce::TexturePtr mBubblePopTexture;
};

HudBubblesRenderer_vtbl

struct /*VFT*/ HudBubblesRenderer_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 *);
};

HudCameraRenderer

struct __cppobj __declspec(align(8)) HudCameraRenderer : MinecraftUICustomRenderer, CameraCallbacks
{
  _BYTE mState[4];
  float mShowTime;
  mce::TexturePtr mPhotoTexture;
  mce::MaterialPtr mColorMaterial;
  mce::MaterialPtr mTexMaterial;
  bool mImmediatePicture;
};

HudCameraRenderer_vtbl

struct /*VFT*/ HudCameraRenderer_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 *);
};

HudCursorRenderer

struct __cppobj HudCursorRenderer : MinecraftUICustomRenderer
{
  mce::MaterialPtr mCrosshairMat;
  mce::TexturePtr mCrosshair;
};

HudCursorRenderer_vtbl

struct /*VFT*/ HudCursorRenderer_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 *);
};

HudDebugOverlayRenderer::WorkerStatsSnapshot

struct __cppobj HudDebugOverlayRenderer::WorkerStatsSnapshot
{
  unsigned __int64 queued;
  unsigned __int64 reQueued;
  unsigned __int64 processed;
  unsigned __int64 noops;
  unsigned __int64 maxQueued;
  unsigned __int64 sorts;
  unsigned __int64 waits;
};

HudDebugOverlayRenderer::WorkerStats

struct __cppobj HudDebugOverlayRenderer::WorkerStats
{
  HudDebugOverlayRenderer::WorkerStatsSnapshot last;
  HudDebugOverlayRenderer::WorkerStatsSnapshot curr;
};

HudDebugOverlayRenderer::TaskStatsSnapshot

struct __cppobj HudDebugOverlayRenderer::TaskStatsSnapshot
{
  unsigned __int64 count;
  unsigned __int64 maxCount;
};

HudDebugOverlayRenderer::TaskStats

struct __cppobj HudDebugOverlayRenderer::TaskStats
{
  HudDebugOverlayRenderer::TaskStatsSnapshot last;
  HudDebugOverlayRenderer::TaskStatsSnapshot curr;
};

HudDebugOverlayRenderer::SpinLockMetrics

struct HudDebugOverlayRenderer::SpinLockMetrics
{
  unsigned __int64 contention;
  unsigned __int64 contentionBlocked;
  unsigned __int64 blockedTicks;
  unsigned __int64 blockedTicksMax;
  unsigned __int64 yields;
  unsigned __int64 lockCount;
  unsigned __int64 lockTicks;
  unsigned __int64 lockTicksMax;
};

HudDebugOverlayRenderer::SpinLockStats

struct HudDebugOverlayRenderer::SpinLockStats
{
  HudDebugOverlayRenderer::SpinLockMetrics last;
  HudDebugOverlayRenderer::SpinLockMetrics curr;
};

HudDebugOverlayRenderer

struct __cppobj HudDebugOverlayRenderer
{
  mce::MaterialPtr mDebugDepthArrayTextureMaterial;
  std::unordered_map<BackgroundWorker *,HudDebugOverlayRenderer::WorkerStats> mWorkerStats;
  std::unordered_map<BackgroundWorker *,HudDebugOverlayRenderer::WorkerStats> mCurrentWorkerStats;
  HudDebugOverlayRenderer::TaskStats mTaskStats;
  HudDebugOverlayRenderer::SpinLockStats mSpinLockStats;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastUpdateTime;
};

HudHeartRenderer

struct __cppobj HudHeartRenderer : MinecraftUICustomRenderer
{
  bool mHasLoadedTextures;
  mce::TexturePtr mHeartBackgroundTexture;
  mce::TexturePtr mHeartBlinkTexture;
  mce::TexturePtr mHeartFullTexture;
  mce::TexturePtr mHeartHalfTexture;
  mce::TexturePtr mHeartPoisonFullTexture;
  mce::TexturePtr mHeartPoisonHalfTexture;
  mce::TexturePtr mHeartWitherFullTexture;
  mce::TexturePtr mHeartWitherHalfTexture;
  mce::TexturePtr mHeartAbsorptionFullTexture;
  mce::TexturePtr mHeartAbsorptionHalfTexture;
  mce::TexturePtr mHeartFlashFullTexture;
  mce::TexturePtr mHeartFlashHalfTexture;
  mce::TexturePtr mHeartPoisonFlashFullTexture;
  mce::TexturePtr mHeartPoisonFlashHalfTexture;
  mce::TexturePtr mHeartWitherFlashFullTexture;
  mce::TexturePtr mHeartWitherFlashHalfTexture;
};

HudHeartRenderer_vtbl

struct /*VFT*/ HudHeartRenderer_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 *);
};

HudHorseHeartRenderer

struct __cppobj HudHorseHeartRenderer : MinecraftUICustomRenderer
{
  bool mHasLoadedTextures;
  mce::TexturePtr mHeartHorseBackgroundTexture;
  mce::TexturePtr mHeartHorseBlinkTexture;
  mce::TexturePtr mHeartHorseFullTexture;
  mce::TexturePtr mHeartHorseHalfTexture;
  mce::TexturePtr mHeartHorseFlashFullTexture;
  mce::TexturePtr mHeartHorseFlashHalfTexture;
};

HudHorseHeartRenderer_vtbl

struct /*VFT*/ HudHorseHeartRenderer_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 *);
};

HudHorseJumpRenderer

struct __cppobj __declspec(align(8)) HudHorseJumpRenderer : MinecraftUICustomRenderer
{
  mce::TexturePtr mHorseJumpEmpty;
  mce::TexturePtr mHorseJumpFull;
  bool mHasLoadedTextures;
};

HudHorseJumpRenderer_vtbl

struct /*VFT*/ HudHorseJumpRenderer_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 *);
};

HudHungerRenderer

struct __cppobj HudHungerRenderer : MinecraftUICustomRenderer
{
  int mTickCount;
  bool mHasLoadedTextures;
  mce::TexturePtr gHungerBackgroundTexture;
  mce::TexturePtr gHungerBlinkTexture;
  mce::TexturePtr gHungerEffectBackgroundTexture;
  mce::TexturePtr gHungerFullTexture;
  mce::TexturePtr gHungerHalfTexture;
  mce::TexturePtr gHungerFlashFullTexture;
  mce::TexturePtr gHungerFlashHalfTexture;
  mce::TexturePtr gHungerEffectFullTexture;
  mce::TexturePtr gHungerEffectHalfTexture;
  mce::TexturePtr gHungerEffectFlashFullTexture;
  mce::TexturePtr gHungerEffectFlashHalfTexture;
};

HudHungerRenderer_vtbl

struct /*VFT*/ HudHungerRenderer_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 *);
};

HudMobEffectsRenderer

struct __cppobj HudMobEffectsRenderer : MinecraftUICustomRenderer
{
};

HudMobEffectsRenderer_vtbl

struct /*VFT*/ HudMobEffectsRenderer_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 *);
};

HudPlayerRenderer

struct __cppobj HudPlayerRenderer : MinecraftUICustomRenderer
{
  float mRenderTime;
  float mLastTimeStamp;
  std::vector<int> mPlayerArmorState;
};

HudPlayerRenderer_vtbl

struct /*VFT*/ HudPlayerRenderer_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 *);
};

HudProgressRenderer

struct __cppobj __declspec(align(8)) HudProgressRenderer : MinecraftUICustomRenderer
{
  float mProgressAlpha;
};

HudProgressRenderer_vtbl

struct /*VFT*/ HudProgressRenderer_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 *);
};

HudVignetteRenderer

struct __cppobj HudVignetteRenderer : MinecraftUICustomRenderer
{
  float mLastVignetteOpacity;
  float mLastAB;
  mce::Mesh mVignette;
};

HudVignetteRenderer_vtbl

struct /*VFT*/ HudVignetteRenderer_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 *);
};

hbui::FacetBase<hbui::AchievementsFacet>

struct __cppobj hbui::FacetBase<hbui::AchievementsFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::AchievementsFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::AchievementsFacet>_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);
};

hbui::AchievementsFacet::FacetAchievementData

struct __cppobj __declspec(align(8)) hbui::AchievementsFacet::FacetAchievementData
{
  std::string mId;
  std::string mAchievementName;
  std::string mDescription;
  int mGamerScore;
  __int64 mDateUnlocked;
  std::string mAchievementImageURL;
  bool mIsLocked;
  bool mIsSecret;
  float mProgressCompleted;
  float mProgressTarget;
  std::string mPersonaRewardId;
  bool mHasPersonaReward;
  bool mIsPersonaRewardOwned;
  std::string mPersonaRewardName;
  std::string mPersonaRewardImageURL;
  persona::Rarity mPersonaRewardRarity;
};

hbui::AchievementsFacet::FacetPlayerAchievementData

struct __cppobj hbui::AchievementsFacet::FacetPlayerAchievementData
{
  int mAchievementsUnlocked;
  int mMaxAchievements;
  int mTimePlayed;
  int mCurrGamerScore;
  int mMaxGamerScore;
  std::vector<hbui::AchievementsFacet::FacetAchievementData> mAchievementData;
};

hbui::AchievementsFacet

struct __cppobj hbui::AchievementsFacet : hbui::FacetBase<hbui::AchievementsFacet>
{
  IClientInstance *mClient;
  hbui::ResourceRegistry *mResourceRegistry;
  std::unordered_map<Core::PathBuffer<std::string >,std::string,std::hash<Core::PathBuffer<std::string > >,std::equal_to<Core::PathBuffer<std::string > >,std::allocator<std::pair<Core::PathBuffer<std::string > const ,std::string > > > mRegisteredResources;
  hbui::AchievementsFacet::AchievementFacetStatus mStatus;
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mLastRefresh;
  hbui::AchievementsFacet::FacetPlayerAchievementData mFacetPlayerAchievementData;
  persona::PersonaPieceCollectionModel *mPersonaPieceCollectionModel;
};

hbui::AchievementsFacet_vtbl

struct /*VFT*/ hbui::AchievementsFacet_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);
};

hbui::FacetBase<hbui::DeviceInformationFacet>

struct __cppobj hbui::FacetBase<hbui::DeviceInformationFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::DeviceInformationFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::DeviceInformationFacet>_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);
};

hbui::DeviceInformationFacet

struct __cppobj __declspec(align(8)) hbui::DeviceInformationFacet : hbui::FacetBase<hbui::DeviceInformationFacet>, AppPlatformListener
{
  bool mIsDirty;
  const IClientInstance *mClientInstance;
  _BYTE mPlatform[1];
  std::vector<enum hbui::InputMethod> mInputMethods;
  bool mIsLowMemoryDevice;
  float mPixelsPerMillimeter;
  int mGuiScale;
  int mGuiScaleModifier;
  int mGuiScaleBase;
};

hbui::DeviceInformationFacet_vtbl

struct /*VFT*/ hbui::DeviceInformationFacet_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);
};

hbui::FacetBase<hbui::FeatureFlagsFacet>

struct __cppobj hbui::FacetBase<hbui::FeatureFlagsFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::FeatureFlagsFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::FeatureFlagsFacet>_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);
};

hbui::FeatureFlagsFacet

struct __cppobj hbui::FeatureFlagsFacet : hbui::FacetBase<hbui::FeatureFlagsFacet>
{
  std::vector<std::string> mFeatureFlags;
};

hbui::FeatureFlagsFacet_vtbl

struct /*VFT*/ hbui::FeatureFlagsFacet_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);
};

hbui::FacetBase<hbui::InputFacet>

struct __cppobj hbui::FacetBase<hbui::InputFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::InputFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::InputFacet>_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);
};

hbui::InputFacet

struct __cppobj hbui::InputFacet : hbui::FacetBase<hbui::InputFacet>
{
  IClientInstance *mClientInstance;
  bool mIsDirty;
  Bedrock::PubSub::ScopedSubscription mSwapABOptionSubscription;
  Bedrock::PubSub::ScopedSubscription mSwapXYOptionSubscription;
  bool mAcceptInputFromAllControllers;
  int mGameControllerId;
  std::string mGameControllerIdString;
  bool mSwapABButtons;
  bool mSwapXYButtons;
  _BYTE mCurrentInputType[1];
  InputMode mCachedInputMode;
};

hbui::InputFacet_vtbl

struct /*VFT*/ hbui::InputFacet_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);
};

hbui::FacetBase<hbui::LegacyScreenFacet>

struct __cppobj hbui::FacetBase<hbui::LegacyScreenFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::LegacyScreenFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::LegacyScreenFacet>_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);
};

hbui::LegacyScreenFacet

struct __cppobj hbui::LegacyScreenFacet : hbui::FacetBase<hbui::LegacyScreenFacet>
{
  IScreenController *mScreenController;
};

hbui::LegacyScreenFacet_vtbl

struct /*VFT*/ hbui::LegacyScreenFacet_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);
};

hbui::FacetBase<hbui::LocaleFacet>

struct __cppobj hbui::FacetBase<hbui::LocaleFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::LocaleFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::LocaleFacet>_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);
};

hbui::LocaleFacet

struct __cppobj hbui::LocaleFacet : hbui::FacetBase<hbui::LocaleFacet>, AppPlatformListener
{
  bool mIsDirty;
  Option *mLanguageOption;
  Bedrock::PubSub::ScopedSubscription mLanguageOptionSubscription;
  std::string mLocale;
};

hbui::LocaleFacet_vtbl

struct /*VFT*/ hbui::LocaleFacet_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);
};

hbui::FacetBase<hbui::LocalWorldsFacet>

struct __cppobj hbui::FacetBase<hbui::LocalWorldsFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::LocalWorldsFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::LocalWorldsFacet>_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);
};

hbui::LocalWorld

struct __cppobj hbui::LocalWorld
{
  std::string id;
  std::string title;
  std::string imageURL;
};

hbui::LocalWorldsFacet

struct __cppobj hbui::LocalWorldsFacet : hbui::FacetBase<hbui::LocalWorldsFacet>
{
  std::vector<hbui::LocalWorld> mLocalWorlds;
  ILocalWorldsProvider *mLocalWorldsProvider;
};

hbui::LocalWorldsFacet_vtbl

struct /*VFT*/ hbui::LocalWorldsFacet_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);
};

hbui::FacetBase<hbui::SafeZoneFacet>

struct __cppobj hbui::FacetBase<hbui::SafeZoneFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::SafeZoneFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::SafeZoneFacet>_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);
};

hbui::OptionWrapper<float>

struct __cppobj hbui::OptionWrapper<float>
{
  Option *mOption;
  Bedrock::PubSub::ScopedSubscription mOptionSubscription;
};

hbui::SafeZoneFacet

struct __cppobj hbui::SafeZoneFacet : hbui::FacetBase<hbui::SafeZoneFacet>
{
  bool mIsDirty;
  float mSafeZoneX;
  float mSafeZoneY;
  float mScreenPositionX;
  float mScreenPositionY;
  hbui::OptionWrapper<float> mSafeZoneXOption;
  hbui::OptionWrapper<float> mSafeZoneYOption;
  hbui::OptionWrapper<float> mScreenPositionXOption;
  hbui::OptionWrapper<float> mScreenPositionYOption;
};

hbui::SafeZoneFacet_vtbl

struct /*VFT*/ hbui::SafeZoneFacet_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);
};

hbui::FacetBase<hbui::ScreenReaderFacet>

struct __cppobj hbui::FacetBase<hbui::ScreenReaderFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::ScreenReaderFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::ScreenReaderFacet>_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);
};

hbui::ScreenReaderFacet

struct __cppobj hbui::ScreenReaderFacet : hbui::FacetBase<hbui::ScreenReaderFacet>
{
  IClientInstance *mClientInstance;
  bool mIsDirty;
  bool mIsChatTextToSpeechEnabled;
  bool mIsUITextToSpeechEnabled;
  Bedrock::PubSub::ScopedSubscription mChatOptionSubscription;
  Bedrock::PubSub::ScopedSubscription mUIOptionSubscription;
};

hbui::ScreenReaderFacet_vtbl

struct /*VFT*/ hbui::ScreenReaderFacet_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);
};

hbui::FacetBase<hbui::SoundFacet>

struct __cppobj hbui::FacetBase<hbui::SoundFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::SoundFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::SoundFacet>_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);
};

hbui::SoundFacet

struct __cppobj hbui::SoundFacet : hbui::FacetBase<hbui::SoundFacet>
{
  Bedrock::NonOwnerPointer<SoundPlayerInterface> mSoundPlayer;
};

hbui::SoundFacet_vtbl

struct /*VFT*/ hbui::SoundFacet_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);
};

hbui::FacetBase<hbui::SplitScreenFacet>

struct __cppobj hbui::FacetBase<hbui::SplitScreenFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::SplitScreenFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::SplitScreenFacet>_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);
};

hbui::SplitScreenFacet

struct __cppobj __declspec(align(8)) hbui::SplitScreenFacet : hbui::FacetBase<hbui::SplitScreenFacet>
{
  bool mIsDirty;
  IMinecraftGame *mMinecraftGame;
  int mSplitScreenPosition;
  int mActivePlayers;
  SplitScreenDirection mSplitScreenDirection;
};

hbui::SplitScreenFacet_vtbl

struct /*VFT*/ hbui::SplitScreenFacet_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);
};

hbui::FacetBase<hbui::ToastFacet>

struct __cppobj hbui::FacetBase<hbui::ToastFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::ToastFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::ToastFacet>_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);
};

hbui::ToastFacet

struct __cppobj hbui::ToastFacet : hbui::FacetBase<hbui::ToastFacet>
{
  ToastManager *mToastManager;
};

hbui::ToastFacet_vtbl

struct /*VFT*/ hbui::ToastFacet_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);
};

hbui::FacetBase<hbui::UserFacet>

struct __cppobj hbui::FacetBase<hbui::UserFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::UserFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::UserFacet>_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);
};

hbui::UserFacet

struct __cppobj hbui::UserFacet : hbui::FacetBase<hbui::UserFacet>
{
  std::string mName;
  std::string mProfilePicturePath;
  IClientInstance *mClientInstance;
  std::string mOriginalProfilePicturePath;
};

hbui::UserFacet_vtbl

struct /*VFT*/ hbui::UserFacet_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);
};

hbui::FacetRegistry

struct __cppobj hbui::FacetRegistry : hbui::IFacetRegistry
{
  std::vector<hbui::FacetRegistry::FacetEntry> mFacets;
};

hbui::FacetRegistry_vtbl

struct /*VFT*/ hbui::FacetRegistry_vtbl
{
  void (__fastcall *~IFacetRegistry)(hbui::IFacetRegistry *this);
  void (__fastcall *registerFacet)(hbui::IFacetRegistry *this, const std::string *, const std::function<std::unique_ptr<hbui::IFacet> __cdecl(void)> *);
  std::optional<enum hbui::IFacetRegistry::Error> *(__fastcall *activateFacet)(hbui::IFacetRegistry *this, std::optional<enum hbui::IFacetRegistry::Error> *result, hbui::FacetBinder *, const std::string *);
  std::optional<enum hbui::IFacetRegistry::Error> *(__fastcall *deactivateFacet)(hbui::IFacetRegistry *this, std::optional<enum hbui::IFacetRegistry::Error> *result, hbui::FacetBinder *, const std::string *);
  void (__fastcall *deactivateAllFacets)(hbui::IFacetRegistry *this, hbui::FacetBinder *);
  void (__fastcall *bind)(hbui::IFacetRegistry *this, hbui::FacetBinder *);
  void (__fastcall *update)(hbui::IFacetRegistry *this, hbui::FacetBinder *);
};

hbui::TestFacet::ComplexType

struct hbui::TestFacet::ComplexType
{
  int nestedNumber;
};

hbui::FacetBase<hbui::TestFacet>

struct __cppobj hbui::FacetBase<hbui::TestFacet> : hbui::IFacet
{
};

hbui::FacetBase<hbui::TestFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<hbui::TestFacet>_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);
};

hbui::TestFacet

struct __cppobj __declspec(align(8)) hbui::TestFacet : hbui::FacetBase<hbui::TestFacet>
{
  unsigned int mIncrementingNumber;
  int mShallowNumber;
  std::string mShallowString;
  hbui::TestFacet::ComplexType mShallowComplexType;
  std::vector<hbui::TestFacet::ComplexType> mNestedTypeArray;
  bool mIsDirty;
  bool mShouldAutoIncrement;
};

hbui::TestFacet_vtbl

struct /*VFT*/ hbui::TestFacet_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);
};

hbui::OptionWrapper<float>::{ctor}::__l5::<lambda_5e7c5eb415c6d84f19e6135729d9635d>

struct __cppobj hbui::OptionWrapper<float>::{ctor}::__l5::<lambda_5e7c5eb415c6d84f19e6135729d9635d>
{
  hbui::OptionWrapper<float> *const __this;
  float *value;
  bool *isDirty;
};

hbui::FacetRegistry::bind::__l2::<lambda_6cf8e22b1f259530c328b3a73be09bd3>

struct __cppobj hbui::FacetRegistry::bind::__l2::<lambda_6cf8e22b1f259530c328b3a73be09bd3>
{
  hbui::FacetRegistry *const __this;
  hbui::FacetBinder *binder;
};

hbui::FacetRegistry::bind::__l2::<lambda_6066c263a20a7513df33bbb78d085ae3>

struct __cppobj hbui::FacetRegistry::bind::__l2::<lambda_6066c263a20a7513df33bbb78d085ae3>
{
  hbui::FacetRegistry *const __this;
  hbui::FacetBinder *binder;
};

hbui::SplitScreenFacet::{ctor}::__l2::<lambda_a3896d9a4b97bcf25b659c18160e311f>

struct __cppobj hbui::SplitScreenFacet::{ctor}::__l2::<lambda_a3896d9a4b97bcf25b659c18160e311f>
{
  hbui::SplitScreenFacet *const __this;
  const IClientInstance *clientInstance;
};

hbui::ScreenReaderFacet::_registerObservers::__l8::<lambda_5ae2404388e2ae8d14c2c1abb873009d>

struct __cppobj hbui::ScreenReaderFacet::_registerObservers::__l8::<lambda_5ae2404388e2ae8d14c2c1abb873009d>
{
  hbui::ScreenReaderFacet *const __this;
};

hbui::ScreenReaderFacet::_registerObservers::__l5::<lambda_ff6107dbe840263fd2607a3531d764fb>

struct __cppobj hbui::ScreenReaderFacet::_registerObservers::__l5::<lambda_ff6107dbe840263fd2607a3531d764fb>
{
  hbui::ScreenReaderFacet *const __this;
};

hbui::LocaleFacet::_registerObservers::__l5::<lambda_34070cf23042ac96cc4b06279f26c9e2>

struct __cppobj hbui::LocaleFacet::_registerObservers::__l5::<lambda_34070cf23042ac96cc4b06279f26c9e2>
{
  hbui::LocaleFacet *const __this;
};

hbui::InputFacet::_registerObservers::__l10::<lambda_3b26e34c65f70ca7014fa632ac7bfb5b>

struct __cppobj hbui::InputFacet::_registerObservers::__l10::<lambda_3b26e34c65f70ca7014fa632ac7bfb5b>
{
  hbui::InputFacet *const __this;
};

hbui::InputFacet::_registerObservers::__l6::<lambda_ad7d2f101c9885bd05e57617f5a1d792>

struct __cppobj hbui::InputFacet::_registerObservers::__l6::<lambda_ad7d2f101c9885bd05e57617f5a1d792>
{
  hbui::InputFacet *const __this;
};

hbui::FacetBase<ScriptApi::ScriptEngineFacet>

struct __cppobj hbui::FacetBase<ScriptApi::ScriptEngineFacet> : hbui::IFacet
{
};

hbui::FacetBase<ScriptApi::ScriptEngineFacet>_vtbl

struct /*VFT*/ hbui::FacetBase<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);
};

hbui::TouchEventData

struct __cppobj hbui::TouchEventData
{
  Vec2 pos;
  unsigned int id;
  hbui::TouchEventData::EventType type;
};

hbui::GestureEventData::<unnamed_type_panDetails>

struct __cppobj hbui::GestureEventData::<unnamed_type_panDetails>
{
  Vec2 delta;
};

hbui::GestureEventData::<unnamed_type_flingDetails>

struct hbui::GestureEventData::<unnamed_type_flingDetails>
{
  float duration;
};

hbui::GestureEventData

struct __cppobj hbui::GestureEventData
{
  hbui::GestureEventData::<unnamed_type_panDetails> panDetails;
  hbui::GestureEventData::<unnamed_type_flingDetails> flingDetails;
  Vec2 currentLocation;
  Vec2 startLocation;
  _BYTE type[4];
};

hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos

struct __cppobj hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos
{
  hbui::TouchEventData touchEventData;
  Vec2 currentPos;
};

hbui::GestureRecognizerBase

struct __cppobj __declspec(align(8)) hbui::GestureRecognizerBase
{
  hbui::GestureRecognizerBase_vtbl *__vftable /*VFT*/;
  hbui::IGestureListener *mGestureListener;
  std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> mTrackingTouches;
  std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> mTrackedTouchesWithinTouchesToRecognize;
  float mPixelsPerCm;
  std::function<double __cdecl(void)> mGetTimeS;
  hbui::GestureRecognizerBase::GestureRecognizerState mState;
  bool mEnabled;
  bool mSentTouchesBegan;
  bool mSentTouchesMoved;
  bool mSentTouchesEnded;
  int mPriority;
};

hbui::GestureRecognizerBase_vtbl

struct /*VFT*/ hbui::GestureRecognizerBase_vtbl
{
  void (__fastcall *~GestureRecognizerBase)(hbui::GestureRecognizerBase *this);
  void (__fastcall *onTouchesBegan)(hbui::GestureRecognizerBase *this, const std::vector<hbui::TouchEventData> *);
  void (__fastcall *onTouchesMoved)(hbui::GestureRecognizerBase *this, const std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> *);
  void (__fastcall *onTouchesEnded)(hbui::GestureRecognizerBase *this, const std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> *);
  void (__fastcall *onGestureRecognized)(hbui::GestureRecognizerBase *this);
};

hbui::IGestureListener

struct __cppobj hbui::IGestureListener
{
  hbui::IGestureListener_vtbl *__vftable /*VFT*/;
};

hbui::IGestureListener_vtbl

struct /*VFT*/ hbui::IGestureListener_vtbl
{
  void (__fastcall *~IGestureListener)(hbui::IGestureListener *this);
  void (__fastcall *onPanRecognized)(hbui::IGestureListener *this, const Vec2 *, const Vec2 *, const Vec2 *);
  void (__fastcall *onPanCompleted)(hbui::IGestureListener *this, const Vec2 *);
  void (__fastcall *onFlingCompleted)(hbui::IGestureListener *this, const Vec2 *, const Vec2 *, float);
  void (__fastcall *onTapRecognized)(hbui::IGestureListener *this, const Vec2 *);
};

hbui::FlingRecognizer

struct __cppobj hbui::FlingRecognizer : hbui::GestureRecognizerBase
{
  const unsigned __int64 mMinimumNumberOfTouches;
  const unsigned __int64 mMaximumNumberOfTouches;
  const long double mMaxFlingIntervalBetweenMovesS;
  const float mMinDistanceToFlingCm;
  Vec2 mPreviousLocation;
  long double mPreviousTouchTimeForGesture;
  long double mFlingStartTime;
  Vec2 mFlingStart;
};

hbui::FlingRecognizer_vtbl

struct /*VFT*/ hbui::FlingRecognizer_vtbl
{
  void (__fastcall *~GestureRecognizerBase)(hbui::GestureRecognizerBase *this);
  void (__fastcall *onTouchesBegan)(hbui::GestureRecognizerBase *this, const std::vector<hbui::TouchEventData> *);
  void (__fastcall *onTouchesMoved)(hbui::GestureRecognizerBase *this, const std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> *);
  void (__fastcall *onTouchesEnded)(hbui::GestureRecognizerBase *this, const std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> *);
  void (__fastcall *onGestureRecognized)(hbui::GestureRecognizerBase *this);
};

hbui::ITouchSystem

struct __cppobj hbui::ITouchSystem
{
  hbui::ITouchSystem_vtbl *__vftable /*VFT*/;
};

hbui::ITouchSystem_vtbl

struct /*VFT*/ hbui::ITouchSystem_vtbl
{
  void (__fastcall *~ITouchSystem)(hbui::ITouchSystem *this);
  void (__fastcall *sendTouchEvents)(hbui::ITouchSystem *this, const std::vector<hbui::TouchEventData> *);
  void (__fastcall *sendGestureEvent)(hbui::ITouchSystem *this, const hbui::GestureEventData *);
};

hbui::GestureManager

struct __cppobj hbui::GestureManager
{
  std::vector<std::unique_ptr<hbui::GestureRecognizerBase>> mRecognizers;
};

hbui::GesturePolicy

struct __cppobj hbui::GesturePolicy : hbui::IGestureListener
{
  hbui::ITouchSystem *mTouchSystem;
  hbui::GestureManager mGestureManager;
};

hbui::GesturePolicy_vtbl

struct /*VFT*/ hbui::GesturePolicy_vtbl
{
  void (__fastcall *~IGestureListener)(hbui::IGestureListener *this);
  void (__fastcall *onPanRecognized)(hbui::IGestureListener *this, const Vec2 *, const Vec2 *, const Vec2 *);
  void (__fastcall *onPanCompleted)(hbui::IGestureListener *this, const Vec2 *);
  void (__fastcall *onFlingCompleted)(hbui::IGestureListener *this, const Vec2 *, const Vec2 *, float);
  void (__fastcall *onTapRecognized)(hbui::IGestureListener *this, const Vec2 *);
};

hbui::TapRecognizer

struct __cppobj hbui::TapRecognizer : hbui::GestureRecognizerBase
{
  const unsigned int mMaximumNumberOfTouches;
  const long double mTimeToleranceS;
  const float mTapDistanceToleranceCm;
  Vec2 mStartPoint;
  long double mLastTouchTimestamp;
};

hbui::TapRecognizer_vtbl

struct /*VFT*/ hbui::TapRecognizer_vtbl
{
  void (__fastcall *~GestureRecognizerBase)(hbui::GestureRecognizerBase *this);
  void (__fastcall *onTouchesBegan)(hbui::GestureRecognizerBase *this, const std::vector<hbui::TouchEventData> *);
  void (__fastcall *onTouchesMoved)(hbui::GestureRecognizerBase *this, const std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> *);
  void (__fastcall *onTouchesEnded)(hbui::GestureRecognizerBase *this, const std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> *);
  void (__fastcall *onGestureRecognized)(hbui::GestureRecognizerBase *this);
};

hbui::PanRecognizer

struct __cppobj hbui::PanRecognizer : hbui::GestureRecognizerBase
{
  const unsigned __int64 mMinimumNumberOfTouches;
  const unsigned __int64 mMaximumNumberOfTouches;
  const float mMinDistanceToPanCm;
  float mTotalDeltaMovementInCm;
  Vec2 mPreviousLocation;
  Vec2 mStartPoint;
  Vec2 mEndPoint;
  Vec2 mDeltaTranslation;
};

hbui::PanRecognizer_vtbl

struct /*VFT*/ hbui::PanRecognizer_vtbl
{
  void (__fastcall *~GestureRecognizerBase)(hbui::GestureRecognizerBase *this);
  void (__fastcall *onTouchesBegan)(hbui::GestureRecognizerBase *this, const std::vector<hbui::TouchEventData> *);
  void (__fastcall *onTouchesMoved)(hbui::GestureRecognizerBase *this, const std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> *);
  void (__fastcall *onTouchesEnded)(hbui::GestureRecognizerBase *this, const std::vector<hbui::GestureRecognizerBase::TouchEventDataWithCurrentPos> *);
  void (__fastcall *onGestureRecognized)(hbui::GestureRecognizerBase *this);
};

HummingbirdUI::_registerToggleObservers::__l8::<lambda_65fa83552ca5e7be58a344e69c942bb3>

struct __cppobj HummingbirdUI::_registerToggleObservers::__l8::<lambda_65fa83552ca5e7be58a344e69c942bb3>
{
  HummingbirdUI *const __this;
};

HummingbirdUI::_registerToggleObservers::__l5::<lambda_ede23b58d9466ab0eecaabf665c4ae6f>

struct __cppobj HummingbirdUI::_registerToggleObservers::__l5::<lambda_ede23b58d9466ab0eecaabf665c4ae6f>
{
  HummingbirdUI *const __this;
};

HummingbirdUI::_registerToggleObservers::__l2::<lambda_04aa32db8b81ea2ad470eb40b776b578>

struct __cppobj HummingbirdUI::_registerToggleObservers::__l2::<lambda_04aa32db8b81ea2ad470eb40b776b578>
{
  HummingbirdUI *const __this;
};

hbui::Scene::init::__l2::<lambda_a0f580796429890ad766443cc20dda62>

struct __cppobj hbui::Scene::init::__l2::<lambda_a0f580796429890ad766443cc20dda62>
{
};

hbui::Scene::init::__l2::<lambda_b0e36d1425fd16211c03af30c4297f0b>

struct __cppobj hbui::Scene::init::__l2::<lambda_b0e36d1425fd16211c03af30c4297f0b>
{
};

hbui::Scene::init::__l2::<lambda_c102446960817e9a9b5b64dd6cc74790>

struct __cppobj hbui::Scene::init::__l2::<lambda_c102446960817e9a9b5b64dd6cc74790>
{
  hbui::Scene *const __this;
};

hbui::SceneProvider::createScene::__l2::<lambda_b8946bc37d35e6137b2e4d7a3bcc47ca>

struct __cppobj hbui::SceneProvider::createScene::__l2::<lambda_b8946bc37d35e6137b2e4d7a3bcc47ca>
{
  ISceneStack *sceneStack;
};

hbui::GamepadState

struct __cppobj hbui::GamepadState
{
  int gamepadId;
  std::array<enum hbui::GamepadButtonState,33> buttonStates;
  std::array<float,33> buttonValues;
  std::array<float,4> axisStates;
};

hbui::GameControllerInputHandler

struct __cppobj __declspec(align(8)) hbui::GameControllerInputHandler
{
  IGameControllerManager *mGameControllerManager;
  std::vector<hbui::GamepadState> mGamepadStates;
  bool mWasActiveLastTime;
};

hbui::IGamepadSystem

struct __cppobj hbui::IGamepadSystem
{
  hbui::IGamepadSystem_vtbl *__vftable /*VFT*/;
};

hbui::IGamepadSystem_vtbl

struct /*VFT*/ hbui::IGamepadSystem_vtbl
{
  void (__fastcall *~IGamepadSystem)(hbui::IGamepadSystem *this);
  void (__fastcall *registerGamepad)(hbui::IGamepadSystem *this, int, const std::string *);
  void (__fastcall *unregisterGamepad)(hbui::IGamepadSystem *this, int);
  void (__fastcall *updateGamepadState)(hbui::IGamepadSystem *this, hbui::GamepadState *, float);
  void (__fastcall *updateGamepadStateExtended)(hbui::IGamepadSystem *this, const hbui::GamepadState *, float);
};

hbui::ITouchInput

struct __cppobj hbui::ITouchInput
{
  hbui::ITouchInput_vtbl *__vftable /*VFT*/;
};

hbui::ITouchInput_vtbl

struct /*VFT*/ hbui::ITouchInput_vtbl
{
  void (__fastcall *~ITouchInput)(hbui::ITouchInput *this);
  const std::vector<int> *(__fastcall *getActivePointerIdsThisUpdate)(hbui::ITouchInput *this, const std::vector<int> *result);
  __int16 (__fastcall *getX)(hbui::ITouchInput *this, int);
  __int16 (__fastcall *getY)(hbui::ITouchInput *this, int);
  bool (__fastcall *isPressed)(hbui::ITouchInput *this, int);
  bool (__fastcall *isEdgeTouch)(hbui::ITouchInput *this, int);
  bool (__fastcall *isPointerDown)(hbui::ITouchInput *this, int);
};

hbui::ActiveTouch

struct __cppobj __declspec(align(4)) hbui::ActiveTouch
{
  int id;
  Vec2 origin;
  Vec2 currentLocation;
  bool hasMoved;
};

hbui::TouchInputHandler

struct __cppobj hbui::TouchInputHandler
{
  std::unique_ptr<hbui::ITouchInput> mTouchInput;
  std::unique_ptr<hbui::ITouchSystem> mTouchSystem;
  std::unique_ptr<hbui::GesturePolicy> mGesturePolicy;
  std::vector<hbui::ActiveTouch> mActiveTouches;
};

hbui::RouterConfiguration::_addAchievementsRouteToMatcher::__l5::<lambda_81c8189686239e53df73b08a181027a5>

struct __cppobj hbui::RouterConfiguration::_addAchievementsRouteToMatcher::__l5::<lambda_81c8189686239e53df73b08a181027a5>
{
  SceneFactory *sceneFactory;
  ISceneStack *sceneStack;
};

hbui::RouterConfiguration::_addPersonaRouteToMatcher::__l9::<lambda_4e587607a05bd4df095d17592af911f5>

struct __cppobj hbui::RouterConfiguration::_addPersonaRouteToMatcher::__l9::<lambda_4e587607a05bd4df095d17592af911f5>
{
  SceneFactory *sceneFactory;
  ISceneStack *sceneStack;
};

hbui::RouterConfiguration::createOutOfGameRouteMatcher::__l9::<lambda_e7171c66b973a5665fbb403dbb2c2862>

struct __cppobj hbui::RouterConfiguration::createOutOfGameRouteMatcher::__l9::<lambda_e7171c66b973a5665fbb403dbb2c2862>
{
  SceneFactory *sceneFactory;
  ISceneStack *sceneStack;
  const hbui::Route *routeEntry;
};

hbui::RouterConfiguration::createInGameRouteMatcher::__l9::<lambda_b1e01b8ba6fa85f066e412929aa6b2d5>

struct __cppobj hbui::RouterConfiguration::createInGameRouteMatcher::__l9::<lambda_b1e01b8ba6fa85f066e412929aa6b2d5>
{
  SceneFactory *sceneFactory;
  ISceneStack *sceneStack;
  const hbui::Route *routeEntry;
};

hbui::Router::_onChange::__l2::<lambda_ca382762252883c93e5f24dc2b0c8635>

struct __cppobj __declspec(align(8)) hbui::Router::_onChange::__l2::<lambda_ca382762252883c93e5f24dc2b0c8635>
{
  const std::optional<hbui::RouterLocation> previousLocation;
  const hbui::RouterLocation currentLocation;
  const hbui::RouterAction action;
};

hbui::loadJsonFromHybridResources::__l6::<lambda_44461f9abae851eab9a9c18a435bebbd>

struct __cppobj hbui::loadJsonFromHybridResources::__l6::<lambda_44461f9abae851eab9a9c18a435bebbd>
{
  std::string *resourceStream;
};

HdrCalibrationScreenController

struct __cppobj __declspec(align(8)) HdrCalibrationScreenController : MinecraftScreenController
{
  float mCalibrationSliderPercent;
};

HdrCalibrationScreenController_vtbl

struct /*VFT*/ HdrCalibrationScreenController_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);
};

HowToPlayScreenController

struct __cppobj __declspec(align(8)) HowToPlayScreenController : MainMenuScreenController
{
  std::string mCurrentTabTitle;
  HowToPlayTopicIndex mCurrentTab;
  HowToPlayTopicIndex mInitialTab;
  bool mInitialTabSelected;
};

HowToPlayScreenController_vtbl

struct /*VFT*/ HowToPlayScreenController_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);
};

HowToPlayScreenControllerProxyCallbacks

struct __cppobj HowToPlayScreenControllerProxyCallbacks
{
  std::function<void __cdecl(int)> mChangeTab;
};

HowToPlayScreenControllerProxy

struct __cppobj HowToPlayScreenControllerProxy : ScreenControllerProxy
{
  const HowToPlayScreenControllerProxyCallbacks mCallbacks;
};

HowToPlayScreenControllerProxy_vtbl

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

HowToPlayScreenController::_registerEventHandlers::__l2::<lambda_df79304cc9649fb67bf9353cd28ebf6e>

struct __cppobj HowToPlayScreenController::_registerEventHandlers::__l2::<lambda_df79304cc9649fb67bf9353cd28ebf6e>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerEventHandlers::__l2::<lambda_8ed3ed5e7ff5517b92878b3114b94405>

struct __cppobj HowToPlayScreenController::_registerEventHandlers::__l2::<lambda_8ed3ed5e7ff5517b92878b3114b94405>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerControllerCallbacks::__l2::<lambda_3df758b5b4c13cd9b28dec94ab6a2f24>

struct __cppobj HowToPlayScreenController::_registerControllerCallbacks::__l2::<lambda_3df758b5b4c13cd9b28dec94ab6a2f24>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerControllerCallbacks::__l2::<lambda_3df758b5b4c13cd9b28dec94ab6a2f24>::()::__l2::<lambda_696e9f1d37641dc281f8ace2b56e28eb>

struct __cppobj HowToPlayScreenController::_registerControllerCallbacks::__l2::<lambda_3df758b5b4c13cd9b28dec94ab6a2f24>::()::__l2::<lambda_696e9f1d37641dc281f8ace2b56e28eb>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_98980cad79d6be51a970ed8b8a173214>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_98980cad79d6be51a970ed8b8a173214>
{
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_3e638c576b835e1ca482eeb052965021>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_3e638c576b835e1ca482eeb052965021>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_7df109e05f81532ad44d42e1d67f6a9e>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_7df109e05f81532ad44d42e1d67f6a9e>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_09d820a0cb2cc4cac0a8a8313d479d20>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_09d820a0cb2cc4cac0a8a8313d479d20>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_e03c3214a50b8f20f4a5670fcc3b81ff>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_e03c3214a50b8f20f4a5670fcc3b81ff>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_9ce3b3187c64fdea79f2e075c2b0e68c>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_9ce3b3187c64fdea79f2e075c2b0e68c>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_a893d1a64f2d99f078fe2b0ca5f81962>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_a893d1a64f2d99f078fe2b0ca5f81962>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_013a21fcd39d0c31c90d5c67a77acc75>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_013a21fcd39d0c31c90d5c67a77acc75>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_dd5bc4d1a3b691c61f18e7e5ff239919>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_dd5bc4d1a3b691c61f18e7e5ff239919>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_cc9c32b4c0f9d03fa404b76987170fd6>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_cc9c32b4c0f9d03fa404b76987170fd6>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_2082268c4a2becb732c3d6439028974e>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_2082268c4a2becb732c3d6439028974e>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_291b19c5d96adffbb9e7233717fc17be>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_291b19c5d96adffbb9e7233717fc17be>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_15a24123e7032ce14c4f6a0cddfb6aec>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_15a24123e7032ce14c4f6a0cddfb6aec>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::_registerBindings::__l2::<lambda_ebc5cd8dba9baf966beeb4271f47b30c>

struct __cppobj HowToPlayScreenController::_registerBindings::__l2::<lambda_ebc5cd8dba9baf966beeb4271f47b30c>
{
  HowToPlayScreenController *const __this;
};

HowToPlayScreenController::{ctor}::__l2::<lambda_1a1204ee0fbb79e5ac63c518e03feff6>

struct __cppobj HowToPlayScreenController::{ctor}::__l2::<lambda_1a1204ee0fbb79e5ac63c518e03feff6>
{
  HowToPlayScreenController *const __this;
};

HdrCalibrationScreenController::_registerBindings::__l2::<lambda_0090d31c2cd362a2b64f1c680f920a17>

struct __cppobj HdrCalibrationScreenController::_registerBindings::__l2::<lambda_0090d31c2cd362a2b64f1c680f920a17>
{
  HdrCalibrationScreenController *const __this;
};

HdrCalibrationScreenController::_registerBindings::__l2::<lambda_af0e07900b26df6861fa15ee3c18d3c2>

struct __cppobj HdrCalibrationScreenController::_registerBindings::__l2::<lambda_af0e07900b26df6861fa15ee3c18d3c2>
{
  HdrCalibrationScreenController *const __this;
};

HdrCalibrationScreenController::_registerEventHandlers::__l2::<lambda_e31c3805daa310b61ad09c3ee7e5a55a>

struct __cppobj HdrCalibrationScreenController::_registerEventHandlers::__l2::<lambda_e31c3805daa310b61ad09c3ee7e5a55a>
{
  HdrCalibrationScreenController *const __this;
};

HdrCalibrationScreenController::_registerEventHandlers::__l2::<lambda_d5a504e56c9f0309e2a9176fd48019d0>

struct __cppobj HdrCalibrationScreenController::_registerEventHandlers::__l2::<lambda_d5a504e56c9f0309e2a9176fd48019d0>
{
  HdrCalibrationScreenController *const __this;
};

HudScreenController_vtbl

struct /*VFT*/ HudScreenController_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);
};

HudScreenController::_registerTooltips::__l5::<lambda_612dea3e7018646313e2faa32f42c26e>

struct __cppobj HudScreenController::_registerTooltips::__l5::<lambda_612dea3e7018646313e2faa32f42c26e>
{
};

HudScreenController::_registerTooltips::__l5::<lambda_2915616f499390bbcede6846322347ad>

struct __cppobj HudScreenController::_registerTooltips::__l5::<lambda_2915616f499390bbcede6846322347ad>
{
};

HudScreenController::_registerTooltips::__l5::<lambda_7f648107bc38bb342441c4168205c24d>

struct __cppobj HudScreenController::_registerTooltips::__l5::<lambda_7f648107bc38bb342441c4168205c24d>
{
};

HudScreenController::_registerTooltips::__l5::<lambda_c8ef105c332367b5272a0c12f091592c>

struct __cppobj HudScreenController::_registerTooltips::__l5::<lambda_c8ef105c332367b5272a0c12f091592c>
{
};

HudScreenController::_registerTooltips::__l2::<lambda_aa7f61a620b28af03619de18f5f993b4>

struct __cppobj HudScreenController::_registerTooltips::__l2::<lambda_aa7f61a620b28af03619de18f5f993b4>
{
};

HudScreenController::_registerEventHandlers::__l2::<lambda_fcb18562d72831645bebf861fdbf02a3>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_fcb18562d72831645bebf861fdbf02a3>
{
  HudScreenController *const __this;
};

HudScreenController::_registerEventHandlers::__l2::<lambda_33ace497c08bbdbd85bf4001f20e22e6>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_33ace497c08bbdbd85bf4001f20e22e6>
{
  HudScreenController *const __this;
};

HudScreenController::_registerEventHandlers::__l2::<lambda_9f199990a0b5ca789dab498388215a16>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_9f199990a0b5ca789dab498388215a16>
{
  HudScreenController *const __this;
};

HudScreenController::_registerEventHandlers::__l2::<lambda_dac0e6bb1a7406d99e29528a46bd7e58>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_dac0e6bb1a7406d99e29528a46bd7e58>
{
  HudScreenController *const __this;
};

HudScreenController::_registerEventHandlers::__l2::<lambda_4fd4c19a1f90e062769f9cb8be417707>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_4fd4c19a1f90e062769f9cb8be417707>
{
  HudScreenController *const __this;
};

HudScreenController::_registerEventHandlers::__l4::<lambda_da91a43e8ee85cc522816548750ccfb3>

struct __cppobj __declspec(align(8)) HudScreenController::_registerEventHandlers::__l4::<lambda_da91a43e8ee85cc522816548750ccfb3>
{
  HudScreenController *const __this;
  int i;
};

HudScreenController::_registerEventHandlers::__l2::<lambda_a93ebc1a35c9b83cd387ef55c5566cff>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_a93ebc1a35c9b83cd387ef55c5566cff>
{
  HudScreenController *const __this;
};

HudScreenController::_registerEventHandlers::__l2::<lambda_4819de47fe36d9e12608ee0f8134edf8>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_4819de47fe36d9e12608ee0f8134edf8>
{
  HudScreenController *const __this;
};

HudScreenController::_registerEventHandlers::__l2::<lambda_df72e0e5dae7626d909fab6738c73a52>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_df72e0e5dae7626d909fab6738c73a52>
{
  HudScreenController *const __this;
};

HudScreenController::_registerEventHandlers::__l2::<lambda_9cf50b366d8387dd95be8c064fd6b39b>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_9cf50b366d8387dd95be8c064fd6b39b>
{
  HudScreenController *const __this;
};

HudScreenController::_registerEventHandlers::__l2::<lambda_e639e2da445daa176c2ec1175dd978eb>

struct __cppobj HudScreenController::_registerEventHandlers::__l2::<lambda_e639e2da445daa176c2ec1175dd978eb>
{
  HudScreenController *const __this;
};

HudScreenController::_selectSlot::__l2::<lambda_1c7e7760850e81b8138b17aa3d0e7ea6>

struct __cppobj HudScreenController::_selectSlot::__l2::<lambda_1c7e7760850e81b8138b17aa3d0e7ea6>
{
  int *slot;
};

HudScreenController::{ctor}::__l2::<lambda_524a1af1e618de3686b438edfbe6d5e4>

struct __cppobj HudScreenController::{ctor}::__l2::<lambda_524a1af1e618de3686b438edfbe6d5e4>
{
  HudScreenController *const __this;
};

HoloUIScreenSetupCleanupStrategy

struct __cppobj HoloUIScreenSetupCleanupStrategy : AbstractScreenSetupCleanupStrategy
{
  IClientInstance *mClient;
  Matrix mLastMatrixPatch;
};

HoloUIScreenSetupCleanupStrategy_vtbl

struct /*VFT*/ HoloUIScreenSetupCleanupStrategy_vtbl
{
  void (__fastcall *~AbstractScreenSetupCleanupStrategy)(AbstractScreenSetupCleanupStrategy *this);
  void (__fastcall *setupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  void (__fastcall *cleanupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  EyeRenderingModeBit (__fastcall *getEyeRenderingMode)(AbstractScreenSetupCleanupStrategy *this);
  Matrix *(__fastcall *_generateMatrixPatch)(HoloUIScreenSetupCleanupStrategy *this, Matrix *result);
};

HoloHUDScreenSetupCleanupStrategy

struct __cppobj HoloHUDScreenSetupCleanupStrategy : HoloUIScreenSetupCleanupStrategy
{
};

HoloHUDScreenSetupCleanupStrategy_vtbl

struct /*VFT*/ HoloHUDScreenSetupCleanupStrategy_vtbl
{
  void (__fastcall *~AbstractScreenSetupCleanupStrategy)(AbstractScreenSetupCleanupStrategy *this);
  void (__fastcall *setupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  void (__fastcall *cleanupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  EyeRenderingModeBit (__fastcall *getEyeRenderingMode)(AbstractScreenSetupCleanupStrategy *this);
  Matrix *(__fastcall *_generateMatrixPatch)(HoloUIScreenSetupCleanupStrategy *this, Matrix *result);
};

HoloIngameUIScreenSetupCleanupStrategy

struct __cppobj HoloIngameUIScreenSetupCleanupStrategy : AbstractScreenSetupCleanupStrategy
{
  IClientInstance *mClient;
  Matrix mLastMatrixPatch;
};

HoloIngameUIScreenSetupCleanupStrategy_vtbl

struct /*VFT*/ HoloIngameUIScreenSetupCleanupStrategy_vtbl
{
  void (__fastcall *~AbstractScreenSetupCleanupStrategy)(AbstractScreenSetupCleanupStrategy *this);
  void (__fastcall *setupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  void (__fastcall *cleanupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  EyeRenderingModeBit (__fastcall *getEyeRenderingMode)(AbstractScreenSetupCleanupStrategy *this);
  Matrix *(__fastcall *_generateMatrixPatch)(HoloIngameUIScreenSetupCleanupStrategy *this, Matrix *result);
};

HoloPlayspaceSetupCleanupStrategy

struct __cppobj HoloPlayspaceSetupCleanupStrategy : AbstractScreenSetupCleanupStrategy
{
  IClientInstance *mClient;
  Matrix mLastMatrixPatch;
};

HoloPlayspaceSetupCleanupStrategy_vtbl

struct /*VFT*/ HoloPlayspaceSetupCleanupStrategy_vtbl
{
  void (__fastcall *~AbstractScreenSetupCleanupStrategy)(AbstractScreenSetupCleanupStrategy *this);
  void (__fastcall *setupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  void (__fastcall *cleanupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  EyeRenderingModeBit (__fastcall *getEyeRenderingMode)(AbstractScreenSetupCleanupStrategy *this);
};

HoloRealitySetupCleanupStrategy

struct __cppobj HoloRealitySetupCleanupStrategy : AbstractScreenSetupCleanupStrategy
{
  IClientInstance *mClient;
  Matrix mLastMatrixPatch;
};

HoloRealitySetupCleanupStrategy_vtbl

struct /*VFT*/ HoloRealitySetupCleanupStrategy_vtbl
{
  void (__fastcall *~AbstractScreenSetupCleanupStrategy)(AbstractScreenSetupCleanupStrategy *this);
  void (__fastcall *setupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  void (__fastcall *cleanupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  EyeRenderingModeBit (__fastcall *getEyeRenderingMode)(AbstractScreenSetupCleanupStrategy *this);
};

HoloScreenSetupCleanupStrategy

struct __cppobj HoloScreenSetupCleanupStrategy : AbstractScreenSetupCleanupStrategy
{
  Matrix mLastMatrixPatch;
};

HoloScreenSetupCleanupStrategy_vtbl

struct /*VFT*/ HoloScreenSetupCleanupStrategy_vtbl
{
  void (__fastcall *~AbstractScreenSetupCleanupStrategy)(AbstractScreenSetupCleanupStrategy *this);
  void (__fastcall *setupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  void (__fastcall *cleanupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  EyeRenderingModeBit (__fastcall *getEyeRenderingMode)(AbstractScreenSetupCleanupStrategy *this);
};

HoloViewerSetupCleanupStrategy

struct __cppobj HoloViewerSetupCleanupStrategy : AbstractScreenSetupCleanupStrategy
{
  IClientInstance *mClient;
  Matrix mLastMatrixPatch;
};

HoloViewerSetupCleanupStrategy_vtbl

struct /*VFT*/ HoloViewerSetupCleanupStrategy_vtbl
{
  void (__fastcall *~AbstractScreenSetupCleanupStrategy)(AbstractScreenSetupCleanupStrategy *this);
  void (__fastcall *setupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  void (__fastcall *cleanupScreen)(AbstractScreenSetupCleanupStrategy *this, ScreenContext *);
  EyeRenderingModeBit (__fastcall *getEyeRenderingMode)(AbstractScreenSetupCleanupStrategy *this);
};

Hitbox

struct __cppobj Hitbox
{
  Vec3 mPivot;
  AABB mAabb;
};

HangingActor

struct __cppobj HangingActor : Actor
{
  int mDir;
  int mCheckInterval;
};

HangingActor_vtbl

struct /*VFT*/ HangingActor_vtbl
{
  bool (__fastcall *hasComponent)(Actor *this, const HashedString *);
  void (__fastcall *reloadHardcoded)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *reloadHardcodedClient)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *initializeComponents)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *reloadComponents)(Actor *this, Actor::InitializationMethod, const VariantParameterList *);
  void (__fastcall *_serverInitItemStackIds)(Actor *this);
  void (__fastcall *_doInitialMove)(Actor *this);
  bool (__fastcall *checkAllSensitiveWords)(Actor *this);
  bool (__fastcall *checkNameTag)(Actor *this);
  void (__fastcall *~Actor)(Actor *this);
  void (__fastcall *reset)(Actor *this);
  int (__fastcall *getOnDeathExperience)(Actor *this);
  ActorType (__fastcall *getOwnerEntityType)(Actor *this);
  void (__fastcall *remove)(Actor *this);
  void (__fastcall *setPos)(Actor *this, const Vec3 *);
  const PredictedMovementValues *(__fastcall *getPredictedMovementValues)(Actor *this);
  const Vec3 *(__fastcall *getPos)(Actor *this);
  const Vec3 *(__fastcall *getPosOld)(Actor *this);
  const Vec3 *(__fastcall *getPosExtrapolated)(Actor *this, const Vec3 *result, float);
  Vec3 *(__fastcall *getAttachPos)(Actor *this, Vec3 *result, ActorLocation, float);
  Vec3 *(__fastcall *getFiringPos)(Actor *this, Vec3 *result);
  void (__fastcall *setRot)(Actor *this, const Vec2 *);
  void (__fastcall *move)(Actor *this, IActorMovementProxy *, const Vec3 *);
  void (__fastcall *move)(Actor *this, const Vec3 *);
  Vec3 *(__fastcall *getInterpolatedRidingPosition)(Actor *this, Vec3 *result, float);
  float (__fastcall *getInterpolatedBodyRot)(Actor *this, float);
  float (__fastcall *getInterpolatedHeadRot)(Actor *this, float);
  float (__fastcall *getInterpolatedBodyYaw)(Actor *this, float);
  float (__fastcall *getYawSpeedInDegreesPerSecond)(Actor *this);
  float (__fastcall *getInterpolatedWalkAnimSpeed)(Actor *this, float);
  Vec3 *(__fastcall *getInterpolatedRidingOffset)(Actor *this, Vec3 *result, float);
  void (__fastcall *checkBlockCollisions)(Actor *this);
  void (__fastcall *checkBlockCollisions)(Actor *this, const AABB *, std::function<void __cdecl(BlockSource &,Block const &,BlockPos const &,Actor &)>);
  bool (__fastcall *isFireImmune)(Actor *this);
  bool (__fastcall *breaksFallingBlocks)(Actor *this);
  void (__fastcall *blockedByShield)(Actor *this, const ActorDamageSource *, Actor *);
  void (__fastcall *teleportTo)(Actor *this, const Vec3 *, bool, int, int, const ActorUniqueID *);
  bool (__fastcall *tryTeleportTo)(Actor *this, const Vec3 *, bool, bool, int, int);
  void (__fastcall *chorusFruitTeleport)(Actor *this, Vec3 *);
  void (__fastcall *lerpTo)(Actor *this, const Vec3 *, const Vec2 *, int);
  void (__fastcall *lerpMotion)(Actor *this, const Vec3 *);
  std::unique_ptr<AddActorBasePacket> *(__fastcall *getAddPacket)(Actor *this, std::unique_ptr<AddActorBasePacket> *result);
  void (__fastcall *normalTick)(Actor *this);
  void (__fastcall *baseTick)(Actor *this);
  void (__fastcall *rideTick)(Actor *this);
  void (__fastcall *positionRider)(Actor *this, Actor *, float);
  float (__fastcall *getRidingHeight)(Actor *this);
  bool (__fastcall *startRiding)(Actor *this, Actor *);
  void (__fastcall *addRider)(Actor *this, Actor *);
  void (__fastcall *flagRiderToRemove)(Actor *this, Actor *);
  std::string *(__fastcall *getExitTip)(Actor *this, std::string *result, const std::string *, InputMode);
  bool (__fastcall *intersects)(Actor *this, const Vec3 *, const Vec3 *);
  bool (__fastcall *isFree)(Actor *this, const Vec3 *);
  bool (__fastcall *isFree)(Actor *this, const Vec3 *, float);
  bool (__fastcall *isInWall)(Actor *this);
  bool (__fastcall *isInvisible)(Actor *this);
  bool (__fastcall *canShowNameTag)(Actor *this);
  bool (__fastcall *canExistInPeaceful)(Actor *this);
  void (__fastcall *setNameTagVisible)(Actor *this, bool);
  const std::string *(__fastcall *getNameTag)(Actor *this);
  unsigned __int64 (__fastcall *getNameTagAsHash)(Actor *this);
  std::string *(__fastcall *getFormattedNameTag)(Actor *this, std::string *result);
  void (__fastcall *filterFormattedNameTag)(Actor *this, const UIProfanityContext *);
  void (__fastcall *setNameTag)(Actor *this, const std::string *);
  bool (__fastcall *getAlwaysShowNameTag)(Actor *this);
  void (__fastcall *setScoreTag)(Actor *this, const std::string *);
  const std::string *(__fastcall *getScoreTag)(Actor *this);
  bool (__fastcall *isInWater)(Actor *this);
  bool (__fastcall *hasEnteredWater)(Actor *this);
  bool (__fastcall *isImmersedInWater)(Actor *this);
  bool (__fastcall *isInWaterOrRain)(Actor *this);
  bool (__fastcall *isInLava)(Actor *this);
  bool (__fastcall *isUnderLiquid)(Actor *this, MaterialType);
  bool (__fastcall *isOverWater)(Actor *this);
  void (__fastcall *makeStuckInBlock)(Actor *this, const Vec3 *);
  float (__fastcall *getCameraOffset)(Actor *this);
  float (__fastcall *getShadowHeightOffs)(Actor *this);
  float (__fastcall *getShadowRadius)(Actor *this);
  Vec3 *(__fastcall *getHeadLookVector)(Actor *this, Vec3 *result, float);
  bool (__fastcall *canSeeInvisible)(Actor *this);
  bool (__fastcall *canSee)(Actor *this, const Vec3 *);
  bool (__fastcall *canSee)(Actor *this, const Actor *);
  bool (__fastcall *isSkyLit)(Actor *this, float);
  float (__fastcall *getBrightness)(Actor *this, float);
  bool (__fastcall *interactPreventDefault)(Actor *this);
  void (__fastcall *playerTouch)(Actor *this, Player *);
  void (__fastcall *onAboveBubbleColumn)(Actor *this, const bool);
  void (__fastcall *onInsideBubbleColumn)(Actor *this, const bool);
  bool (__fastcall *isImmobile)(Actor *this);
  bool (__fastcall *isSilent)(Actor *this);
  bool (__fastcall *isPickable)(Actor *this);
  bool (__fastcall *isFishable)(Actor *this);
  bool (__fastcall *isSleeping)(Actor *this);
  bool (__fastcall *isShootable)(Actor *this);
  void (__fastcall *setSneaking)(Actor *this, bool);
  bool (__fastcall *isBlocking)(Actor *this);
  bool (__fastcall *isDamageBlocked)(Actor *this, const ActorDamageSource *);
  bool (__fastcall *isAlive)(Actor *this);
  bool (__fastcall *isOnFire)(Actor *this);
  bool (__fastcall *isOnHotBlock)(Actor *this);
  bool (__fastcall *isCreativeModeAllowed)(Actor *this);
  bool (__fastcall *isSurfaceMob)(Actor *this);
  bool (__fastcall *isTargetable)(Actor *this);
  bool (__fastcall *isLocalPlayer)(Actor *this);
  bool (__fastcall *isPlayer)(Actor *this);
  bool (__fastcall *canAttack)(Actor *this, Actor *, bool);
  void (__fastcall *setTarget)(Actor *this, Actor *);
  Actor *(__fastcall *findAttackTarget)(Actor *this);
  bool (__fastcall *isValidTarget)(Actor *this, Actor *);
  bool (__fastcall *attack)(Actor *this, Actor *);
  void (__fastcall *performRangedAttack)(Actor *this, Actor *, float);
  void (__fastcall *adjustDamageAmount)(Actor *this, int *);
  int (__fastcall *getEquipmentCount)(Actor *this);
  void (__fastcall *setOwner)(Actor *this, const ActorUniqueID);
  void (__fastcall *setSitting)(Actor *this, bool);
  void (__fastcall *onTame)(Actor *this);
  void (__fastcall *onFailedTame)(Actor *this);
  int (__fastcall *getInventorySize)(Actor *this);
  int (__fastcall *getEquipSlots)(Actor *this);
  int (__fastcall *getChestSlots)(Actor *this);
  void (__fastcall *setStanding)(Actor *this, bool);
  bool (__fastcall *canPowerJump)(Actor *this);
  void (__fastcall *setCanPowerJump)(Actor *this, bool);
  bool (__fastcall *isJumping)(Actor *this);
  bool (__fastcall *isEnchanted)(Actor *this);
  void (__fastcall *rideJumped)(Actor *this);
  void (__fastcall *rideLanded)(Actor *this, const Vec3 *, const Vec3 *);
  bool (__fastcall *shouldRender)(Actor *this);
  bool (__fastcall *isInvulnerableTo)(Actor *this, const ActorDamageSource *);
  ActorDamageCause (__fastcall *getBlockDamageCause)(Actor *this, const Block *);
  void (__fastcall *actuallyHurt)(Actor *this, int, const ActorDamageSource *, bool);
  void (__fastcall *animateHurt)(Actor *this);
  bool (__fastcall *doFireHurt)(Actor *this, int);
  void (__fastcall *onLightningHit)(Actor *this);
  void (__fastcall *onBounceStarted)(Actor *this, const BlockPos *, const Block *);
  void (__fastcall *feed)(Actor *this, int);
  void (__fastcall *handleEntityEvent)(Actor *this, ActorEvent, int);
  float (__fastcall *getPickRadius)(Actor *this);
  const HashedString *(__fastcall *getActorRendererId)(Actor *this);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, const ItemStack *, float);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, const Block *, int, float);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, const Block *, int);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, int, int, float);
  ItemActor *(__fastcall *spawnAtLocation)(Actor *this, int, int);
  void (__fastcall *despawn)(Actor *this);
  void (__fastcall *killed)(Actor *this, Actor *);
  void (__fastcall *awardKillScore)(Actor *this, Actor *, int);
  void (__fastcall *setArmor)(Actor *this, ArmorSlot, const ItemStack *);
  const ItemStack *(__fastcall *getArmor)(Actor *this, ArmorSlot);
  ArmorMaterialType (__fastcall *getArmorMaterialTypeInSlot)(Actor *this, ArmorSlot);
  ArmorTextureType (__fastcall *getArmorMaterialTextureTypeInSlot)(Actor *this, ArmorSlot);
  float (__fastcall *getArmorColorInSlot)(Actor *this, ArmorSlot, int);
  const ItemStack *(__fastcall *getEquippedSlot)(Actor *this, EquipmentSlot);
  void (__fastcall *setEquippedSlot)(Actor *this, EquipmentSlot, const ItemStack *);
  const ItemStack *(__fastcall *getCarriedItem)(Actor *this);
  void (__fastcall *setCarriedItem)(Actor *this, const ItemStack *);
  void (__fastcall *setOffhandSlot)(Actor *this, const ItemStack *);
  const ItemStack *(__fastcall *getEquippedTotem)(Actor *this);
  bool (__fastcall *consumeTotem)(Actor *this);
  bool (__fastcall *save)(Actor *this, CompoundTag *);
  void (__fastcall *saveWithoutId)(Actor *this, CompoundTag *);
  bool (__fastcall *load)(Actor *this, const CompoundTag *, DataLoadHelper *);
  void (__fastcall *loadLinks)(Actor *this, const CompoundTag *, std::vector<ActorLink> *, DataLoadHelper *);
  ActorType (__fastcall *getEntityTypeId)(Actor *this);
  const HashedString *(__fastcall *queryEntityRenderer)(Actor *this);
  ActorUniqueID *(__fastcall *getSourceUniqueID)(Actor *this, ActorUniqueID *result);
  void (__fastcall *setOnFire)(Actor *this, int);
  AABB *(__fastcall *getHandleWaterAABB)(Actor *this, AABB *result);
  void (__fastcall *handleInsidePortal)(Actor *this, const BlockPos *);
  int (__fastcall *getPortalCooldown)(Actor *this);
  int (__fastcall *getPortalWaitTime)(Actor *this);
  AutomaticID<Dimension,int> *(__fastcall *getDimensionId)(Actor *this, AutomaticID<Dimension,int> *result);
  bool (__fastcall *canChangeDimensions)(Actor *this);
  void (__fastcall *changeDimension)(Actor *this, const ChangeDimensionPacket *);
  void (__fastcall *changeDimension)(Actor *this, AutomaticID<Dimension,int>, bool);
  ActorUniqueID *(__fastcall *getControllingPlayer)(Actor *this, ActorUniqueID *result);
  void (__fastcall *checkFallDamage)(Actor *this, float, bool);
  void (__fastcall *causeFallDamage)(Actor *this, float);
  void (__fastcall *handleFallDistanceOnServer)(Actor *this, float, bool);
  void (__fastcall *playSynchronizedSound)(Actor *this, LevelSoundEvent, const Vec3 *, int, bool);
  void (__fastcall *playSynchronizedSound)(Actor *this, LevelSoundEvent, const Vec3 *, const Block *, bool);
  void (__fastcall *onSynchedDataUpdate)(Actor *this, int);
  bool (__fastcall *canAddRider)(Actor *this, Actor *);
  bool (__fastcall *canPickupItem)(Actor *this, const ItemStack *);
  bool (__fastcall *canBePulledIntoVehicle)(Actor *this);
  bool (__fastcall *inCaravan)(Actor *this);
  bool (__fastcall *isLeashableType)(Actor *this);
  void (__fastcall *tickLeash)(Actor *this);
  void (__fastcall *sendMotionPacketIfNeeded)(Actor *this);
  bool (__fastcall *canSynchronizeNewEntity)(Actor *this);
  bool (__fastcall *stopRiding)(Actor *this, bool, bool, bool, bool);
  void (__fastcall *startSwimming)(Actor *this);
  void (__fastcall *stopSwimming)(Actor *this);
  void (__fastcall *buildDebugInfo)(Actor *this, std::string *);
  CommandPermissionLevel (__fastcall *getCommandPermissionLevel)(Actor *this);
  AttributeInstance *(__fastcall *getMutableAttribute)(Actor *this, const Attribute *);
  const AttributeInstance *(__fastcall *getAttribute)(Actor *this, const Attribute *);
  int (__fastcall *getDeathTime)(Actor *this);
  void (__fastcall *heal)(Actor *this, int);
  bool (__fastcall *isInvertedHealAndHarm)(Actor *this);
  bool (__fastcall *canBeAffected)(Actor *this, const MobEffectInstance *);
  bool (__fastcall *canBeAffected)(Actor *this, int);
  bool (__fastcall *canBeAffectedByArrow)(Actor *this, const MobEffectInstance *);
  void (__fastcall *onEffectAdded)(Actor *this, MobEffectInstance *);
  void (__fastcall *onEffectUpdated)(Actor *this, const MobEffectInstance *);
  void (__fastcall *onEffectRemoved)(Actor *this, MobEffectInstance *);
  AnimationComponent *(__fastcall *getAnimationComponent)(Actor *this);
  void (__fastcall *openContainerComponent)(Actor *this, Player *);
  void (__fastcall *swing)(Actor *this);
  void (__fastcall *useItem)(Actor *this, ItemStackBase *, ItemUseMethod, bool);
  bool (__fastcall *hasOutputSignal)(Actor *this, unsigned __int8);
  int (__fastcall *getOutputSignal)(Actor *this);
  void (__fastcall *getDebugText)(Actor *this, std::vector<std::string> *);
  float (__fastcall *getMapDecorationRotation)(Actor *this);
  float (__fastcall *getRiderYRotation)(Actor *this, const Actor *);
  float (__fastcall *getYHeadRot)(Actor *this);
  bool (__fastcall *isWorldBuilder)(Actor *this);
  bool (__fastcall *isCreative)(Actor *this);
  bool (__fastcall *isAdventure)(Actor *this);
  bool (__fastcall *add)(Actor *this, ItemStack *);
  bool (__fastcall *drop)(Actor *this, const ItemStack *, bool);
  bool (__fastcall *getInteraction)(Actor *this, Player *, ActorInteraction *, const Vec3 *);
  bool (__fastcall *canDestroyBlock)(Actor *this, const Block *);
  void (__fastcall *setAuxValue)(Actor *this, int);
  void (__fastcall *setSize)(Actor *this, float, float);
  int (__fastcall *getLifeSpan)(Actor *this);
  void (__fastcall *onOrphan)(Actor *this);
  void (__fastcall *wobble)(Actor *this);
  bool (__fastcall *wasHurt)(Actor *this);
  void (__fastcall *startSpinAttack)(Actor *this);
  void (__fastcall *stopSpinAttack)(Actor *this);
  void (__fastcall *setDamageNearbyMobs)(Actor *this, bool);
  bool (__fastcall *hasCritBox)(Actor *this);
  bool (__fastcall *isCritHit)(Actor *this);
  void (__fastcall *renderDebugServerState)(Actor *this, const Options *);
  void (__fastcall *reloadLootTable)(Actor *this, const EquipmentTableDefinition *);
  void (__fastcall *reloadLootTable)(Actor *this);
  float (__fastcall *getDeletionDelayTimeSeconds)(Actor *this);
  void (__fastcall *kill)(Actor *this);
  void (__fastcall *die)(Actor *this, const ActorDamageSource *);
  bool (__fastcall *shouldTick)(Actor *this);
  std::shared_ptr<IActorMovementProxy> *(__fastcall *createMovementProxy)(Actor *this, std::shared_ptr<IActorMovementProxy> *result);
  void (__fastcall *updateEntitySpecificMolangVariables)(Actor *this, RenderParams *);
  bool (__fastcall *shouldTryMakeStepSound)(Actor *this);
  float (__fastcall *getNextStep)(Actor *this, const float);
  bool (__fastcall *canMakeStepSound)(Actor *this);
  void (__fastcall *outOfWorld)(Actor *this);
  bool (__fastcall *_hurt)(Actor *this, const ActorDamageSource *, int, bool, bool);
  void (__fastcall *markHurt)(Actor *this);
  void (__fastcall *readAdditionalSaveData)(Actor *this, const CompoundTag *, DataLoadHelper *);
  void (__fastcall *addAdditionalSaveData)(Actor *this, CompoundTag *);
  void (__fastcall *_playStepSound)(Actor *this, const BlockPos *, const Block *);
  void (__fastcall *_playFlySound)(Actor *this, const BlockPos *, const Block *);
  bool (__fastcall *_makeFlySound)(Actor *this);
  void (__fastcall *checkInsideBlocks)(Actor *this, float);
  void (__fastcall *pushOutOfBlocks)(Actor *this, const Vec3 *);
  bool (__fastcall *updateWaterState)(Actor *this);
  void (__fastcall *doWaterSplashEffect)(Actor *this);
  void (__fastcall *spawnTrailBubbles)(Actor *this);
  void (__fastcall *updateInsideBlock)(Actor *this);
  LootTable *(__fastcall *getLootTable)(Actor *this);
  LootTable *(__fastcall *getDefaultLootTable)(Actor *this);
  void (__fastcall *_removeRider)(Actor *this, const ActorUniqueID *, bool, bool, bool);
  void (__fastcall *_onSizeUpdated)(Actor *this);
  void (__fastcall *_doAutoAttackOnTouch)(Actor *this, Actor *);
  void (__fastcall *setDir)(HangingActor *this, int);
  int (__fastcall *getWidth)(HangingActor *this);
  int (__fastcall *getHeight)(HangingActor *this);
  void (__fastcall *dropItem)(HangingActor *this);
  bool (__fastcall *placeHangingEntity)(HangingActor *this, BlockSource *, int);
  bool (__fastcall *wouldSurvive)(HangingActor *this, BlockSource *);
};

HumanoidModel

struct __cppobj __declspec(align(8)) HumanoidModel : Model
{
  mce::MaterialPtr mArmor;
  mce::MaterialPtr mArmorLeather;
  mce::MaterialPtr mArmorEnchanted;
  mce::MaterialPtr mArmorLeatherEnchanted;
  ModelPart mHead;
  ModelPart mHat;
  ModelPart mBody;
  ModelPart mRightArm;
  ModelPart mLeftArm;
  ModelPart mRightLeg;
  ModelPart mLeftLeg;
  ModelPart mRightItem;
  ModelPart mLeftItem;
  ModelPart mWaist;
  ModelPart mBottom;
  ModelPart mBodyArmorOffset;
  ModelPart mHelmetArmorOffset;
  ModelPart mRightArmArmorOffset;
  ModelPart mLeftArmArmorOffset;
  ModelPart mRightBootArmorOffset;
  ModelPart mLeftBootArmorOffset;
  ModelPart mWaistArmorOffset;
  ModelPart mRightLegArmorOffset;
  ModelPart mLeftLegArmorOffset;
  bool mDamageNearbyMobs;
  bool mSneaking;
  float mSwimAmount;
  float mChargeAmount;
  bool mBowAndArrow;
  bool mCrossbow;
  bool mMainHandShield;
  bool mOffHandShield;
  bool mSpear;
  bool mCharging;
  bool mIsGliding;
  float mGlidingSpeedValue;
  float mUseItemStartupProgress;
  float mUseItemIntervalProgress;
  int mUseItemInvervalAxis;
  float mShieldBlockProgress;
  SkinAdjustments mSkinAdjustments;
  std::array<ModelPart *,13> mBindParts;
  SkinAdjustments mBaseSkinAdjustments;
  float mHoldingHand[2];
};

HumanoidModel_vtbl

struct /*VFT*/ HumanoidModel_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);
  void (__fastcall *clear)(Model *this);
  void (__fastcall *preDraw)(Model *this, ScreenContext *);
  void (__fastcall *postDraw)(Model *this, ScreenContext *);
  void (__fastcall *render)(Model *this, BaseActorRenderContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *render)(Model *this, BaseActorRenderContext *);
  void (__fastcall *render)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *render)(Model *this, ScreenContext *);
  void (__fastcall *setupAnim)(Model *this);
  void (__fastcall *setupAnim)(Model *this, float, float, float, float, float, float);
  void (__fastcall *prepareMobModel)(Model *this, Mob *, float, float, float);
  Vec3 *(__fastcall *getLeashOffsetPosition)(Model *this, Vec3 *result, bool);
  void (__fastcall *renderAniModel)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float, MatrixStack::MatrixStackRef *);
  void (__fastcall *renderMod)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *youngTransform)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float, MatrixStack::MatrixStackRef *);
  float (__fastcall *getHeightAdjustment)(Model *this);
  AABB *(__fastcall *buildAABB)(Model *this, AABB *result);
  void (__fastcall *renderAniModel)(HumanoidModel *this, ScreenContext *, int, float, float);
};

HorseModel

struct __cppobj HorseModel : Model
{
  mce::MaterialPtr mDefaultMaterial;
  mce::MaterialPtr mLeatherArmorMaterial;
  mce::MaterialPtr mSaddleMaterial;
  mce::MaterialPtr mHairMaterial;
  ModelPart Head;
  ModelPart UMouth;
  ModelPart LMouth;
  ModelPart Ear1;
  ModelPart Ear2;
  ModelPart MuleEarL;
  ModelPart MuleEarR;
  ModelPart Neck;
  ModelPart HeadSaddle;
  ModelPart Mane;
  ModelPart Body;
  ModelPart TailA;
  ModelPart TailB;
  ModelPart TailC;
  ModelPart Leg1A;
  ModelPart Leg1B;
  ModelPart Leg1C;
  ModelPart Leg2A;
  ModelPart Leg2B;
  ModelPart Leg2C;
  ModelPart Leg3A;
  ModelPart Leg3B;
  ModelPart Leg3C;
  ModelPart Leg4A;
  ModelPart Leg4B;
  ModelPart Leg4C;
  ModelPart Bag1;
  ModelPart Bag2;
  ModelPart Saddle;
  ModelPart SaddleB;
  ModelPart SaddleC;
  ModelPart SaddleL;
  ModelPart SaddleL2;
  ModelPart SaddleR;
  ModelPart SaddleR2;
  ModelPart SaddleMouthL;
  ModelPart SaddleMouthR;
  ModelPart SaddleMouthLine;
  ModelPart SaddleMouthLineR;
};

HorseModel_vtbl

struct /*VFT*/ HorseModel_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);
  void (__fastcall *clear)(Model *this);
  void (__fastcall *preDraw)(Model *this, ScreenContext *);
  void (__fastcall *postDraw)(Model *this, ScreenContext *);
  void (__fastcall *render)(Model *this, BaseActorRenderContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *render)(Model *this, BaseActorRenderContext *);
  void (__fastcall *render)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *render)(Model *this, ScreenContext *);
  void (__fastcall *setupAnim)(Model *this);
  void (__fastcall *setupAnim)(Model *this, float, float, float, float, float, float);
  void (__fastcall *prepareMobModel)(Model *this, Mob *, float, float, float);
  Vec3 *(__fastcall *getLeashOffsetPosition)(Model *this, Vec3 *result, bool);
  void (__fastcall *renderAniModel)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float, MatrixStack::MatrixStackRef *);
  void (__fastcall *renderMod)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *youngTransform)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float, MatrixStack::MatrixStackRef *);
  float (__fastcall *getHeightAdjustment)(Model *this);
  AABB *(__fastcall *buildAABB)(Model *this, AABB *result);
};

Horse

struct __cppobj __declspec(align(8)) Horse : Animal
{
  std::string layerTextureHashName;
  std::string layerTextureLayers[3];
  bool mHasReproduced;
  bool mLandedOnGround;
  float mEatAnim;
  float mEatAnimO;
  float mStandAnim;
  float mStandAnimO;
  float mMouthAnim;
  float mMouthAnimO;
  int mCountEating;
  int mMouthCounter;
  int mStandCounter;
  int mSprintCounter;
  int mGallopSoundCounter;
  int mTailCounter;
};

HorseModelV2

struct __cppobj __declspec(align(8)) HorseModelV2 : Model
{
  mce::MaterialPtr mDefaultMaterial;
  mce::MaterialPtr mLeatherArmorMaterial;
  mce::MaterialPtr mSaddleMaterial;
  mce::MaterialPtr mHairMaterial;
  Vec3 mRestFrontLegPos;
  Vec3 mRestBagPos;
  ModelPart mHead;
  ModelPart mUMouth;
  ModelPart mEar1;
  ModelPart mEar2;
  ModelPart mMuleEarL;
  ModelPart mMuleEarR;
  ModelPart mNeck;
  ModelPart mHeadSaddle;
  ModelPart mMane;
  ModelPart mBody;
  ModelPart mTailA;
  ModelPart mLeg1A;
  ModelPart mLeg2A;
  ModelPart mLeg3A;
  ModelPart mLeg4A;
  ModelPart mBag1;
  ModelPart mBag2;
  ModelPart mSaddle;
  ModelPart mSaddleB;
  ModelPart mSaddleC;
  ModelPart mSaddleL;
  ModelPart mSaddleL2;
  ModelPart mSaddleR;
  ModelPart mSaddleR2;
  ModelPart mSaddleMouthL;
  ModelPart mSaddleMouthR;
  ModelPart mSaddleMouthLine;
  ModelPart mSaddleMouthLineR;
  float mBabyLegInitialUpscale;
};

HorseModelV2_vtbl

struct /*VFT*/ HorseModelV2_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);
  void (__fastcall *clear)(Model *this);
  void (__fastcall *preDraw)(Model *this, ScreenContext *);
  void (__fastcall *postDraw)(Model *this, ScreenContext *);
  void (__fastcall *render)(Model *this, BaseActorRenderContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *render)(Model *this, BaseActorRenderContext *);
  void (__fastcall *render)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *render)(Model *this, ScreenContext *);
  void (__fastcall *setupAnim)(Model *this);
  void (__fastcall *setupAnim)(Model *this, float, float, float, float, float, float);
  void (__fastcall *prepareMobModel)(Model *this, Mob *, float, float, float);
  Vec3 *(__fastcall *getLeashOffsetPosition)(Model *this, Vec3 *result, bool);
  void (__fastcall *renderAniModel)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float, MatrixStack::MatrixStackRef *);
  void (__fastcall *renderMod)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *youngTransform)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float, MatrixStack::MatrixStackRef *);
  float (__fastcall *getHeightAdjustment)(Model *this);
  AABB *(__fastcall *buildAABB)(Model *this, AABB *result);
};

HeartParticle

struct __cppobj __declspec(align(8)) HeartParticle : Particle
{
  float oSize;
};

HeartParticle_vtbl

struct /*VFT*/ HeartParticle_vtbl
{
  void (__fastcall *init)(Particle *this, const Vec3 *, const Vec3 *, int, ParticleEngine *);
  void (__fastcall *addTagData)(Particle *this, const CompoundTag *);
  void (__fastcall *~Particle)(Particle *this);
  void (__fastcall *normalTick)(Particle *this);
  void (__fastcall *tessellate)(Particle *this, const ParticleRenderContext *);
  const mce::TexturePtr *(__fastcall *getParticleTexture)(Particle *this);
  mce::Color *(__fastcall *getParticleLightColor)(Particle *this, mce::Color *result, float, const LightTexture *);
  void (__fastcall *setEmittingEntity)(Particle *this, Actor *);
  bool (__fastcall *_shouldUpdateVertexData)(Particle *this, float);
};

HugeExplosionParticle

struct __cppobj __declspec(align(8)) HugeExplosionParticle : Particle
{
  int baseTex;
};

HugeExplosionParticle_vtbl

struct /*VFT*/ HugeExplosionParticle_vtbl
{
  void (__fastcall *init)(Particle *this, const Vec3 *, const Vec3 *, int, ParticleEngine *);
  void (__fastcall *addTagData)(Particle *this, const CompoundTag *);
  void (__fastcall *~Particle)(Particle *this);
  void (__fastcall *normalTick)(Particle *this);
  void (__fastcall *tessellate)(Particle *this, const ParticleRenderContext *);
  const mce::TexturePtr *(__fastcall *getParticleTexture)(Particle *this);
  mce::Color *(__fastcall *getParticleLightColor)(Particle *this, mce::Color *result, float, const LightTexture *);
  void (__fastcall *setEmittingEntity)(Particle *this, Actor *);
  bool (__fastcall *_shouldUpdateVertexData)(Particle *this, float);
};

HugeExplosionSeedParticle

struct __cppobj HugeExplosionSeedParticle : Particle
{
};

HugeExplosionSeedParticle_vtbl

struct /*VFT*/ HugeExplosionSeedParticle_vtbl
{
  void (__fastcall *init)(Particle *this, const Vec3 *, const Vec3 *, int, ParticleEngine *);
  void (__fastcall *addTagData)(Particle *this, const CompoundTag *);
  void (__fastcall *~Particle)(Particle *this);
  void (__fastcall *normalTick)(Particle *this);
  void (__fastcall *tessellate)(Particle *this, const ParticleRenderContext *);
  const mce::TexturePtr *(__fastcall *getParticleTexture)(Particle *this);
  mce::Color *(__fastcall *getParticleLightColor)(Particle *this, mce::Color *result, float, const LightTexture *);
  void (__fastcall *setEmittingEntity)(Particle *this, Actor *);
  bool (__fastcall *_shouldUpdateVertexData)(Particle *this, float);
};

HappyVillagerParticle

struct __cppobj HappyVillagerParticle : SuspendedTownParticle
{
};

HappyVillagerParticle_vtbl

struct /*VFT*/ HappyVillagerParticle_vtbl
{
  void (__fastcall *init)(Particle *this, const Vec3 *, const Vec3 *, int, ParticleEngine *);
  void (__fastcall *addTagData)(Particle *this, const CompoundTag *);
  void (__fastcall *~Particle)(Particle *this);
  void (__fastcall *normalTick)(Particle *this);
  void (__fastcall *tessellate)(Particle *this, const ParticleRenderContext *);
  const mce::TexturePtr *(__fastcall *getParticleTexture)(Particle *this);
  mce::Color *(__fastcall *getParticleLightColor)(Particle *this, mce::Color *result, float, const LightTexture *);
  void (__fastcall *setEmittingEntity)(Particle *this, Actor *);
  bool (__fastcall *_shouldUpdateVertexData)(Particle *this, float);
};

HuskModel

struct __cppobj HuskModel : ZombieModel
{
  mce::MaterialPtr mHuskMaterial;
  mce::MaterialPtr mClothesMaterial;
  ModelPart mHat;
  ModelPart mLeftSleeve;
  ModelPart mRightSleeve;
};

HuskModel_vtbl

struct /*VFT*/ HuskModel_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);
  void (__fastcall *clear)(Model *this);
  void (__fastcall *preDraw)(Model *this, ScreenContext *);
  void (__fastcall *postDraw)(Model *this, ScreenContext *);
  void (__fastcall *render)(Model *this, BaseActorRenderContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *render)(Model *this, BaseActorRenderContext *);
  void (__fastcall *render)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *render)(Model *this, ScreenContext *);
  void (__fastcall *setupAnim)(Model *this);
  void (__fastcall *setupAnim)(Model *this, float, float, float, float, float, float);
  void (__fastcall *prepareMobModel)(Model *this, Mob *, float, float, float);
  Vec3 *(__fastcall *getLeashOffsetPosition)(Model *this, Vec3 *result, bool);
  void (__fastcall *renderAniModel)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float, MatrixStack::MatrixStackRef *);
  void (__fastcall *renderMod)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float);
  void (__fastcall *youngTransform)(Model *this, ScreenContext *, Actor *, float, float, float, float, float, float, MatrixStack::MatrixStackRef *);
  float (__fastcall *getHeightAdjustment)(Model *this);
  AABB *(__fastcall *buildAABB)(Model *this, AABB *result);
  void (__fastcall *renderAniModel)(HumanoidModel *this, ScreenContext *, int, float, float);
};

HumanoidMonster

struct __cppobj __declspec(align(8)) HumanoidMonster : Monster
{
  AttackState mState;
};

HorseArmorItem

struct __cppobj __declspec(align(8)) HorseArmorItem : Item
{
  const int mDefense;
  const int mModelIndex;
  _BYTE mTier[4];
};

HorseRenderer

struct __cppobj HorseRenderer : MobRenderer
{
  mce::TexturePtr mHorseTypeTextures[5];
  mce::TexturePtr mHorseVariantTextures[7];
  mce::TexturePtr mHorseMarkingTextures[5];
  mce::TexturePtr mHorseArmorTextures[5];
};

HorseRenderer_vtbl

struct /*VFT*/ HorseRenderer_vtbl
{
  void (__fastcall *~ActorShaderManager)(ActorShaderManager *this);
  mce::Color *(__fastcall *_getOverlayColor)(ActorShaderManager *this, mce::Color *result, Actor *, float);
  void (__fastcall *render)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderDebug)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderEffects)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderTrading)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *, float);
  void (__fastcall *renderFlame)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderLeash)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderWaterHole)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *addAdditionalRenderingIfNeeded)(ActorRenderer *this, mce::TextureGroup *);
  void (__fastcall *renderWeaponEffect)(ActorRenderer *this, BaseActorRenderContext *, Actor *);
  void (__fastcall *renderBindEffects)(ActorRenderer *this, BaseActorRenderContext *, Actor *);
  AABB *(__fastcall *getRenderBounds)(ActorRenderer *this, AABB *result, const Actor *);
  Vec3 *(__fastcall *getLeashOffset)(ActorRenderer *this, Vec3 *result, Actor *, float, float, float, bool, bool);
  void (__fastcall *setIsOnScreen)(ActorRenderer *this, Actor *, const bool, float);
  bool (__fastcall *shouldUpdateBonesAndEffectsIfOffScreen)(ActorRenderer *this, RenderParams *);
  bool (__fastcall *shouldUpdateEffectsIfOffScreen)(ActorRenderer *this, RenderParams *);
  void (__fastcall *_bindModelEffectRender)(ActorRenderer *this, BaseActorRenderContext *, Mob *);
  void (__fastcall *prepareCarriedItem)(MobRenderer *this, Model *, Mob *, const ItemStack *);
  void (__fastcall *setupPosition)(MobRenderer *this, const Actor *, const Vec3 *, Matrix *);
  void (__fastcall *setupRotations)(MobRenderer *this, const Actor *, float, float, Matrix *, float);
  float (__fastcall *getAttackAnim)(MobRenderer *this, Mob *, float);
  float (__fastcall *getBob)(MobRenderer *this, Mob *, float);
  float (__fastcall *getFlipDegrees)(MobRenderer *this, const Mob *);
  void (__fastcall *setupScale)(MobRenderer *this, const Mob *, Matrix *, float);
  void (__fastcall *renderModel)(MobRenderer *this, BaseActorRenderContext *, ActorRenderData *, Model *, const gsl::span<mce::ClientTexture const *,-1>, const unsigned __int64);
  void (__fastcall *additionalRendering)(MobRenderer *this, BaseActorRenderContext *, Model *, Mob *, float, float, float, float, float, float);
  void (__fastcall *renderLayers)(MobRenderer *this, BaseActorRenderContext *, Actor *, float, float, float, float, float);
  void (__fastcall *drawLayers)(MobRenderer *this, ScreenContext *);
  float (__fastcall *getSneakingHeightOffset)(MobRenderer *this);
  float (__fastcall *getSwimmingHeightOffset)(MobRenderer *this);
  MobRenderer::ArmorPrepareResult *(__fastcall *prepareArmor)(MobRenderer *this, MobRenderer::ArmorPrepareResult *result, ScreenContext *, BaseActorRenderContext *, Mob *, ArmorSlot, Model *, float);
};

HorseRendererV2

struct __cppobj HorseRendererV2 : MobRenderer
{
  mce::TexturePtr mHorseTypeTextures[5];
  mce::TexturePtr mHorseVariantTextures[7];
  mce::TexturePtr mHorseMarkingTextures[5];
  mce::TexturePtr mHorseArmorTextures[5];
};

HorseRendererV2_vtbl

struct /*VFT*/ HorseRendererV2_vtbl
{
  void (__fastcall *~ActorShaderManager)(ActorShaderManager *this);
  mce::Color *(__fastcall *_getOverlayColor)(ActorShaderManager *this, mce::Color *result, Actor *, float);
  void (__fastcall *render)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderDebug)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderEffects)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderTrading)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *, float);
  void (__fastcall *renderFlame)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderLeash)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderWaterHole)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *addAdditionalRenderingIfNeeded)(ActorRenderer *this, mce::TextureGroup *);
  void (__fastcall *renderWeaponEffect)(ActorRenderer *this, BaseActorRenderContext *, Actor *);
  void (__fastcall *renderBindEffects)(ActorRenderer *this, BaseActorRenderContext *, Actor *);
  AABB *(__fastcall *getRenderBounds)(ActorRenderer *this, AABB *result, const Actor *);
  Vec3 *(__fastcall *getLeashOffset)(ActorRenderer *this, Vec3 *result, Actor *, float, float, float, bool, bool);
  void (__fastcall *setIsOnScreen)(ActorRenderer *this, Actor *, const bool, float);
  bool (__fastcall *shouldUpdateBonesAndEffectsIfOffScreen)(ActorRenderer *this, RenderParams *);
  bool (__fastcall *shouldUpdateEffectsIfOffScreen)(ActorRenderer *this, RenderParams *);
  void (__fastcall *_bindModelEffectRender)(ActorRenderer *this, BaseActorRenderContext *, Mob *);
  void (__fastcall *prepareCarriedItem)(MobRenderer *this, Model *, Mob *, const ItemStack *);
  void (__fastcall *setupPosition)(MobRenderer *this, const Actor *, const Vec3 *, Matrix *);
  void (__fastcall *setupRotations)(MobRenderer *this, const Actor *, float, float, Matrix *, float);
  float (__fastcall *getAttackAnim)(MobRenderer *this, Mob *, float);
  float (__fastcall *getBob)(MobRenderer *this, Mob *, float);
  float (__fastcall *getFlipDegrees)(MobRenderer *this, const Mob *);
  void (__fastcall *setupScale)(MobRenderer *this, const Mob *, Matrix *, float);
  void (__fastcall *renderModel)(MobRenderer *this, BaseActorRenderContext *, ActorRenderData *, Model *, const gsl::span<mce::ClientTexture const *,-1>, const unsigned __int64);
  void (__fastcall *additionalRendering)(MobRenderer *this, BaseActorRenderContext *, Model *, Mob *, float, float, float, float, float, float);
  void (__fastcall *renderLayers)(MobRenderer *this, BaseActorRenderContext *, Actor *, float, float, float, float, float);
  void (__fastcall *drawLayers)(MobRenderer *this, ScreenContext *);
  float (__fastcall *getSneakingHeightOffset)(MobRenderer *this);
  float (__fastcall *getSwimmingHeightOffset)(MobRenderer *this);
  MobRenderer::ArmorPrepareResult *(__fastcall *prepareArmor)(MobRenderer *this, MobRenderer::ArmorPrepareResult *result, ScreenContext *, BaseActorRenderContext *, Mob *, ArmorSlot, Model *, float);
};

HumanoidMobRenderer

struct __cppobj __declspec(align(8)) HumanoidMobRenderer : MobRenderer
{
  std::unique_ptr<HumanoidModel> mBabyModel;
  std::unique_ptr<HumanoidModel> mArmorParts1;
  std::unique_ptr<HumanoidModel> mArmorParts2;
  std::unique_ptr<SpinAttackModel> mSpinAttackModel;
  std::vector<mce::TexturePtr> mArmorTextures;
  mce::TexturePtr mSpinAttackTex;
  std::unique_ptr<HumanoidModel> mOriginalArmorModel;
  bool lastCustomArmorHead;
  bool lastCustomArmorBody;
  bool lastCustomArmorLeg;
  bool lastCustomArmorFeet;
};

HumanoidMobRenderer_vtbl

struct /*VFT*/ HumanoidMobRenderer_vtbl
{
  void (__fastcall *~ActorShaderManager)(ActorShaderManager *this);
  mce::Color *(__fastcall *_getOverlayColor)(ActorShaderManager *this, mce::Color *result, Actor *, float);
  void (__fastcall *render)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderDebug)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderEffects)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderTrading)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *, float);
  void (__fastcall *renderFlame)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderLeash)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *renderWaterHole)(ActorRenderer *this, BaseActorRenderContext *, ActorRenderData *);
  void (__fastcall *addAdditionalRenderingIfNeeded)(ActorRenderer *this, mce::TextureGroup *);
  void (__fastcall *renderWeaponEffect)(ActorRenderer *this, BaseActorRenderContext *, Actor *);
  void (__fastcall *renderBindEffects)(ActorRenderer *this, BaseActorRenderContext *, Actor *);
  AABB *(__fastcall *getRenderBounds)(ActorRenderer *this, AABB *result, const Actor *);
  Vec3 *(__fastcall *getLeashOffset)(ActorRenderer *this, Vec3 *result, Actor *, float, float, float, bool, bool);
  void (__fastcall *setIsOnScreen)(ActorRenderer *this, Actor *, const bool, float);
  bool (__fastcall *shouldUpdateBonesAndEffectsIfOffScreen)(ActorRenderer *this, RenderParams *);
  bool (__fastcall *shouldUpdateEffectsIfOffScreen)(ActorRenderer *this, RenderParams *);
  void (__fastcall *_bindModelEffectRender)(ActorRenderer *this, BaseActorRenderContext *, Mob *);
  void (__fastcall *prepareCarriedItem)(MobRenderer *this, Model *, Mob *, const ItemStack *);
  void (__fastcall *setupPosition)(MobRenderer *this, const Actor *, const Vec3 *, Matrix *);
  void (__fastcall *setupRotations)(MobRenderer *this, const Actor *, float, float, Matrix *, float);
  float (__fastcall *getAttackAnim)(MobRenderer *this, Mob *, float);
  float (__fastcall *getBob)(MobRenderer *this, Mob *, float);
  float (__fastcall *getFlipDegrees)(MobRenderer *this, const Mob *);
  void (__fastcall *setupScale)(MobRenderer *this, const Mob *, Matrix *, float);
  void (__fastcall *renderModel)(MobRenderer *this, BaseActorRenderContext *, ActorRenderData *, Model *, const gsl::span<mce::ClientTexture const *,-1>, const unsigned __int64);
  void (__fastcall *additionalRendering)(MobRenderer *this, BaseActorRenderContext *, Model *, Mob *, float, float, float, float, float, float);
  void (__fastcall *renderLayers)(MobRenderer *this, BaseActorRenderContext *, Actor *, float, float, float, float, float);
  void (__fastcall *drawLayers)(MobRenderer *this, ScreenContext *);
  float (__fastcall *getSneakingHeightOffset)(MobRenderer *this);
  float (__fastcall *getSwimmingHeightOffset)(MobRenderer *this);
  MobRenderer::ArmorPrepareResult *(__fastcall *prepareArmor)(MobRenderer *this, MobRenderer::ArmorPrepareResult *result, ScreenContext *, BaseActorRenderContext *, Mob *, ArmorSlot, Model *, float);
  void (__fastcall *prepareCarriedOffhandItem)(HumanoidMobRenderer *this, Model *, Mob *, const ItemStack *);
  void (__fastcall *_bindModelRender)(HumanoidMobRenderer *this, BaseActorRenderContext *, HumanoidModel *, Mob *, float, float);
};

HeavyBlock

struct __cppobj HeavyBlock : BlockLegacy
{
};

HeavyBlock_vtbl

struct /*VFT*/ HeavyBlock_vtbl
{
  void (__fastcall *~BlockLegacy)(BlockLegacy *this);
  const Block *(__fastcall *getStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  const Block *(__fastcall *getModBlockStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  std::shared_ptr<BlockActor> *(__fastcall *newBlockEntity)(BlockLegacy *this, std::shared_ptr<BlockActor> *result, const BlockPos *, const Block *);
  const Block *(__fastcall *getNextBlockPermutation)(BlockLegacy *this, const Block *);
  bool (__fastcall *hasTag)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *);
  bool (__fastcall *getCollisionShape)(BlockLegacy *this, AABB *, const Block *, BlockSource *, const BlockPos *, Actor *);
  bool (__fastcall *isObstructingChests)(BlockLegacy *this, BlockSource *, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *, int *);
  void (__fastcall *addAABBs)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *);
  const AABB *(__fastcall *getAABB)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, AABB *, bool);
  bool (__fastcall *addCollisionShapes)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *, Actor *);
  const AABB *(__fastcall *getOutline)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  bool (__fastcall *getLiquidClipVolume)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  void (__fastcall *onProjectileHit)(BlockLegacy *this, BlockSource *, const BlockPos *, const Actor *);
  bool (__fastcall *liquidCanFlowIntoFromDirection)(BlockLegacy *this, unsigned __int8, const std::function<Block const & __cdecl(BlockPos const &)> *, const BlockPos *);
  bool (__fastcall *hasVariableLighting)(BlockLegacy *this);
  bool (__fastcall *isStrippable)(BlockLegacy *this, const Block *);
  const Block *(__fastcall *getStrippedBlock)(BlockLegacy *this, const Block *);
  bool (__fastcall *canProvideSupport)(BlockLegacy *this, const Block *, unsigned __int8, BlockSupportType);
  bool (__fastcall *canConnect)(BlockLegacy *this, const Block *, unsigned __int8, const Block *);
  void (__fastcall *getConnectedDirections)(BlockLegacy *this, const Block *, const BlockPos *, BlockSource *, bool *, bool *, bool *, bool *);
  bool (__fastcall *isStemBlock)(BlockLegacy *this);
  bool (__fastcall *isContainerBlock)(BlockLegacy *this);
  bool (__fastcall *isCraftingBlock)(BlockLegacy *this);
  bool (__fastcall *isWaterBlocking)(BlockLegacy *this);
  bool (__fastcall *isHurtableBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceGateBlock)(BlockLegacy *this);
  bool (__fastcall *isThinFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isWallBlock)(BlockLegacy *this);
  bool (__fastcall *isStairBlock)(BlockLegacy *this);
  bool (__fastcall *isSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoubleSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoorBlock)(BlockLegacy *this);
  bool (__fastcall *isRailBlock)(BlockLegacy *this);
  bool (__fastcall *isButtonBlock)(BlockLegacy *this);
  bool (__fastcall *canHurtAndBreakItem)(BlockLegacy *this);
  bool (__fastcall *isSignalSource)(BlockLegacy *this);
  bool (__fastcall *canBeOriginalSurface)(BlockLegacy *this);
  bool (__fastcall *isValidAuxValue)(BlockLegacy *this, int);
  void (__fastcall *setTargetLandBlocks)(BlockLegacy *this, const std::vector<std::string> *);
  bool (__fastcall *canFillAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  const Block *(__fastcall *sanitizeFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *onFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getDirectSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  bool (__fastcall *waterSpreadCausesSpawn)(BlockLegacy *this);
  bool (__fastcall *canContainLiquid)(BlockLegacy *this);
  bool (__fastcall *shouldConnectToRedstone)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  void (__fastcall *handleRain)(BlockLegacy *this, BlockSource *, const BlockPos *, float);
  bool (__fastcall *canBeUsedInCommands)(BlockLegacy *this, const BaseGameVersion *);
  float (__fastcall *getThickness)(BlockLegacy *this);
  float (__fastcall *getFlexibility)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *checkIsPathable)(BlockLegacy *this, Actor *, const BlockPos *, const BlockPos *);
  bool (__fastcall *shouldDispense)(BlockLegacy *this, BlockSource *, Container *);
  bool (__fastcall *dispense)(BlockLegacy *this, BlockSource *, Container *, int, const Vec3 *, unsigned __int8);
  void (__fastcall *transformOnFall)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *onRedstoneUpdate)(BlockLegacy *this, BlockSource *, const BlockPos *, int, bool);
  void (__fastcall *onMove)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *detachesOnPistonMove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *movedByPiston)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureNeighborBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *setupRedstoneComponent)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *specialUse)(BlockLegacy *this, Player *, const BlockPos *, ItemStack *);
  BlockProperty (__fastcall *getRedstoneProperty)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *updateEntityAfterFallOn)(BlockLegacy *this, IActorMovementProxy *);
  bool (__fastcall *isBounceBlock)(BlockLegacy *this);
  bool (__fastcall *ignoreEntitiesOnPistonMove)(BlockLegacy *this, const Block *);
  bool (__fastcall *onFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, FertilizerType);
  bool (__fastcall *mayConsumeFertilizer)(BlockLegacy *this, BlockSource *);
  bool (__fastcall *canBeFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *mayPick)(BlockLegacy *this, BlockSource *, const Block *, bool);
  bool (__fastcall *mayPick)(BlockLegacy *this);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, unsigned __int8);
  bool (__fastcall *mayPlaceOn)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *tryToPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const ActorBlockSyncMessage *);
  bool (__fastcall *breaksFallingBlocks)(BlockLegacy *this, const Block *);
  void (__fastcall *destroy)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, Actor *);
  bool (__fastcall *playerWillDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  bool (__fastcall *getIgnoresDestroyPermissions)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *neighborChanged)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *getSecondPart)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  int (__fastcall *getResourceCount)(BlockLegacy *this, Random *, const Block *, int, bool);
  ItemInstance *(__fastcall *getResourceItem)(BlockLegacy *this, ItemInstance *result, Random *, const Block *, int);
  ItemInstance *(__fastcall *asItemInstance)(BlockLegacy *this, ItemInstance *result, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *spawnResources)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  void (__fastcall *trySpawnResourcesOnExplosion)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  bool (__fastcall *spawnBurnResources)(BlockLegacy *this, BlockSource *, float, float, float);
  const Block *(__fastcall *getPlacementBlock)(BlockLegacy *this, Actor *, const BlockPos *, unsigned __int8, const Vec3 *, int);
  int (__fastcall *calcVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *isAttachedTo)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  bool (__fastcall *attack)(BlockLegacy *this, Player *, const BlockPos *);
  void (__fastcall *handleEntityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, Vec3 *);
  void (__fastcall *entityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  int (__fastcall *getExperienceDrop)(BlockLegacy *this, Random *);
  bool (__fastcall *canBeBuiltOver)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *triggerEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, int, int);
  void (__fastcall *executeEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *, Actor *);
  void (__fastcall *executeEvent)(BlockLegacy *this, const std::string *, RenderParams *);
  bool (__fastcall *executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  bool (__fastcall *executeTriggerChain)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  const MobSpawnerData *(__fastcall *getMobToSpawn)(BlockLegacy *this, const SpawnConditions *, BlockSource *);
  bool (__fastcall *shouldStopFalling)(BlockLegacy *this, Actor *);
  bool (__fastcall *pushesUpFallingBlocks)(BlockLegacy *this);
  float (__fastcall *calcGroundFriction)(BlockLegacy *this, Mob *, const BlockPos *);
  bool (__fastcall *canHaveExtraData)(BlockLegacy *this);
  bool (__fastcall *hasComparatorSignal)(BlockLegacy *this);
  int (__fastcall *getComparatorSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, unsigned __int8);
  bool (__fastcall *onDig)(BlockLegacy *this, const Block *, Actor *, ItemStack *, const BlockPos *);
  bool (__fastcall *canSlide)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *canSpawnAt)(BlockLegacy *this, const BlockSource *, const BlockPos *);
  void (__fastcall *notifySpawnedAt)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getIconYOffset)(BlockLegacy *this);
  std::string *(__fastcall *buildDescriptionId)(BlockLegacy *this, std::string *result, const Block *);
  bool (__fastcall *isAuxValueRelevantForPicking)(BlockLegacy *this);
  int (__fastcall *getColor)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getColor)(BlockLegacy *this, const Block *);
  int (__fastcall *getColorAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getColorForParticle)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *isSeasonTinted)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  void (__fastcall *onGraphicsModeChanged)(BlockLegacy *this, const BlockGraphicsModeChangeContext *);
  float (__fastcall *getShadeBrightness)(BlockLegacy *this, const Block *);
  const AABB *(__fastcall *getVisualShapeInWorld)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, AABB *, bool);
  const AABB *(__fastcall *getVisualShape)(BlockLegacy *this, const Block *, AABB *, bool);
  const AABB *(__fastcall *getUIShape)(BlockLegacy *this, const Block *, AABB *);
  int (__fastcall *telemetryVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getVariant)(BlockLegacy *this, const Block *);
  bool (__fastcall *canSpawnOn)(BlockLegacy *this);
  const Block *(__fastcall *getRenderBlock)(BlockLegacy *this);
  unsigned __int8 (__fastcall *getMappedFace)(BlockLegacy *this, unsigned __int8, const Block *);
  bool (__fastcall *renderTwoFaced)(BlockLegacy *this);
  Flip (__fastcall *getFaceFlip)(BlockLegacy *this, unsigned __int8, const Block *);
  void (__fastcall *animateTick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  BlockLegacy *(__fastcall *init)(BlockLegacy *this);
  BlockLegacy *(__fastcall *setLightBlock)(BlockLegacy *this, Brightness);
  BlockLegacy *(__fastcall *setLightEmission)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setExplodeable)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFlammable)(BlockLegacy *this, FlameOdds, BurnOdds);
  BlockLegacy *(__fastcall *setDestroyTime)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFriction)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *addProperty)(BlockLegacy *this, BlockProperty);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *, unsigned __int64);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *);
  BlockLegacy *(__fastcall *setAllowsRunes)(BlockLegacy *this, bool);
  BlockLegacy *(__fastcall *setMapColor)(BlockLegacy *this, const mce::Color *);
  bool (__fastcall *canBeSilkTouched)(BlockLegacy *this);
  ItemInstance *(__fastcall *getSilkTouchItemInstance)(BlockLegacy *this, ItemInstance *result, const Block *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const Vec3 *, const Vec3 *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const AABB *);
  const Block *(__fastcall *tryLegacyUpgrade)(BlockLegacy *this, unsigned __int16);
  bool (__fastcall *dealsContactDamage)(BlockLegacy *this, const Actor *, const Block *, bool);
  void (__fastcall *onRemove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onExploded)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  void (__fastcall *onStandOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOff)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onPlayerPlacing)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, unsigned __int8);
  void (__fastcall *onPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onFallOn)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *playerDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  void (__fastcall *tick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  bool (__fastcall *shouldRandomTick)(BlockLegacy *this);
  bool (__fastcall *isInteractiveBlock)(BlockLegacy *this);
  HitResult *(__fastcall *clip)(BlockLegacy *this, HitResult *result, BlockSource *, const BlockPos *, const Vec3 *, const Vec3 *, bool);
  bool (__fastcall *use)(BlockLegacy *this, Player *, const BlockPos *, unsigned __int8);
  bool (__fastcall *canSurvive)(BlockLegacy *this, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this);
  int (__fastcall *getExtraRenderLayers)(BlockLegacy *this);
  float (__fastcall *getExplosionResistance)(BlockLegacy *this, Actor *);
  Brightness *(__fastcall *getLightEmission)(BlockLegacy *this, Brightness *result, const Block *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result, BlockSource *, const BlockPos *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result);
  bool (__fastcall *isCropBlock)(BlockLegacy *this);
  void (__fastcall *_executeEvent)(BlockLegacy *this, const std::string *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  bool (__fastcall *_executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *_forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  mce::Color *(__fastcall *getDustColor)(HeavyBlock *this, mce::Color *result, const Block *);
  std::string *(__fastcall *getDustParticleName)(HeavyBlock *this, std::string *result, const Block *);
  bool (__fastcall *falling)(HeavyBlock *this);
  void (__fastcall *onLand)(HeavyBlock *this, BlockSource *, const BlockPos *);
  bool (__fastcall *isFreeToFall)(HeavyBlock *this, BlockSource *, const BlockPos *);
  void (__fastcall *startFalling)(HeavyBlock *this, BlockSource *, const BlockPos *, const Block *, bool);
};

HurtOwnerSubcomponent

struct __cppobj __declspec(align(4)) HurtOwnerSubcomponent : OnHitSubcomponent
{
  float mOwnerDamage;
  bool mKnockback;
  bool mIgnite;
};

HurtOwnerSubcomponent_vtbl

struct /*VFT*/ HurtOwnerSubcomponent_vtbl
{
  void (__fastcall *~OnHitSubcomponent)(OnHitSubcomponent *this);
  void (__fastcall *readfromJSON)(OnHitSubcomponent *this, Json::Value *);
  void (__fastcall *writetoJSON)(OnHitSubcomponent *this, Json::Value *);
  void (__fastcall *doOnHitEffect)(OnHitSubcomponent *this, Actor *, ProjectileComponent *);
  const char *(__fastcall *getName)(OnHitSubcomponent *this);
};

HydrateItemRequest::CacheMetadata

struct __cppobj HydrateItemRequest::CacheMetadata
{
  std::string mLastModifiedDate;
  std::string mCacheWriteDate;
  std::string mEntityTag;
};

HydrateItemRequest

struct __cppobj HydrateItemRequest : CachedRequest
{
  std::shared_ptr<CatalogBackend> mBackend;
  const std::string mAcceptLanguage;
  HydrateParams mParams;
  std::unique_ptr<HydrateResponseCallbackHandler> mHydrateResponse;
  HydrateItemRequest::CacheMetadata mCacheMetadata;
};

HydrateItemRequest_vtbl

struct /*VFT*/ HydrateItemRequest_vtbl
{
  void (__fastcall *~RequestHandler)(RequestHandler *this);
  void (__fastcall *send)(RequestHandler *this);
  void (__fastcall *sendCachedRequest)(RequestHandler *this);
  bool (__fastcall *update)(RequestHandler *this);
  bool (__fastcall *isDone)(RequestHandler *this);
  void (__fastcall *onComplete)(RequestHandler *this);
  bool (__fastcall *canSendRequest)(RequestHandler *this);
  void (__fastcall *fireTelemetry)(RequestHandler *this, IMinecraftEventing *);
};

HIDController

struct __cppobj __declspec(align(8)) HIDController : Bedrock::Input::KeyboardEventProcessor
{
  std::unique_ptr<Bedrock::SignalReceiver> mSignalRcvr;
  TextEditContext mEditContext;
  bool mTextboxIsFocused;
  bool mTextboxIsSelected;
  bool mIsMultiline;
};

HIDController_vtbl

struct /*VFT*/ HIDController_vtbl
{
  void (__fastcall *~KeyboardEventProcessor)(Bedrock::Input::KeyboardEventProcessor *this);
  void (__fastcall *onKeyDown)(Bedrock::Input::KeyboardEventProcessor *this, int);
  void (__fastcall *onKeyUp)(Bedrock::Input::KeyboardEventProcessor *this, int);
  void (__fastcall *setIMEEnabled)(HIDController *this, bool);
};

HIDControllerWin32

struct __cppobj HIDControllerWin32 : HIDController
{
  HWND__ *mHWnd;
};

HIDControllerWin32_vtbl

struct /*VFT*/ HIDControllerWin32_vtbl
{
  void (__fastcall *~KeyboardEventProcessor)(Bedrock::Input::KeyboardEventProcessor *this);
  void (__fastcall *onKeyDown)(Bedrock::Input::KeyboardEventProcessor *this, int);
  void (__fastcall *onKeyUp)(Bedrock::Input::KeyboardEventProcessor *this, int);
  void (__fastcall *setIMEEnabled)(HIDController *this, bool);
};

HitResultContainer::LocalPlayerContainer

struct __cppobj HitResultContainer::LocalPlayerContainer : IHitResultContainer
{
  std::vector<std::pair<HitResult,HitResult>> mHits;
};

HitResultContainer::LocalPlayerContainer_vtbl

struct /*VFT*/ HitResultContainer::LocalPlayerContainer_vtbl
{
  void (__fastcall *~IHitResultContainer)(IHitResultContainer *this);
  void (__fastcall *addHitResult)(IHitResultContainer *this, HitResult, HitResult);
  void (__fastcall *clear)(IHitResultContainer *this);
  gsl::span<std::pair<HitResult,HitResult> const ,-1> *(__fastcall *getHits)(IHitResultContainer *this, gsl::span<std::pair<HitResult,HitResult> const ,-1> *result);
};

HomeSystem

struct __cppobj HomeSystem : ITickingSystem
{
};

HomeSystem_vtbl

struct /*VFT*/ HomeSystem_vtbl
{
  void (__fastcall *~ITickingSystem)(ITickingSystem *this);
  void (__fastcall *tick)(ITickingSystem *this, EntityRegistry *);
};

HTTPRequestCancelSourceAbort

struct __cppobj HTTPRequestCancelSourceAbort : HTTPRequestCancelSource
{
  std::mutex mRequestsMutex;
  std::vector<gsl::not_null<HTTPRequest *>> mRequests;
};

HTTPRequestCancelSourceAbort_vtbl

struct /*VFT*/ HTTPRequestCancelSourceAbort_vtbl
{
  void (__fastcall *~HTTPRequestCancelSource)(HTTPRequestCancelSource *this);
  void (__fastcall *cancel)(HTTPRequestCancelSource *this);
};

HealableComponent

struct __cppobj HealableComponent : IEntityComponent
{
};

HideComponent

struct __cppobj HideComponent
{
  bool mIsInRaid;
  bool mReactToBell;
};

HitboxDefinition

struct __cppobj HitboxDefinition
{
  std::vector<Hitbox> mHitboxes;
};

HitboxJson

struct __cppobj HitboxJson
{
  Vec3 mPivot;
  float mWidth;
  float mHeight;
};

HomeDefinition

struct __cppobj HomeDefinition
{
  int mRestrictionRadius;
  std::vector<std::string> mHomeBlockNames;
};

HopperDefinition

struct __cppobj HopperDefinition
{
};

Hopper

struct __cppobj Hopper
{
  int mCooldownTime;
  bool mTransferedFromChestMinecart;
  bool mIsEntity;
  bool mCanHopperIn;
  bool mCanHopperOut;
  bool mCanTriggerPullInEvent;
  bool mCanTriggerPullOutEvent;
  int mMoveItemSpeed;
};

HopperComponent

struct __cppobj HopperComponent : Hopper
{
  BlockPos mLastPosition;
};

HurtOnConditionDefinition

struct __cppobj HurtOnConditionDefinition
{
  std::vector<DamageCondition> mDamageConditions;
};

HomeDefinition::buildSchema::__l2::<lambda_2ca5030ea1b6b39672c73b4b66f2fe15>

struct __cppobj HomeDefinition::buildSchema::__l2::<lambda_2ca5030ea1b6b39672c73b4b66f2fe15>
{
};

HealableComponent::getInteraction::__l20::<lambda_2e4b6d19d8e2cc25bfd90a4348859777>

struct __cppobj HealableComponent::getInteraction::__l20::<lambda_2e4b6d19d8e2cc25bfd90a4348859777>
{
  Player *player;
  Actor *owner;
  std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<FeedItem> > > healableItemIter;
  HealableComponent *const __this;
};

HopMoveControl

struct __cppobj __declspec(align(8)) HopMoveControl : MoveControl
{
  int mJumpDelayTicks;
};

HopMoveControl_vtbl

struct /*VFT*/ HopMoveControl_vtbl
{
  void (__fastcall *~Control)(Control *this);
  void (__fastcall *initializeInternal)(MoveControl *this, Mob *, MoveControlDescription *);
  void (__fastcall *tick)(MoveControl *this, MoveControlComponent *, Mob *);
  void (__fastcall *setWantedPosition)(MoveControl *this, MoveControlComponent *, Mob *, const Vec3 *, float);
};

HoverMoveControl

struct __cppobj HoverMoveControl : MoveControl
{
};

HoverMoveControl_vtbl

struct /*VFT*/ HoverMoveControl_vtbl
{
  void (__fastcall *~Control)(Control *this);
  void (__fastcall *initializeInternal)(MoveControl *this, Mob *, MoveControlDescription *);
  void (__fastcall *tick)(MoveControl *this, MoveControlComponent *, Mob *);
  void (__fastcall *setWantedPosition)(MoveControl *this, MoveControlComponent *, Mob *, const Vec3 *, float);
};

HoverPathNavigation

struct __cppobj __declspec(align(8)) HoverPathNavigation : PathNavigation
{
  bool mCanPathFromAir;
};

HoverPathNavigation_vtbl

struct /*VFT*/ HoverPathNavigation_vtbl
{
  void (__fastcall *~PathNavigation)(PathNavigation *this);
  void (__fastcall *initializeInternal)(PathNavigation *this, Mob *, NavigationDescription *);
  void (__fastcall *tick)(PathNavigation *this, NavigationComponent *, Mob *);
  Vec3 *(__fastcall *getTempMobPos)(PathNavigation *this, Vec3 *result, const Mob *);
  std::unique_ptr<Path> *(__fastcall *createPath)(PathNavigation *this, std::unique_ptr<Path> *result, NavigationComponent *, Mob *, Actor *);
  std::unique_ptr<Path> *(__fastcall *createPath)(PathNavigation *this, std::unique_ptr<Path> *result, NavigationComponent *, Mob *, const Vec3 *);
  bool (__fastcall *moveTo)(PathNavigation *this, NavigationComponent *, Mob *, std::unique_ptr<Path>, float);
  bool (__fastcall *moveTo)(PathNavigation *this, NavigationComponent *, Mob *, Actor *, float);
  bool (__fastcall *moveTo)(PathNavigation *this, NavigationComponent *, Mob *, const Vec3 *, float);
  void (__fastcall *stop)(PathNavigation *this, NavigationComponent *, Mob *);
  bool (__fastcall *travel)(PathNavigation *this, NavigationComponent *, Mob *, float *, float *, float *);
  bool (__fastcall *canUpdatePath)(PathNavigation *this, const Mob *);
  void (__fastcall *updatePath)(PathNavigation *this, NavigationComponent *, Mob *);
};

HurtOnConditionComponent

struct __cppobj HurtOnConditionComponent : IEntityComponent
{
};

HurtOnConditionSystem

struct __cppobj HurtOnConditionSystem : ITickingSystem
{
};

HurtOnConditionSystem_vtbl

struct /*VFT*/ HurtOnConditionSystem_vtbl
{
  void (__fastcall *~ITickingSystem)(ITickingSystem *this);
  void (__fastcall *tick)(ITickingSystem *this, EntityRegistry *);
};

HurtByTargetGoal

struct __cppobj HurtByTargetGoal : TargetGoal
{
};

HurtByTargetGoal_vtbl

struct /*VFT*/ HurtByTargetGoal_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>);
  bool (__fastcall *_canAttack)(TargetGoal *this, Mob *, Actor *, bool, bool, const MobDescriptor **);
  void (__fastcall *alertOther)(HurtByTargetGoal *this, Mob *, Mob *);
};

HaveItemDefinition

struct __cppobj HaveItemDefinition : BehaviorDefinition
{
  std::string mItemName;
  int mItemCount;
  std::string mItemNameId;
  std::string mItemCountId;
};

HaveItemDefinition_vtbl

struct /*VFT*/ HaveItemDefinition_vtbl
{
  void (__fastcall *~BehaviorDefinition)(BehaviorDefinition *this);
  void (__fastcall *load)(BehaviorDefinition *this, Json::Value, const BehaviorFactory *);
  std::unique_ptr<BehaviorNode> *(__fastcall *createNode)(BehaviorDefinition *this, std::unique_ptr<BehaviorNode> *result, Actor *, const BehaviorFactory *, BehaviorNode *, BehaviorData *);
};

HaveItemNode

struct __cppobj __declspec(align(8)) HaveItemNode : BehaviorNode
{
  std::string mItemName;
  int mItemCount;
};

HaveItemNode_vtbl

struct /*VFT*/ HaveItemNode_vtbl
{
  void (__fastcall *~BehaviorNode)(BehaviorNode *this);
  BehaviorStatus (__fastcall *tick)(BehaviorNode *this, Actor *);
  void (__fastcall *initializeFromDefinition)(BehaviorNode *this, Actor *);
};

HopperBlockActor

struct __cppobj HopperBlockActor : BlockActor, Container, Hopper
{
  ItemStack mItems[5];
  Tick mLastTick;
};

HopperBlockActor_vtbl

struct /*VFT*/ HopperBlockActor_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 *);
};

Hopper::_pushOutItems::__l11::<lambda_8021f23895e628ed9b3c2f2406f50b3b>

struct __cppobj Hopper::_pushOutItems::__l11::<lambda_8021f23895e628ed9b3c2f2406f50b3b>
{
  const Vec3 *position;
  BlockActor **attachedBlockEntity;
  bool *canHopperOut;
  BlockSource *region;
};

Hopper::_tryPullInItemsFromAboveContainer::__l14::<lambda_cfa17afae7045b99dd77cd1780d5e42b>

struct __cppobj Hopper::_tryPullInItemsFromAboveContainer::__l14::<lambda_cfa17afae7045b99dd77cd1780d5e42b>
{
  const Vec3 *pos;
  BlockActor **aboveBlockEntity;
  bool *canHopperIn;
  BlockSource *region;
};

HealthAttributeDelegate

struct __cppobj HealthAttributeDelegate : AttributeInstanceDelegate
{
  int mTickCounter;
  Mob *mMob;
};

HealthAttributeDelegate_vtbl

struct /*VFT*/ HealthAttributeDelegate_vtbl
{
  void (__fastcall *~AttributeInstanceDelegate)(AttributeInstanceDelegate *this);
  void (__fastcall *tick)(AttributeInstanceDelegate *this);
  void (__fastcall *notify)(AttributeInstanceDelegate *this, __int64);
  bool (__fastcall *change)(AttributeInstanceDelegate *this, float, float, AttributeBuffInfo);
  float (__fastcall *getBuffValue)(AttributeInstanceDelegate *this, const AttributeBuff *);
};

HungerAttributeDelegate

struct __cppobj HungerAttributeDelegate : AttributeInstanceDelegate
{
  int mActionTickTimer;
  int mTickCounter;
  float mLastFoodLevel;
  Player *mPlayer;
};

HungerAttributeDelegate_vtbl

struct /*VFT*/ HungerAttributeDelegate_vtbl
{
  void (__fastcall *~AttributeInstanceDelegate)(AttributeInstanceDelegate *this);
  void (__fastcall *tick)(AttributeInstanceDelegate *this);
  void (__fastcall *notify)(AttributeInstanceDelegate *this, __int64);
  bool (__fastcall *change)(AttributeInstanceDelegate *this, float, float, AttributeBuffInfo);
  float (__fastcall *getBuffValue)(AttributeInstanceDelegate *this, const AttributeBuff *);
};

HorseEquipValidationState

struct __cppobj HorseEquipValidationState
{
  std::vector<ItemDescriptor> armorAllowedItems;
  std::vector<ItemDescriptor> saddleAllowedItems;
};

HudContainerModel

struct __cppobj HudContainerModel : ContainerModel
{
  Player *mPlayer;
};

HudContainerModel_vtbl

struct /*VFT*/ HudContainerModel_vtbl
{
  void (__fastcall *containerContentChanged)(ContainerContentChangeListener *this, int);
  void (__fastcall *~ContainerContentChangeListener)(ContainerContentChangeListener *this);
  void (__fastcall *containerAddCallback)(ContainerContentChangeListener *this, Container *);
  void (__fastcall *containerRemoveCallback)(ContainerContentChangeListener *this, Container *);
  void (__fastcall *postInit)(ContainerModel *this);
  void (__fastcall *releaseResources)(ContainerModel *this);
  int (__fastcall *getContainerSize)(ContainerModel *this);
  int (__fastcall *getFilteredContainerSize)(ContainerModel *this);
  void (__fastcall *tick)(ContainerModel *this, int);
  ContainerWeakRef *(__fastcall *getContainerWeakRef)(ContainerModel *this, ContainerWeakRef *result);
  const ItemStack *(__fastcall *getItemStack)(ContainerModel *this, int);
  const std::vector<ItemStack> *(__fastcall *getItems)(ContainerModel *this);
  const ItemInstance *(__fastcall *getItemInstance)(ContainerModel *this, int);
  const ItemStackBase *(__fastcall *getItemStackBase)(ContainerModel *this, int);
  bool (__fastcall *isItemInstanceBased)(ContainerModel *this);
  void (__fastcall *setItem)(ContainerModel *this, int, const ItemStack *);
  bool (__fastcall *isValid)(ContainerModel *this);
  bool (__fastcall *isItemFiltered)(ContainerModel *this, const ItemStackBase *);
  bool (__fastcall *isExpanableItemFiltered)(ContainerModel *this, int);
  ContainerExpandStatus (__fastcall *getItemExpandStatus)(ContainerModel *this, int);
  const std::string *(__fastcall *getItemGroupName)(ContainerModel *this, int);
  void (__fastcall *switchItemExpando)(ContainerModel *this, int);
  Container *(__fastcall *_getContainer)(ContainerModel *this);
  int (__fastcall *_getContainerOffset)(ContainerModel *this);
  void (__fastcall *_onItemChanged)(ContainerModel *this, int, const ItemStack *, const ItemStack *);
};

HangingActorItem

struct __cppobj __declspec(align(8)) HangingActorItem : Item
{
  ActorType mEntityType;
};

HatchetItem

struct __cppobj HatchetItem : DiggerItem
{
};

HoeItem

struct __cppobj HoeItem : DiggerItem
{
};

HopperBlock

struct __cppobj HopperBlock : ActorBlock
{
};

HopperBlock_vtbl

struct /*VFT*/ HopperBlock_vtbl
{
  void (__fastcall *~BlockLegacy)(BlockLegacy *this);
  const Block *(__fastcall *getStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  const Block *(__fastcall *getModBlockStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  std::shared_ptr<BlockActor> *(__fastcall *newBlockEntity)(BlockLegacy *this, std::shared_ptr<BlockActor> *result, const BlockPos *, const Block *);
  const Block *(__fastcall *getNextBlockPermutation)(BlockLegacy *this, const Block *);
  bool (__fastcall *hasTag)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *);
  bool (__fastcall *getCollisionShape)(BlockLegacy *this, AABB *, const Block *, BlockSource *, const BlockPos *, Actor *);
  bool (__fastcall *isObstructingChests)(BlockLegacy *this, BlockSource *, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *, int *);
  void (__fastcall *addAABBs)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *);
  const AABB *(__fastcall *getAABB)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, AABB *, bool);
  bool (__fastcall *addCollisionShapes)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *, Actor *);
  const AABB *(__fastcall *getOutline)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  bool (__fastcall *getLiquidClipVolume)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  void (__fastcall *onProjectileHit)(BlockLegacy *this, BlockSource *, const BlockPos *, const Actor *);
  bool (__fastcall *liquidCanFlowIntoFromDirection)(BlockLegacy *this, unsigned __int8, const std::function<Block const & __cdecl(BlockPos const &)> *, const BlockPos *);
  bool (__fastcall *hasVariableLighting)(BlockLegacy *this);
  bool (__fastcall *isStrippable)(BlockLegacy *this, const Block *);
  const Block *(__fastcall *getStrippedBlock)(BlockLegacy *this, const Block *);
  bool (__fastcall *canProvideSupport)(BlockLegacy *this, const Block *, unsigned __int8, BlockSupportType);
  bool (__fastcall *canConnect)(BlockLegacy *this, const Block *, unsigned __int8, const Block *);
  void (__fastcall *getConnectedDirections)(BlockLegacy *this, const Block *, const BlockPos *, BlockSource *, bool *, bool *, bool *, bool *);
  bool (__fastcall *isStemBlock)(BlockLegacy *this);
  bool (__fastcall *isContainerBlock)(BlockLegacy *this);
  bool (__fastcall *isCraftingBlock)(BlockLegacy *this);
  bool (__fastcall *isWaterBlocking)(BlockLegacy *this);
  bool (__fastcall *isHurtableBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceGateBlock)(BlockLegacy *this);
  bool (__fastcall *isThinFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isWallBlock)(BlockLegacy *this);
  bool (__fastcall *isStairBlock)(BlockLegacy *this);
  bool (__fastcall *isSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoubleSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoorBlock)(BlockLegacy *this);
  bool (__fastcall *isRailBlock)(BlockLegacy *this);
  bool (__fastcall *isButtonBlock)(BlockLegacy *this);
  bool (__fastcall *canHurtAndBreakItem)(BlockLegacy *this);
  bool (__fastcall *isSignalSource)(BlockLegacy *this);
  bool (__fastcall *canBeOriginalSurface)(BlockLegacy *this);
  bool (__fastcall *isValidAuxValue)(BlockLegacy *this, int);
  void (__fastcall *setTargetLandBlocks)(BlockLegacy *this, const std::vector<std::string> *);
  bool (__fastcall *canFillAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  const Block *(__fastcall *sanitizeFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *onFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getDirectSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  bool (__fastcall *waterSpreadCausesSpawn)(BlockLegacy *this);
  bool (__fastcall *canContainLiquid)(BlockLegacy *this);
  bool (__fastcall *shouldConnectToRedstone)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  void (__fastcall *handleRain)(BlockLegacy *this, BlockSource *, const BlockPos *, float);
  bool (__fastcall *canBeUsedInCommands)(BlockLegacy *this, const BaseGameVersion *);
  float (__fastcall *getThickness)(BlockLegacy *this);
  float (__fastcall *getFlexibility)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *checkIsPathable)(BlockLegacy *this, Actor *, const BlockPos *, const BlockPos *);
  bool (__fastcall *shouldDispense)(BlockLegacy *this, BlockSource *, Container *);
  bool (__fastcall *dispense)(BlockLegacy *this, BlockSource *, Container *, int, const Vec3 *, unsigned __int8);
  void (__fastcall *transformOnFall)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *onRedstoneUpdate)(BlockLegacy *this, BlockSource *, const BlockPos *, int, bool);
  void (__fastcall *onMove)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *detachesOnPistonMove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *movedByPiston)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureNeighborBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *setupRedstoneComponent)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *specialUse)(BlockLegacy *this, Player *, const BlockPos *, ItemStack *);
  BlockProperty (__fastcall *getRedstoneProperty)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *updateEntityAfterFallOn)(BlockLegacy *this, IActorMovementProxy *);
  bool (__fastcall *isBounceBlock)(BlockLegacy *this);
  bool (__fastcall *ignoreEntitiesOnPistonMove)(BlockLegacy *this, const Block *);
  bool (__fastcall *onFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, FertilizerType);
  bool (__fastcall *mayConsumeFertilizer)(BlockLegacy *this, BlockSource *);
  bool (__fastcall *canBeFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *mayPick)(BlockLegacy *this, BlockSource *, const Block *, bool);
  bool (__fastcall *mayPick)(BlockLegacy *this);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, unsigned __int8);
  bool (__fastcall *mayPlaceOn)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *tryToPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const ActorBlockSyncMessage *);
  bool (__fastcall *breaksFallingBlocks)(BlockLegacy *this, const Block *);
  void (__fastcall *destroy)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, Actor *);
  bool (__fastcall *playerWillDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  bool (__fastcall *getIgnoresDestroyPermissions)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *neighborChanged)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *getSecondPart)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  int (__fastcall *getResourceCount)(BlockLegacy *this, Random *, const Block *, int, bool);
  ItemInstance *(__fastcall *getResourceItem)(BlockLegacy *this, ItemInstance *result, Random *, const Block *, int);
  ItemInstance *(__fastcall *asItemInstance)(BlockLegacy *this, ItemInstance *result, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *spawnResources)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  void (__fastcall *trySpawnResourcesOnExplosion)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  bool (__fastcall *spawnBurnResources)(BlockLegacy *this, BlockSource *, float, float, float);
  const Block *(__fastcall *getPlacementBlock)(BlockLegacy *this, Actor *, const BlockPos *, unsigned __int8, const Vec3 *, int);
  int (__fastcall *calcVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *isAttachedTo)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  bool (__fastcall *attack)(BlockLegacy *this, Player *, const BlockPos *);
  void (__fastcall *handleEntityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, Vec3 *);
  void (__fastcall *entityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  int (__fastcall *getExperienceDrop)(BlockLegacy *this, Random *);
  bool (__fastcall *canBeBuiltOver)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *triggerEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, int, int);
  void (__fastcall *executeEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *, Actor *);
  void (__fastcall *executeEvent)(BlockLegacy *this, const std::string *, RenderParams *);
  bool (__fastcall *executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  bool (__fastcall *executeTriggerChain)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  const MobSpawnerData *(__fastcall *getMobToSpawn)(BlockLegacy *this, const SpawnConditions *, BlockSource *);
  bool (__fastcall *shouldStopFalling)(BlockLegacy *this, Actor *);
  bool (__fastcall *pushesUpFallingBlocks)(BlockLegacy *this);
  float (__fastcall *calcGroundFriction)(BlockLegacy *this, Mob *, const BlockPos *);
  bool (__fastcall *canHaveExtraData)(BlockLegacy *this);
  bool (__fastcall *hasComparatorSignal)(BlockLegacy *this);
  int (__fastcall *getComparatorSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, unsigned __int8);
  bool (__fastcall *onDig)(BlockLegacy *this, const Block *, Actor *, ItemStack *, const BlockPos *);
  bool (__fastcall *canSlide)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *canSpawnAt)(BlockLegacy *this, const BlockSource *, const BlockPos *);
  void (__fastcall *notifySpawnedAt)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getIconYOffset)(BlockLegacy *this);
  std::string *(__fastcall *buildDescriptionId)(BlockLegacy *this, std::string *result, const Block *);
  bool (__fastcall *isAuxValueRelevantForPicking)(BlockLegacy *this);
  int (__fastcall *getColor)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getColor)(BlockLegacy *this, const Block *);
  int (__fastcall *getColorAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getColorForParticle)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *isSeasonTinted)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  void (__fastcall *onGraphicsModeChanged)(BlockLegacy *this, const BlockGraphicsModeChangeContext *);
  float (__fastcall *getShadeBrightness)(BlockLegacy *this, const Block *);
  const AABB *(__fastcall *getVisualShapeInWorld)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, AABB *, bool);
  const AABB *(__fastcall *getVisualShape)(BlockLegacy *this, const Block *, AABB *, bool);
  const AABB *(__fastcall *getUIShape)(BlockLegacy *this, const Block *, AABB *);
  int (__fastcall *telemetryVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getVariant)(BlockLegacy *this, const Block *);
  bool (__fastcall *canSpawnOn)(BlockLegacy *this);
  const Block *(__fastcall *getRenderBlock)(BlockLegacy *this);
  unsigned __int8 (__fastcall *getMappedFace)(BlockLegacy *this, unsigned __int8, const Block *);
  bool (__fastcall *renderTwoFaced)(BlockLegacy *this);
  Flip (__fastcall *getFaceFlip)(BlockLegacy *this, unsigned __int8, const Block *);
  void (__fastcall *animateTick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  BlockLegacy *(__fastcall *init)(BlockLegacy *this);
  BlockLegacy *(__fastcall *setLightBlock)(BlockLegacy *this, Brightness);
  BlockLegacy *(__fastcall *setLightEmission)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setExplodeable)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFlammable)(BlockLegacy *this, FlameOdds, BurnOdds);
  BlockLegacy *(__fastcall *setDestroyTime)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFriction)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *addProperty)(BlockLegacy *this, BlockProperty);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *, unsigned __int64);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *);
  BlockLegacy *(__fastcall *setAllowsRunes)(BlockLegacy *this, bool);
  BlockLegacy *(__fastcall *setMapColor)(BlockLegacy *this, const mce::Color *);
  bool (__fastcall *canBeSilkTouched)(BlockLegacy *this);
  ItemInstance *(__fastcall *getSilkTouchItemInstance)(BlockLegacy *this, ItemInstance *result, const Block *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const Vec3 *, const Vec3 *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const AABB *);
  const Block *(__fastcall *tryLegacyUpgrade)(BlockLegacy *this, unsigned __int16);
  bool (__fastcall *dealsContactDamage)(BlockLegacy *this, const Actor *, const Block *, bool);
  void (__fastcall *onRemove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onExploded)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  void (__fastcall *onStandOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOff)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onPlayerPlacing)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, unsigned __int8);
  void (__fastcall *onPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onFallOn)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *playerDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  void (__fastcall *tick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  bool (__fastcall *shouldRandomTick)(BlockLegacy *this);
  bool (__fastcall *isInteractiveBlock)(BlockLegacy *this);
  HitResult *(__fastcall *clip)(BlockLegacy *this, HitResult *result, BlockSource *, const BlockPos *, const Vec3 *, const Vec3 *, bool);
  bool (__fastcall *use)(BlockLegacy *this, Player *, const BlockPos *, unsigned __int8);
  bool (__fastcall *canSurvive)(BlockLegacy *this, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this);
  int (__fastcall *getExtraRenderLayers)(BlockLegacy *this);
  float (__fastcall *getExplosionResistance)(BlockLegacy *this, Actor *);
  Brightness *(__fastcall *getLightEmission)(BlockLegacy *this, Brightness *result, const Block *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result, BlockSource *, const BlockPos *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result);
  bool (__fastcall *isCropBlock)(BlockLegacy *this);
  void (__fastcall *_executeEvent)(BlockLegacy *this, const std::string *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  bool (__fastcall *_executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *_forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  ItemInstance *(__fastcall *getEntityResourceItem)(ActorBlock *this, ItemInstance *result, Random *, const BlockActor *, int);
};

HayBlockBlock

struct __cppobj HayBlockBlock : RotatedPillarBlock
{
};

HayBlockBlock_vtbl

struct /*VFT*/ HayBlockBlock_vtbl
{
  void (__fastcall *~BlockLegacy)(BlockLegacy *this);
  const Block *(__fastcall *getStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  const Block *(__fastcall *getModBlockStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  std::shared_ptr<BlockActor> *(__fastcall *newBlockEntity)(BlockLegacy *this, std::shared_ptr<BlockActor> *result, const BlockPos *, const Block *);
  const Block *(__fastcall *getNextBlockPermutation)(BlockLegacy *this, const Block *);
  bool (__fastcall *hasTag)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *);
  bool (__fastcall *getCollisionShape)(BlockLegacy *this, AABB *, const Block *, BlockSource *, const BlockPos *, Actor *);
  bool (__fastcall *isObstructingChests)(BlockLegacy *this, BlockSource *, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *, int *);
  void (__fastcall *addAABBs)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *);
  const AABB *(__fastcall *getAABB)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, AABB *, bool);
  bool (__fastcall *addCollisionShapes)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *, Actor *);
  const AABB *(__fastcall *getOutline)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  bool (__fastcall *getLiquidClipVolume)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  void (__fastcall *onProjectileHit)(BlockLegacy *this, BlockSource *, const BlockPos *, const Actor *);
  bool (__fastcall *liquidCanFlowIntoFromDirection)(BlockLegacy *this, unsigned __int8, const std::function<Block const & __cdecl(BlockPos const &)> *, const BlockPos *);
  bool (__fastcall *hasVariableLighting)(BlockLegacy *this);
  bool (__fastcall *isStrippable)(BlockLegacy *this, const Block *);
  const Block *(__fastcall *getStrippedBlock)(BlockLegacy *this, const Block *);
  bool (__fastcall *canProvideSupport)(BlockLegacy *this, const Block *, unsigned __int8, BlockSupportType);
  bool (__fastcall *canConnect)(BlockLegacy *this, const Block *, unsigned __int8, const Block *);
  void (__fastcall *getConnectedDirections)(BlockLegacy *this, const Block *, const BlockPos *, BlockSource *, bool *, bool *, bool *, bool *);
  bool (__fastcall *isStemBlock)(BlockLegacy *this);
  bool (__fastcall *isContainerBlock)(BlockLegacy *this);
  bool (__fastcall *isCraftingBlock)(BlockLegacy *this);
  bool (__fastcall *isWaterBlocking)(BlockLegacy *this);
  bool (__fastcall *isHurtableBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceGateBlock)(BlockLegacy *this);
  bool (__fastcall *isThinFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isWallBlock)(BlockLegacy *this);
  bool (__fastcall *isStairBlock)(BlockLegacy *this);
  bool (__fastcall *isSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoubleSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoorBlock)(BlockLegacy *this);
  bool (__fastcall *isRailBlock)(BlockLegacy *this);
  bool (__fastcall *isButtonBlock)(BlockLegacy *this);
  bool (__fastcall *canHurtAndBreakItem)(BlockLegacy *this);
  bool (__fastcall *isSignalSource)(BlockLegacy *this);
  bool (__fastcall *canBeOriginalSurface)(BlockLegacy *this);
  bool (__fastcall *isValidAuxValue)(BlockLegacy *this, int);
  void (__fastcall *setTargetLandBlocks)(BlockLegacy *this, const std::vector<std::string> *);
  bool (__fastcall *canFillAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  const Block *(__fastcall *sanitizeFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *onFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getDirectSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  bool (__fastcall *waterSpreadCausesSpawn)(BlockLegacy *this);
  bool (__fastcall *canContainLiquid)(BlockLegacy *this);
  bool (__fastcall *shouldConnectToRedstone)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  void (__fastcall *handleRain)(BlockLegacy *this, BlockSource *, const BlockPos *, float);
  bool (__fastcall *canBeUsedInCommands)(BlockLegacy *this, const BaseGameVersion *);
  float (__fastcall *getThickness)(BlockLegacy *this);
  float (__fastcall *getFlexibility)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *checkIsPathable)(BlockLegacy *this, Actor *, const BlockPos *, const BlockPos *);
  bool (__fastcall *shouldDispense)(BlockLegacy *this, BlockSource *, Container *);
  bool (__fastcall *dispense)(BlockLegacy *this, BlockSource *, Container *, int, const Vec3 *, unsigned __int8);
  void (__fastcall *transformOnFall)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *onRedstoneUpdate)(BlockLegacy *this, BlockSource *, const BlockPos *, int, bool);
  void (__fastcall *onMove)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *detachesOnPistonMove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *movedByPiston)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureNeighborBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *setupRedstoneComponent)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *specialUse)(BlockLegacy *this, Player *, const BlockPos *, ItemStack *);
  BlockProperty (__fastcall *getRedstoneProperty)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *updateEntityAfterFallOn)(BlockLegacy *this, IActorMovementProxy *);
  bool (__fastcall *isBounceBlock)(BlockLegacy *this);
  bool (__fastcall *ignoreEntitiesOnPistonMove)(BlockLegacy *this, const Block *);
  bool (__fastcall *onFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, FertilizerType);
  bool (__fastcall *mayConsumeFertilizer)(BlockLegacy *this, BlockSource *);
  bool (__fastcall *canBeFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *mayPick)(BlockLegacy *this, BlockSource *, const Block *, bool);
  bool (__fastcall *mayPick)(BlockLegacy *this);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, unsigned __int8);
  bool (__fastcall *mayPlaceOn)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *tryToPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const ActorBlockSyncMessage *);
  bool (__fastcall *breaksFallingBlocks)(BlockLegacy *this, const Block *);
  void (__fastcall *destroy)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, Actor *);
  bool (__fastcall *playerWillDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  bool (__fastcall *getIgnoresDestroyPermissions)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *neighborChanged)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *getSecondPart)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  int (__fastcall *getResourceCount)(BlockLegacy *this, Random *, const Block *, int, bool);
  ItemInstance *(__fastcall *getResourceItem)(BlockLegacy *this, ItemInstance *result, Random *, const Block *, int);
  ItemInstance *(__fastcall *asItemInstance)(BlockLegacy *this, ItemInstance *result, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *spawnResources)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  void (__fastcall *trySpawnResourcesOnExplosion)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  bool (__fastcall *spawnBurnResources)(BlockLegacy *this, BlockSource *, float, float, float);
  const Block *(__fastcall *getPlacementBlock)(BlockLegacy *this, Actor *, const BlockPos *, unsigned __int8, const Vec3 *, int);
  int (__fastcall *calcVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *isAttachedTo)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  bool (__fastcall *attack)(BlockLegacy *this, Player *, const BlockPos *);
  void (__fastcall *handleEntityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, Vec3 *);
  void (__fastcall *entityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  int (__fastcall *getExperienceDrop)(BlockLegacy *this, Random *);
  bool (__fastcall *canBeBuiltOver)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *triggerEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, int, int);
  void (__fastcall *executeEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *, Actor *);
  void (__fastcall *executeEvent)(BlockLegacy *this, const std::string *, RenderParams *);
  bool (__fastcall *executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  bool (__fastcall *executeTriggerChain)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  const MobSpawnerData *(__fastcall *getMobToSpawn)(BlockLegacy *this, const SpawnConditions *, BlockSource *);
  bool (__fastcall *shouldStopFalling)(BlockLegacy *this, Actor *);
  bool (__fastcall *pushesUpFallingBlocks)(BlockLegacy *this);
  float (__fastcall *calcGroundFriction)(BlockLegacy *this, Mob *, const BlockPos *);
  bool (__fastcall *canHaveExtraData)(BlockLegacy *this);
  bool (__fastcall *hasComparatorSignal)(BlockLegacy *this);
  int (__fastcall *getComparatorSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, unsigned __int8);
  bool (__fastcall *onDig)(BlockLegacy *this, const Block *, Actor *, ItemStack *, const BlockPos *);
  bool (__fastcall *canSlide)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *canSpawnAt)(BlockLegacy *this, const BlockSource *, const BlockPos *);
  void (__fastcall *notifySpawnedAt)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getIconYOffset)(BlockLegacy *this);
  std::string *(__fastcall *buildDescriptionId)(BlockLegacy *this, std::string *result, const Block *);
  bool (__fastcall *isAuxValueRelevantForPicking)(BlockLegacy *this);
  int (__fastcall *getColor)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getColor)(BlockLegacy *this, const Block *);
  int (__fastcall *getColorAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getColorForParticle)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *isSeasonTinted)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  void (__fastcall *onGraphicsModeChanged)(BlockLegacy *this, const BlockGraphicsModeChangeContext *);
  float (__fastcall *getShadeBrightness)(BlockLegacy *this, const Block *);
  const AABB *(__fastcall *getVisualShapeInWorld)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, AABB *, bool);
  const AABB *(__fastcall *getVisualShape)(BlockLegacy *this, const Block *, AABB *, bool);
  const AABB *(__fastcall *getUIShape)(BlockLegacy *this, const Block *, AABB *);
  int (__fastcall *telemetryVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getVariant)(BlockLegacy *this, const Block *);
  bool (__fastcall *canSpawnOn)(BlockLegacy *this);
  const Block *(__fastcall *getRenderBlock)(BlockLegacy *this);
  unsigned __int8 (__fastcall *getMappedFace)(BlockLegacy *this, unsigned __int8, const Block *);
  bool (__fastcall *renderTwoFaced)(BlockLegacy *this);
  Flip (__fastcall *getFaceFlip)(BlockLegacy *this, unsigned __int8, const Block *);
  void (__fastcall *animateTick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  BlockLegacy *(__fastcall *init)(BlockLegacy *this);
  BlockLegacy *(__fastcall *setLightBlock)(BlockLegacy *this, Brightness);
  BlockLegacy *(__fastcall *setLightEmission)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setExplodeable)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFlammable)(BlockLegacy *this, FlameOdds, BurnOdds);
  BlockLegacy *(__fastcall *setDestroyTime)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFriction)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *addProperty)(BlockLegacy *this, BlockProperty);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *, unsigned __int64);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *);
  BlockLegacy *(__fastcall *setAllowsRunes)(BlockLegacy *this, bool);
  BlockLegacy *(__fastcall *setMapColor)(BlockLegacy *this, const mce::Color *);
  bool (__fastcall *canBeSilkTouched)(BlockLegacy *this);
  ItemInstance *(__fastcall *getSilkTouchItemInstance)(BlockLegacy *this, ItemInstance *result, const Block *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const Vec3 *, const Vec3 *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const AABB *);
  const Block *(__fastcall *tryLegacyUpgrade)(BlockLegacy *this, unsigned __int16);
  bool (__fastcall *dealsContactDamage)(BlockLegacy *this, const Actor *, const Block *, bool);
  void (__fastcall *onRemove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onExploded)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  void (__fastcall *onStandOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOff)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onPlayerPlacing)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, unsigned __int8);
  void (__fastcall *onPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onFallOn)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *playerDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  void (__fastcall *tick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  bool (__fastcall *shouldRandomTick)(BlockLegacy *this);
  bool (__fastcall *isInteractiveBlock)(BlockLegacy *this);
  HitResult *(__fastcall *clip)(BlockLegacy *this, HitResult *result, BlockSource *, const BlockPos *, const Vec3 *, const Vec3 *, bool);
  bool (__fastcall *use)(BlockLegacy *this, Player *, const BlockPos *, unsigned __int8);
  bool (__fastcall *canSurvive)(BlockLegacy *this, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this);
  int (__fastcall *getExtraRenderLayers)(BlockLegacy *this);
  float (__fastcall *getExplosionResistance)(BlockLegacy *this, Actor *);
  Brightness *(__fastcall *getLightEmission)(BlockLegacy *this, Brightness *result, const Block *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result, BlockSource *, const BlockPos *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result);
  bool (__fastcall *isCropBlock)(BlockLegacy *this);
  void (__fastcall *_executeEvent)(BlockLegacy *this, const std::string *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  bool (__fastcall *_executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *_forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
};

HoneyBlock

struct __cppobj HoneyBlock : BlockLegacy
{
};

HoneyBlock_vtbl

struct /*VFT*/ HoneyBlock_vtbl
{
  void (__fastcall *~BlockLegacy)(BlockLegacy *this);
  const Block *(__fastcall *getStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  const Block *(__fastcall *getModBlockStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  std::shared_ptr<BlockActor> *(__fastcall *newBlockEntity)(BlockLegacy *this, std::shared_ptr<BlockActor> *result, const BlockPos *, const Block *);
  const Block *(__fastcall *getNextBlockPermutation)(BlockLegacy *this, const Block *);
  bool (__fastcall *hasTag)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *);
  bool (__fastcall *getCollisionShape)(BlockLegacy *this, AABB *, const Block *, BlockSource *, const BlockPos *, Actor *);
  bool (__fastcall *isObstructingChests)(BlockLegacy *this, BlockSource *, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *, int *);
  void (__fastcall *addAABBs)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *);
  const AABB *(__fastcall *getAABB)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, AABB *, bool);
  bool (__fastcall *addCollisionShapes)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *, Actor *);
  const AABB *(__fastcall *getOutline)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  bool (__fastcall *getLiquidClipVolume)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  void (__fastcall *onProjectileHit)(BlockLegacy *this, BlockSource *, const BlockPos *, const Actor *);
  bool (__fastcall *liquidCanFlowIntoFromDirection)(BlockLegacy *this, unsigned __int8, const std::function<Block const & __cdecl(BlockPos const &)> *, const BlockPos *);
  bool (__fastcall *hasVariableLighting)(BlockLegacy *this);
  bool (__fastcall *isStrippable)(BlockLegacy *this, const Block *);
  const Block *(__fastcall *getStrippedBlock)(BlockLegacy *this, const Block *);
  bool (__fastcall *canProvideSupport)(BlockLegacy *this, const Block *, unsigned __int8, BlockSupportType);
  bool (__fastcall *canConnect)(BlockLegacy *this, const Block *, unsigned __int8, const Block *);
  void (__fastcall *getConnectedDirections)(BlockLegacy *this, const Block *, const BlockPos *, BlockSource *, bool *, bool *, bool *, bool *);
  bool (__fastcall *isStemBlock)(BlockLegacy *this);
  bool (__fastcall *isContainerBlock)(BlockLegacy *this);
  bool (__fastcall *isCraftingBlock)(BlockLegacy *this);
  bool (__fastcall *isWaterBlocking)(BlockLegacy *this);
  bool (__fastcall *isHurtableBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceGateBlock)(BlockLegacy *this);
  bool (__fastcall *isThinFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isWallBlock)(BlockLegacy *this);
  bool (__fastcall *isStairBlock)(BlockLegacy *this);
  bool (__fastcall *isSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoubleSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoorBlock)(BlockLegacy *this);
  bool (__fastcall *isRailBlock)(BlockLegacy *this);
  bool (__fastcall *isButtonBlock)(BlockLegacy *this);
  bool (__fastcall *canHurtAndBreakItem)(BlockLegacy *this);
  bool (__fastcall *isSignalSource)(BlockLegacy *this);
  bool (__fastcall *canBeOriginalSurface)(BlockLegacy *this);
  bool (__fastcall *isValidAuxValue)(BlockLegacy *this, int);
  void (__fastcall *setTargetLandBlocks)(BlockLegacy *this, const std::vector<std::string> *);
  bool (__fastcall *canFillAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  const Block *(__fastcall *sanitizeFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *onFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getDirectSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  bool (__fastcall *waterSpreadCausesSpawn)(BlockLegacy *this);
  bool (__fastcall *canContainLiquid)(BlockLegacy *this);
  bool (__fastcall *shouldConnectToRedstone)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  void (__fastcall *handleRain)(BlockLegacy *this, BlockSource *, const BlockPos *, float);
  bool (__fastcall *canBeUsedInCommands)(BlockLegacy *this, const BaseGameVersion *);
  float (__fastcall *getThickness)(BlockLegacy *this);
  float (__fastcall *getFlexibility)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *checkIsPathable)(BlockLegacy *this, Actor *, const BlockPos *, const BlockPos *);
  bool (__fastcall *shouldDispense)(BlockLegacy *this, BlockSource *, Container *);
  bool (__fastcall *dispense)(BlockLegacy *this, BlockSource *, Container *, int, const Vec3 *, unsigned __int8);
  void (__fastcall *transformOnFall)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *onRedstoneUpdate)(BlockLegacy *this, BlockSource *, const BlockPos *, int, bool);
  void (__fastcall *onMove)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *detachesOnPistonMove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *movedByPiston)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureNeighborBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *setupRedstoneComponent)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *specialUse)(BlockLegacy *this, Player *, const BlockPos *, ItemStack *);
  BlockProperty (__fastcall *getRedstoneProperty)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *updateEntityAfterFallOn)(BlockLegacy *this, IActorMovementProxy *);
  bool (__fastcall *isBounceBlock)(BlockLegacy *this);
  bool (__fastcall *ignoreEntitiesOnPistonMove)(BlockLegacy *this, const Block *);
  bool (__fastcall *onFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, FertilizerType);
  bool (__fastcall *mayConsumeFertilizer)(BlockLegacy *this, BlockSource *);
  bool (__fastcall *canBeFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *mayPick)(BlockLegacy *this, BlockSource *, const Block *, bool);
  bool (__fastcall *mayPick)(BlockLegacy *this);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, unsigned __int8);
  bool (__fastcall *mayPlaceOn)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *tryToPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const ActorBlockSyncMessage *);
  bool (__fastcall *breaksFallingBlocks)(BlockLegacy *this, const Block *);
  void (__fastcall *destroy)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, Actor *);
  bool (__fastcall *playerWillDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  bool (__fastcall *getIgnoresDestroyPermissions)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *neighborChanged)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *getSecondPart)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  int (__fastcall *getResourceCount)(BlockLegacy *this, Random *, const Block *, int, bool);
  ItemInstance *(__fastcall *getResourceItem)(BlockLegacy *this, ItemInstance *result, Random *, const Block *, int);
  ItemInstance *(__fastcall *asItemInstance)(BlockLegacy *this, ItemInstance *result, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *spawnResources)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  void (__fastcall *trySpawnResourcesOnExplosion)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  bool (__fastcall *spawnBurnResources)(BlockLegacy *this, BlockSource *, float, float, float);
  const Block *(__fastcall *getPlacementBlock)(BlockLegacy *this, Actor *, const BlockPos *, unsigned __int8, const Vec3 *, int);
  int (__fastcall *calcVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *isAttachedTo)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  bool (__fastcall *attack)(BlockLegacy *this, Player *, const BlockPos *);
  void (__fastcall *handleEntityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, Vec3 *);
  void (__fastcall *entityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  int (__fastcall *getExperienceDrop)(BlockLegacy *this, Random *);
  bool (__fastcall *canBeBuiltOver)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *triggerEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, int, int);
  void (__fastcall *executeEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *, Actor *);
  void (__fastcall *executeEvent)(BlockLegacy *this, const std::string *, RenderParams *);
  bool (__fastcall *executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  bool (__fastcall *executeTriggerChain)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  const MobSpawnerData *(__fastcall *getMobToSpawn)(BlockLegacy *this, const SpawnConditions *, BlockSource *);
  bool (__fastcall *shouldStopFalling)(BlockLegacy *this, Actor *);
  bool (__fastcall *pushesUpFallingBlocks)(BlockLegacy *this);
  float (__fastcall *calcGroundFriction)(BlockLegacy *this, Mob *, const BlockPos *);
  bool (__fastcall *canHaveExtraData)(BlockLegacy *this);
  bool (__fastcall *hasComparatorSignal)(BlockLegacy *this);
  int (__fastcall *getComparatorSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, unsigned __int8);
  bool (__fastcall *onDig)(BlockLegacy *this, const Block *, Actor *, ItemStack *, const BlockPos *);
  bool (__fastcall *canSlide)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *canSpawnAt)(BlockLegacy *this, const BlockSource *, const BlockPos *);
  void (__fastcall *notifySpawnedAt)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getIconYOffset)(BlockLegacy *this);
  std::string *(__fastcall *buildDescriptionId)(BlockLegacy *this, std::string *result, const Block *);
  bool (__fastcall *isAuxValueRelevantForPicking)(BlockLegacy *this);
  int (__fastcall *getColor)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getColor)(BlockLegacy *this, const Block *);
  int (__fastcall *getColorAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getColorForParticle)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *isSeasonTinted)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  void (__fastcall *onGraphicsModeChanged)(BlockLegacy *this, const BlockGraphicsModeChangeContext *);
  float (__fastcall *getShadeBrightness)(BlockLegacy *this, const Block *);
  const AABB *(__fastcall *getVisualShapeInWorld)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, AABB *, bool);
  const AABB *(__fastcall *getVisualShape)(BlockLegacy *this, const Block *, AABB *, bool);
  const AABB *(__fastcall *getUIShape)(BlockLegacy *this, const Block *, AABB *);
  int (__fastcall *telemetryVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getVariant)(BlockLegacy *this, const Block *);
  bool (__fastcall *canSpawnOn)(BlockLegacy *this);
  const Block *(__fastcall *getRenderBlock)(BlockLegacy *this);
  unsigned __int8 (__fastcall *getMappedFace)(BlockLegacy *this, unsigned __int8, const Block *);
  bool (__fastcall *renderTwoFaced)(BlockLegacy *this);
  Flip (__fastcall *getFaceFlip)(BlockLegacy *this, unsigned __int8, const Block *);
  void (__fastcall *animateTick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  BlockLegacy *(__fastcall *init)(BlockLegacy *this);
  BlockLegacy *(__fastcall *setLightBlock)(BlockLegacy *this, Brightness);
  BlockLegacy *(__fastcall *setLightEmission)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setExplodeable)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFlammable)(BlockLegacy *this, FlameOdds, BurnOdds);
  BlockLegacy *(__fastcall *setDestroyTime)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFriction)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *addProperty)(BlockLegacy *this, BlockProperty);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *, unsigned __int64);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *);
  BlockLegacy *(__fastcall *setAllowsRunes)(BlockLegacy *this, bool);
  BlockLegacy *(__fastcall *setMapColor)(BlockLegacy *this, const mce::Color *);
  bool (__fastcall *canBeSilkTouched)(BlockLegacy *this);
  ItemInstance *(__fastcall *getSilkTouchItemInstance)(BlockLegacy *this, ItemInstance *result, const Block *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const Vec3 *, const Vec3 *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const AABB *);
  const Block *(__fastcall *tryLegacyUpgrade)(BlockLegacy *this, unsigned __int16);
  bool (__fastcall *dealsContactDamage)(BlockLegacy *this, const Actor *, const Block *, bool);
  void (__fastcall *onRemove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onExploded)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  void (__fastcall *onStandOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOff)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onPlayerPlacing)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, unsigned __int8);
  void (__fastcall *onPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onFallOn)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *playerDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  void (__fastcall *tick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  bool (__fastcall *shouldRandomTick)(BlockLegacy *this);
  bool (__fastcall *isInteractiveBlock)(BlockLegacy *this);
  HitResult *(__fastcall *clip)(BlockLegacy *this, HitResult *result, BlockSource *, const BlockPos *, const Vec3 *, const Vec3 *, bool);
  bool (__fastcall *use)(BlockLegacy *this, Player *, const BlockPos *, unsigned __int8);
  bool (__fastcall *canSurvive)(BlockLegacy *this, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this);
  int (__fastcall *getExtraRenderLayers)(BlockLegacy *this);
  float (__fastcall *getExplosionResistance)(BlockLegacy *this, Actor *);
  Brightness *(__fastcall *getLightEmission)(BlockLegacy *this, Brightness *result, const Block *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result, BlockSource *, const BlockPos *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result);
  bool (__fastcall *isCropBlock)(BlockLegacy *this);
  void (__fastcall *_executeEvent)(BlockLegacy *this, const std::string *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  bool (__fastcall *_executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *_forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
};

HoneycombBlock

struct __cppobj HoneycombBlock : BlockLegacy
{
};

HoneycombBlock_vtbl

struct /*VFT*/ HoneycombBlock_vtbl
{
  void (__fastcall *~BlockLegacy)(BlockLegacy *this);
  const Block *(__fastcall *getStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  const Block *(__fastcall *getModBlockStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  std::shared_ptr<BlockActor> *(__fastcall *newBlockEntity)(BlockLegacy *this, std::shared_ptr<BlockActor> *result, const BlockPos *, const Block *);
  const Block *(__fastcall *getNextBlockPermutation)(BlockLegacy *this, const Block *);
  bool (__fastcall *hasTag)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *);
  bool (__fastcall *getCollisionShape)(BlockLegacy *this, AABB *, const Block *, BlockSource *, const BlockPos *, Actor *);
  bool (__fastcall *isObstructingChests)(BlockLegacy *this, BlockSource *, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *, int *);
  void (__fastcall *addAABBs)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *);
  const AABB *(__fastcall *getAABB)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, AABB *, bool);
  bool (__fastcall *addCollisionShapes)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *, Actor *);
  const AABB *(__fastcall *getOutline)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  bool (__fastcall *getLiquidClipVolume)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  void (__fastcall *onProjectileHit)(BlockLegacy *this, BlockSource *, const BlockPos *, const Actor *);
  bool (__fastcall *liquidCanFlowIntoFromDirection)(BlockLegacy *this, unsigned __int8, const std::function<Block const & __cdecl(BlockPos const &)> *, const BlockPos *);
  bool (__fastcall *hasVariableLighting)(BlockLegacy *this);
  bool (__fastcall *isStrippable)(BlockLegacy *this, const Block *);
  const Block *(__fastcall *getStrippedBlock)(BlockLegacy *this, const Block *);
  bool (__fastcall *canProvideSupport)(BlockLegacy *this, const Block *, unsigned __int8, BlockSupportType);
  bool (__fastcall *canConnect)(BlockLegacy *this, const Block *, unsigned __int8, const Block *);
  void (__fastcall *getConnectedDirections)(BlockLegacy *this, const Block *, const BlockPos *, BlockSource *, bool *, bool *, bool *, bool *);
  bool (__fastcall *isStemBlock)(BlockLegacy *this);
  bool (__fastcall *isContainerBlock)(BlockLegacy *this);
  bool (__fastcall *isCraftingBlock)(BlockLegacy *this);
  bool (__fastcall *isWaterBlocking)(BlockLegacy *this);
  bool (__fastcall *isHurtableBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceGateBlock)(BlockLegacy *this);
  bool (__fastcall *isThinFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isWallBlock)(BlockLegacy *this);
  bool (__fastcall *isStairBlock)(BlockLegacy *this);
  bool (__fastcall *isSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoubleSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoorBlock)(BlockLegacy *this);
  bool (__fastcall *isRailBlock)(BlockLegacy *this);
  bool (__fastcall *isButtonBlock)(BlockLegacy *this);
  bool (__fastcall *canHurtAndBreakItem)(BlockLegacy *this);
  bool (__fastcall *isSignalSource)(BlockLegacy *this);
  bool (__fastcall *canBeOriginalSurface)(BlockLegacy *this);
  bool (__fastcall *isValidAuxValue)(BlockLegacy *this, int);
  void (__fastcall *setTargetLandBlocks)(BlockLegacy *this, const std::vector<std::string> *);
  bool (__fastcall *canFillAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  const Block *(__fastcall *sanitizeFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *onFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getDirectSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  bool (__fastcall *waterSpreadCausesSpawn)(BlockLegacy *this);
  bool (__fastcall *canContainLiquid)(BlockLegacy *this);
  bool (__fastcall *shouldConnectToRedstone)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  void (__fastcall *handleRain)(BlockLegacy *this, BlockSource *, const BlockPos *, float);
  bool (__fastcall *canBeUsedInCommands)(BlockLegacy *this, const BaseGameVersion *);
  float (__fastcall *getThickness)(BlockLegacy *this);
  float (__fastcall *getFlexibility)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *checkIsPathable)(BlockLegacy *this, Actor *, const BlockPos *, const BlockPos *);
  bool (__fastcall *shouldDispense)(BlockLegacy *this, BlockSource *, Container *);
  bool (__fastcall *dispense)(BlockLegacy *this, BlockSource *, Container *, int, const Vec3 *, unsigned __int8);
  void (__fastcall *transformOnFall)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *onRedstoneUpdate)(BlockLegacy *this, BlockSource *, const BlockPos *, int, bool);
  void (__fastcall *onMove)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *detachesOnPistonMove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *movedByPiston)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureNeighborBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *setupRedstoneComponent)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *specialUse)(BlockLegacy *this, Player *, const BlockPos *, ItemStack *);
  BlockProperty (__fastcall *getRedstoneProperty)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *updateEntityAfterFallOn)(BlockLegacy *this, IActorMovementProxy *);
  bool (__fastcall *isBounceBlock)(BlockLegacy *this);
  bool (__fastcall *ignoreEntitiesOnPistonMove)(BlockLegacy *this, const Block *);
  bool (__fastcall *onFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, FertilizerType);
  bool (__fastcall *mayConsumeFertilizer)(BlockLegacy *this, BlockSource *);
  bool (__fastcall *canBeFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *mayPick)(BlockLegacy *this, BlockSource *, const Block *, bool);
  bool (__fastcall *mayPick)(BlockLegacy *this);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, unsigned __int8);
  bool (__fastcall *mayPlaceOn)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *tryToPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const ActorBlockSyncMessage *);
  bool (__fastcall *breaksFallingBlocks)(BlockLegacy *this, const Block *);
  void (__fastcall *destroy)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, Actor *);
  bool (__fastcall *playerWillDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  bool (__fastcall *getIgnoresDestroyPermissions)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *neighborChanged)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *getSecondPart)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  int (__fastcall *getResourceCount)(BlockLegacy *this, Random *, const Block *, int, bool);
  ItemInstance *(__fastcall *getResourceItem)(BlockLegacy *this, ItemInstance *result, Random *, const Block *, int);
  ItemInstance *(__fastcall *asItemInstance)(BlockLegacy *this, ItemInstance *result, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *spawnResources)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  void (__fastcall *trySpawnResourcesOnExplosion)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  bool (__fastcall *spawnBurnResources)(BlockLegacy *this, BlockSource *, float, float, float);
  const Block *(__fastcall *getPlacementBlock)(BlockLegacy *this, Actor *, const BlockPos *, unsigned __int8, const Vec3 *, int);
  int (__fastcall *calcVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *isAttachedTo)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  bool (__fastcall *attack)(BlockLegacy *this, Player *, const BlockPos *);
  void (__fastcall *handleEntityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, Vec3 *);
  void (__fastcall *entityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  int (__fastcall *getExperienceDrop)(BlockLegacy *this, Random *);
  bool (__fastcall *canBeBuiltOver)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *triggerEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, int, int);
  void (__fastcall *executeEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *, Actor *);
  void (__fastcall *executeEvent)(BlockLegacy *this, const std::string *, RenderParams *);
  bool (__fastcall *executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  bool (__fastcall *executeTriggerChain)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  const MobSpawnerData *(__fastcall *getMobToSpawn)(BlockLegacy *this, const SpawnConditions *, BlockSource *);
  bool (__fastcall *shouldStopFalling)(BlockLegacy *this, Actor *);
  bool (__fastcall *pushesUpFallingBlocks)(BlockLegacy *this);
  float (__fastcall *calcGroundFriction)(BlockLegacy *this, Mob *, const BlockPos *);
  bool (__fastcall *canHaveExtraData)(BlockLegacy *this);
  bool (__fastcall *hasComparatorSignal)(BlockLegacy *this);
  int (__fastcall *getComparatorSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, unsigned __int8);
  bool (__fastcall *onDig)(BlockLegacy *this, const Block *, Actor *, ItemStack *, const BlockPos *);
  bool (__fastcall *canSlide)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *canSpawnAt)(BlockLegacy *this, const BlockSource *, const BlockPos *);
  void (__fastcall *notifySpawnedAt)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getIconYOffset)(BlockLegacy *this);
  std::string *(__fastcall *buildDescriptionId)(BlockLegacy *this, std::string *result, const Block *);
  bool (__fastcall *isAuxValueRelevantForPicking)(BlockLegacy *this);
  int (__fastcall *getColor)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getColor)(BlockLegacy *this, const Block *);
  int (__fastcall *getColorAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getColorForParticle)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *isSeasonTinted)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  void (__fastcall *onGraphicsModeChanged)(BlockLegacy *this, const BlockGraphicsModeChangeContext *);
  float (__fastcall *getShadeBrightness)(BlockLegacy *this, const Block *);
  const AABB *(__fastcall *getVisualShapeInWorld)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, AABB *, bool);
  const AABB *(__fastcall *getVisualShape)(BlockLegacy *this, const Block *, AABB *, bool);
  const AABB *(__fastcall *getUIShape)(BlockLegacy *this, const Block *, AABB *);
  int (__fastcall *telemetryVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getVariant)(BlockLegacy *this, const Block *);
  bool (__fastcall *canSpawnOn)(BlockLegacy *this);
  const Block *(__fastcall *getRenderBlock)(BlockLegacy *this);
  unsigned __int8 (__fastcall *getMappedFace)(BlockLegacy *this, unsigned __int8, const Block *);
  bool (__fastcall *renderTwoFaced)(BlockLegacy *this);
  Flip (__fastcall *getFaceFlip)(BlockLegacy *this, unsigned __int8, const Block *);
  void (__fastcall *animateTick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  BlockLegacy *(__fastcall *init)(BlockLegacy *this);
  BlockLegacy *(__fastcall *setLightBlock)(BlockLegacy *this, Brightness);
  BlockLegacy *(__fastcall *setLightEmission)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setExplodeable)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFlammable)(BlockLegacy *this, FlameOdds, BurnOdds);
  BlockLegacy *(__fastcall *setDestroyTime)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFriction)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *addProperty)(BlockLegacy *this, BlockProperty);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *, unsigned __int64);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *);
  BlockLegacy *(__fastcall *setAllowsRunes)(BlockLegacy *this, bool);
  BlockLegacy *(__fastcall *setMapColor)(BlockLegacy *this, const mce::Color *);
  bool (__fastcall *canBeSilkTouched)(BlockLegacy *this);
  ItemInstance *(__fastcall *getSilkTouchItemInstance)(BlockLegacy *this, ItemInstance *result, const Block *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const Vec3 *, const Vec3 *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const AABB *);
  const Block *(__fastcall *tryLegacyUpgrade)(BlockLegacy *this, unsigned __int16);
  bool (__fastcall *dealsContactDamage)(BlockLegacy *this, const Actor *, const Block *, bool);
  void (__fastcall *onRemove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onExploded)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  void (__fastcall *onStandOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOff)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onPlayerPlacing)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, unsigned __int8);
  void (__fastcall *onPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onFallOn)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *playerDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  void (__fastcall *tick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  bool (__fastcall *shouldRandomTick)(BlockLegacy *this);
  bool (__fastcall *isInteractiveBlock)(BlockLegacy *this);
  HitResult *(__fastcall *clip)(BlockLegacy *this, HitResult *result, BlockSource *, const BlockPos *, const Vec3 *, const Vec3 *, bool);
  bool (__fastcall *use)(BlockLegacy *this, Player *, const BlockPos *, unsigned __int8);
  bool (__fastcall *canSurvive)(BlockLegacy *this, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this);
  int (__fastcall *getExtraRenderLayers)(BlockLegacy *this);
  float (__fastcall *getExplosionResistance)(BlockLegacy *this, Actor *);
  Brightness *(__fastcall *getLightEmission)(BlockLegacy *this, Brightness *result, const Block *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result, BlockSource *, const BlockPos *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result);
  bool (__fastcall *isCropBlock)(BlockLegacy *this);
  void (__fastcall *_executeEvent)(BlockLegacy *this, const std::string *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  bool (__fastcall *_executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *_forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
};

HugeMushroomBlock

struct __cppobj __declspec(align(8)) HugeMushroomBlock : BlockLegacy
{
  _BYTE mType[4];
};

HugeMushroomBlock_vtbl

struct /*VFT*/ HugeMushroomBlock_vtbl
{
  void (__fastcall *~BlockLegacy)(BlockLegacy *this);
  const Block *(__fastcall *getStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  const Block *(__fastcall *getModBlockStateFromLegacyData)(BlockLegacy *this, unsigned __int16);
  std::shared_ptr<BlockActor> *(__fastcall *newBlockEntity)(BlockLegacy *this, std::shared_ptr<BlockActor> *result, const BlockPos *, const Block *);
  const Block *(__fastcall *getNextBlockPermutation)(BlockLegacy *this, const Block *);
  bool (__fastcall *hasTag)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *);
  bool (__fastcall *getCollisionShape)(BlockLegacy *this, AABB *, const Block *, BlockSource *, const BlockPos *, Actor *);
  bool (__fastcall *isObstructingChests)(BlockLegacy *this, BlockSource *, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *);
  Vec3 *(__fastcall *randomlyModifyPosition)(BlockLegacy *this, Vec3 *result, const BlockPos *, int *);
  void (__fastcall *addAABBs)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *);
  const AABB *(__fastcall *getAABB)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, AABB *, bool);
  bool (__fastcall *addCollisionShapes)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, const AABB *, std::vector<AABB> *, Actor *);
  const AABB *(__fastcall *getOutline)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  bool (__fastcall *getLiquidClipVolume)(BlockLegacy *this, BlockSource *, const BlockPos *, AABB *);
  void (__fastcall *onProjectileHit)(BlockLegacy *this, BlockSource *, const BlockPos *, const Actor *);
  bool (__fastcall *liquidCanFlowIntoFromDirection)(BlockLegacy *this, unsigned __int8, const std::function<Block const & __cdecl(BlockPos const &)> *, const BlockPos *);
  bool (__fastcall *hasVariableLighting)(BlockLegacy *this);
  bool (__fastcall *isStrippable)(BlockLegacy *this, const Block *);
  const Block *(__fastcall *getStrippedBlock)(BlockLegacy *this, const Block *);
  bool (__fastcall *canProvideSupport)(BlockLegacy *this, const Block *, unsigned __int8, BlockSupportType);
  bool (__fastcall *canConnect)(BlockLegacy *this, const Block *, unsigned __int8, const Block *);
  void (__fastcall *getConnectedDirections)(BlockLegacy *this, const Block *, const BlockPos *, BlockSource *, bool *, bool *, bool *, bool *);
  bool (__fastcall *isStemBlock)(BlockLegacy *this);
  bool (__fastcall *isContainerBlock)(BlockLegacy *this);
  bool (__fastcall *isCraftingBlock)(BlockLegacy *this);
  bool (__fastcall *isWaterBlocking)(BlockLegacy *this);
  bool (__fastcall *isHurtableBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isFenceGateBlock)(BlockLegacy *this);
  bool (__fastcall *isThinFenceBlock)(BlockLegacy *this);
  bool (__fastcall *isWallBlock)(BlockLegacy *this);
  bool (__fastcall *isStairBlock)(BlockLegacy *this);
  bool (__fastcall *isSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoubleSlabBlock)(BlockLegacy *this);
  bool (__fastcall *isDoorBlock)(BlockLegacy *this);
  bool (__fastcall *isRailBlock)(BlockLegacy *this);
  bool (__fastcall *isButtonBlock)(BlockLegacy *this);
  bool (__fastcall *canHurtAndBreakItem)(BlockLegacy *this);
  bool (__fastcall *isSignalSource)(BlockLegacy *this);
  bool (__fastcall *canBeOriginalSurface)(BlockLegacy *this);
  bool (__fastcall *isValidAuxValue)(BlockLegacy *this, int);
  void (__fastcall *setTargetLandBlocks)(BlockLegacy *this, const std::vector<std::string> *);
  bool (__fastcall *canFillAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  const Block *(__fastcall *sanitizeFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *onFillBlock)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getDirectSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  bool (__fastcall *waterSpreadCausesSpawn)(BlockLegacy *this);
  bool (__fastcall *canContainLiquid)(BlockLegacy *this);
  bool (__fastcall *shouldConnectToRedstone)(BlockLegacy *this, BlockSource *, const BlockPos *, int);
  void (__fastcall *handleRain)(BlockLegacy *this, BlockSource *, const BlockPos *, float);
  bool (__fastcall *canBeUsedInCommands)(BlockLegacy *this, const BaseGameVersion *);
  float (__fastcall *getThickness)(BlockLegacy *this);
  float (__fastcall *getFlexibility)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *checkIsPathable)(BlockLegacy *this, Actor *, const BlockPos *, const BlockPos *);
  bool (__fastcall *shouldDispense)(BlockLegacy *this, BlockSource *, Container *);
  bool (__fastcall *dispense)(BlockLegacy *this, BlockSource *, Container *, int, const Vec3 *, unsigned __int8);
  void (__fastcall *transformOnFall)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *onRedstoneUpdate)(BlockLegacy *this, BlockSource *, const BlockPos *, int, bool);
  void (__fastcall *onMove)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *detachesOnPistonMove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *movedByPiston)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onStructureNeighborBlockPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *setupRedstoneComponent)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *specialUse)(BlockLegacy *this, Player *, const BlockPos *, ItemStack *);
  BlockProperty (__fastcall *getRedstoneProperty)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *updateEntityAfterFallOn)(BlockLegacy *this, IActorMovementProxy *);
  bool (__fastcall *isBounceBlock)(BlockLegacy *this);
  bool (__fastcall *ignoreEntitiesOnPistonMove)(BlockLegacy *this, const Block *);
  bool (__fastcall *onFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, FertilizerType);
  bool (__fastcall *mayConsumeFertilizer)(BlockLegacy *this, BlockSource *);
  bool (__fastcall *canBeFertilized)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *mayPick)(BlockLegacy *this, BlockSource *, const Block *, bool);
  bool (__fastcall *mayPick)(BlockLegacy *this);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *mayPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, unsigned __int8);
  bool (__fastcall *mayPlaceOn)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *tryToPlace)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const ActorBlockSyncMessage *);
  bool (__fastcall *breaksFallingBlocks)(BlockLegacy *this, const Block *);
  void (__fastcall *destroy)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, Actor *);
  bool (__fastcall *playerWillDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  bool (__fastcall *getIgnoresDestroyPermissions)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *neighborChanged)(BlockLegacy *this, BlockSource *, const BlockPos *, const BlockPos *);
  bool (__fastcall *getSecondPart)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  int (__fastcall *getResourceCount)(BlockLegacy *this, Random *, const Block *, int, bool);
  ItemInstance *(__fastcall *getResourceItem)(BlockLegacy *this, ItemInstance *result, Random *, const Block *, int);
  ItemInstance *(__fastcall *asItemInstance)(BlockLegacy *this, ItemInstance *result, BlockSource *, const BlockPos *, const Block *);
  void (__fastcall *spawnResources)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  void (__fastcall *trySpawnResourcesOnExplosion)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, std::vector<Item const *> *, float, int, bool);
  bool (__fastcall *spawnBurnResources)(BlockLegacy *this, BlockSource *, float, float, float);
  const Block *(__fastcall *getPlacementBlock)(BlockLegacy *this, Actor *, const BlockPos *, unsigned __int8, const Vec3 *, int);
  int (__fastcall *calcVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *isAttachedTo)(BlockLegacy *this, BlockSource *, const BlockPos *, BlockPos *);
  bool (__fastcall *attack)(BlockLegacy *this, Player *, const BlockPos *);
  void (__fastcall *handleEntityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, Vec3 *);
  void (__fastcall *entityInside)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  int (__fastcall *getExperienceDrop)(BlockLegacy *this, Random *);
  bool (__fastcall *canBeBuiltOver)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *triggerEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, int, int);
  void (__fastcall *executeEvent)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, const std::string *, Actor *);
  void (__fastcall *executeEvent)(BlockLegacy *this, const std::string *, RenderParams *);
  bool (__fastcall *executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  bool (__fastcall *executeTriggerChain)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, RenderParams *);
  const MobSpawnerData *(__fastcall *getMobToSpawn)(BlockLegacy *this, const SpawnConditions *, BlockSource *);
  bool (__fastcall *shouldStopFalling)(BlockLegacy *this, Actor *);
  bool (__fastcall *pushesUpFallingBlocks)(BlockLegacy *this);
  float (__fastcall *calcGroundFriction)(BlockLegacy *this, Mob *, const BlockPos *);
  bool (__fastcall *canHaveExtraData)(BlockLegacy *this);
  bool (__fastcall *hasComparatorSignal)(BlockLegacy *this);
  int (__fastcall *getComparatorSignal)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *, unsigned __int8);
  bool (__fastcall *onDig)(BlockLegacy *this, const Block *, Actor *, ItemStack *, const BlockPos *);
  bool (__fastcall *canSlide)(BlockLegacy *this, BlockSource *, const BlockPos *);
  bool (__fastcall *canSpawnAt)(BlockLegacy *this, const BlockSource *, const BlockPos *);
  void (__fastcall *notifySpawnedAt)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getIconYOffset)(BlockLegacy *this);
  std::string *(__fastcall *buildDescriptionId)(BlockLegacy *this, std::string *result, const Block *);
  bool (__fastcall *isAuxValueRelevantForPicking)(BlockLegacy *this);
  int (__fastcall *getColor)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  int (__fastcall *getColor)(BlockLegacy *this, const Block *);
  int (__fastcall *getColorAtPos)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getColorForParticle)(BlockLegacy *this, BlockSource *, const BlockPos *, const Block *);
  bool (__fastcall *isSeasonTinted)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  void (__fastcall *onGraphicsModeChanged)(BlockLegacy *this, const BlockGraphicsModeChangeContext *);
  float (__fastcall *getShadeBrightness)(BlockLegacy *this, const Block *);
  const AABB *(__fastcall *getVisualShapeInWorld)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *, AABB *, bool);
  const AABB *(__fastcall *getVisualShape)(BlockLegacy *this, const Block *, AABB *, bool);
  const AABB *(__fastcall *getUIShape)(BlockLegacy *this, const Block *, AABB *);
  int (__fastcall *telemetryVariant)(BlockLegacy *this, BlockSource *, const BlockPos *);
  int (__fastcall *getVariant)(BlockLegacy *this, const Block *);
  bool (__fastcall *canSpawnOn)(BlockLegacy *this);
  const Block *(__fastcall *getRenderBlock)(BlockLegacy *this);
  unsigned __int8 (__fastcall *getMappedFace)(BlockLegacy *this, unsigned __int8, const Block *);
  bool (__fastcall *renderTwoFaced)(BlockLegacy *this);
  Flip (__fastcall *getFaceFlip)(BlockLegacy *this, unsigned __int8, const Block *);
  void (__fastcall *animateTick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  BlockLegacy *(__fastcall *init)(BlockLegacy *this);
  BlockLegacy *(__fastcall *setLightBlock)(BlockLegacy *this, Brightness);
  BlockLegacy *(__fastcall *setLightEmission)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setExplodeable)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFlammable)(BlockLegacy *this, FlameOdds, BurnOdds);
  BlockLegacy *(__fastcall *setDestroyTime)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *setFriction)(BlockLegacy *this, float);
  BlockLegacy *(__fastcall *addProperty)(BlockLegacy *this, BlockProperty);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *, unsigned __int64);
  BlockLegacy *(__fastcall *addState)(BlockLegacy *this, const ItemState *);
  BlockLegacy *(__fastcall *setAllowsRunes)(BlockLegacy *this, bool);
  BlockLegacy *(__fastcall *setMapColor)(BlockLegacy *this, const mce::Color *);
  bool (__fastcall *canBeSilkTouched)(BlockLegacy *this);
  ItemInstance *(__fastcall *getSilkTouchItemInstance)(BlockLegacy *this, ItemInstance *result, const Block *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const Vec3 *, const Vec3 *);
  void (__fastcall *setVisualShape)(BlockLegacy *this, const AABB *);
  const Block *(__fastcall *tryLegacyUpgrade)(BlockLegacy *this, unsigned __int16);
  bool (__fastcall *dealsContactDamage)(BlockLegacy *this, const Actor *, const Block *, bool);
  void (__fastcall *onRemove)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onExploded)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *);
  void (__fastcall *onStandOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOn)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onStepOff)(BlockLegacy *this, Actor *, const BlockPos *);
  void (__fastcall *onPlayerPlacing)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, unsigned __int8);
  void (__fastcall *onPlace)(BlockLegacy *this, BlockSource *, const BlockPos *);
  void (__fastcall *onFallOn)(BlockLegacy *this, BlockSource *, const BlockPos *, Actor *, float);
  void (__fastcall *playerDestroy)(BlockLegacy *this, Player *, const BlockPos *, const Block *);
  void (__fastcall *tick)(BlockLegacy *this, BlockSource *, const BlockPos *, Random *);
  bool (__fastcall *shouldRandomTick)(BlockLegacy *this);
  bool (__fastcall *isInteractiveBlock)(BlockLegacy *this);
  HitResult *(__fastcall *clip)(BlockLegacy *this, HitResult *result, BlockSource *, const BlockPos *, const Vec3 *, const Vec3 *, bool);
  bool (__fastcall *use)(BlockLegacy *this, Player *, const BlockPos *, unsigned __int8);
  bool (__fastcall *canSurvive)(BlockLegacy *this, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this, const Block *, BlockSource *, const BlockPos *);
  BlockRenderLayer (__fastcall *getRenderLayer)(BlockLegacy *this);
  int (__fastcall *getExtraRenderLayers)(BlockLegacy *this);
  float (__fastcall *getExplosionResistance)(BlockLegacy *this, Actor *);
  Brightness *(__fastcall *getLightEmission)(BlockLegacy *this, Brightness *result, const Block *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result, BlockSource *, const BlockPos *);
  mce::Color *(__fastcall *getMapColor)(BlockLegacy *this, mce::Color *result);
  bool (__fastcall *isCropBlock)(BlockLegacy *this);
  void (__fastcall *_executeEvent)(BlockLegacy *this, const std::string *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  bool (__fastcall *_executeTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
  void (__fastcall *_forceExecuteTrigger)(BlockLegacy *this, const DefinitionTrigger *, std::vector<std::pair<std::string const ,std::string const >> *, RenderParams *);
};

HugeMushroomFeature_vtbl

struct /*VFT*/ HugeMushroomFeature_vtbl
{
  void (__fastcall *~IFeature)(IFeature *this);
  std::optional<BlockPos> *(__fastcall *place)(IFeature *this, std::optional<BlockPos> *result, IBlockWorldGenAPI *, const BlockPos *, Random *, RenderParams *);
  std::string *(__fastcall *getStructureName)(IFeature *this, std::string *result);
  bool (__fastcall *parse)(IFeature *this, const rapidjson::GenericValue<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > *, IWorldRegistriesProvider *);
  bool (__fastcall *place)(Feature *this, BlockSource *, const BlockPos *, Random *);
};

HugeFungusFeature_vtbl

struct /*VFT*/ HugeFungusFeature_vtbl
{
  void (__fastcall *~IFeature)(IFeature *this);
  std::optional<BlockPos> *(__fastcall *place)(IFeature *this, std::optional<BlockPos> *result, IBlockWorldGenAPI *, const BlockPos *, Random *, RenderParams *);
  std::string *(__fastcall *getStructureName)(IFeature *this, std::string *result);
  bool (__fastcall *parse)(IFeature *this, const rapidjson::GenericValue<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > *, IWorldRegistriesProvider *);
  bool (__fastcall *place)(Feature *this, BlockSource *, const BlockPos *, Random *);
};

HTTPRequestInternalWinInet

struct __cppobj __declspec(align(8)) HTTPRequestInternalWinInet : HTTPRequestInternal
{
  HTTPRequest *mParentRequest;
  std::wstring_convert<std::codecvt_utf8_utf16<wchar_t,1114111,0>,wchar_t,std::allocator<wchar_t>,std::allocator<char> > ws_converter;
  Microsoft::WRL::ComPtr<IXMLHTTPRequest2> spXHR;
  Microsoft::WRL::ComPtr<CXMLHttpRequest2Callback> spXhrCallback;
  Microsoft::WRL::ComPtr<CXMLHttpRequestPostStream> spXhrPostStream;
  HTTPRequestCancelSourceAbort *mCancelSource;
  bool mAborted;
};

HTTPRequestInternalWinInet_vtbl

struct /*VFT*/ HTTPRequestInternalWinInet_vtbl
{
  void (__fastcall *~HTTPRequestInternal)(HTTPRequestInternal *this);
};

HVIDEOINPUTDEVICENV__

struct HVIDEOINPUTDEVICENV__
{
  int unused;
};

HGPUNV__

struct HGPUNV__
{
  int unused;
};

HPBUFFEREXT__

struct HPBUFFEREXT__
{
  int unused;
};

HPBUFFERARB__

struct HPBUFFERARB__
{
  int unused;
};

HVIDEOOUTPUTDEVICENV__

struct HVIDEOOUTPUTDEVICENV__
{
  int unused;
};

HPVIDEODEV__

struct HPVIDEODEV__
{
  int unused;
};

HorseScreenController

struct __cppobj __declspec(align(8)) HorseScreenController : BlockContainerScreenController
{
  bool mChestTabOpen;
};

HorseScreenController_vtbl

struct /*VFT*/ HorseScreenController_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);
  void (__fastcall *_handlePlaceAll)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_handlePlaceOne)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_handleSelectSlot)(ContainerScreenController *this, const std::string *, int);
  const SelectedSlotInfo *(__fastcall *_getSelectedSlotInfo)(ContainerScreenController *this, const SelectedSlotInfo *result);
  const ItemStack *(__fastcall *_getItemStack)(ContainerScreenController *this, const std::string *, int);
  const ItemStackBase *(__fastcall *_getVisualItemStack)(ContainerScreenController *this, const std::string *, int);
  const ItemStackBase *(__fastcall *_getTakeableItemStackBase)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotHovered)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotSelected)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotPressed)(ContainerScreenController *this, const std::string *, int);
  bool (__fastcall *_shouldSwap)(ContainerScreenController *this, const std::string *, int, const std::string *, int);
  std::string *(__fastcall *_getCollectionName)(ContainerScreenController *this, std::string *result, UIPropertyBag *);
  bool (__fastcall *_canSplit)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_sendFlyingItem)(ContainerScreenController *this, const ItemStackBase *, const std::string *, int, const std::string *, int);
  void (__fastcall *_registerCoalesceOrder)(ContainerScreenController *this);
  void (__fastcall *_registerAutoPlaceOrder)(ContainerScreenController *this);
};

HorseContainerManagerModel

struct __cppobj HorseContainerManagerModel : LevelContainerManagerModel
{
  std::weak_ptr<ContainerModel> mEquipContainerModel;
};

HorseContainerManagerModel_vtbl

struct /*VFT*/ HorseContainerManagerModel_vtbl
{
  void (__fastcall *~IContainerManager)(IContainerManager *this);
  ContainerID (__fastcall *getContainerId)(IContainerManager *this);
  void (__fastcall *setContainerId)(IContainerManager *this, ContainerID);
  ContainerType (__fastcall *getContainerType)(IContainerManager *this);
  void (__fastcall *setContainerType)(IContainerManager *this, ContainerType);
  void (__fastcall *serverInitItemStackIds)(IContainerManager *this);
  std::vector<ItemStack> *(__fastcall *getItemCopies)(IContainerManager *this, std::vector<ItemStack> *result);
  void (__fastcall *setSlot)(IContainerManager *this, int, const ItemStack *, bool);
  const ItemStack *(__fastcall *getSlot)(IContainerManager *this, int);
  void (__fastcall *setData)(IContainerManager *this, int, int);
  void (__fastcall *broadcastChanges)(IContainerManager *this);
  bool (__fastcall *validateContainer)(IContainerManager *this);
  bool (__fastcall *isValid)(ContainerManagerModel *this, float);
  ContainerScreenContext *(__fastcall *_postInit)(ContainerManagerModel *this, ContainerScreenContext *result);
};

HorseContainerManagerController

struct __cppobj __declspec(align(8)) HorseContainerManagerController : ContainerManagerController
{
  std::weak_ptr<HorseContainerManagerModel> mHorseContainerManagerModel;
  bool mIsEquipTabOpen;
};

HorseContainerManagerController_vtbl

struct /*VFT*/ HorseContainerManagerController_vtbl
{
  void (__fastcall *~ContainerManagerController)(ContainerManagerController *this);
  void (__fastcall *registerContainerCallbacks)(ContainerManagerController *this);
  const ItemStackBase *(__fastcall *getTakeableItemStackBase)(ContainerManagerController *this, const SlotData *);
  void (__fastcall *handleTakeAmount)(ContainerManagerController *this, const SlotData *, int, const SlotData *);
  void (__fastcall *handleTakeAll)(ContainerManagerController *this, const SlotData *, const SlotData *);
  void (__fastcall *handlePlaceAll)(ContainerManagerController *this, const SelectedSlotInfo *, const SlotData *);
  void (__fastcall *handleTakeHalf)(ContainerManagerController *this, const SlotData *, const SlotData *);
  void (__fastcall *handlePlaceOne)(ContainerManagerController *this, const SlotData *, const SlotData *);
  void (__fastcall *handlePlaceAmount)(ContainerManagerController *this, const SlotData *, int, const SlotData *);
  int (__fastcall *handleAutoPlace)(ContainerManagerController *this, const SlotData *, int, const std::vector<AutoPlaceItem> *, std::vector<AutoPlaceResult> *);
  int (__fastcall *handleAutoPlaceStack)(ContainerManagerController *this, const SlotData *, ItemTakeType, const std::vector<AutoPlaceItem> *, std::vector<AutoPlaceResult> *);
  void (__fastcall *handleSplitSingle)(ContainerManagerController *this, const SlotData *, const SlotData *);
  void (__fastcall *handleSplitMultiple)(ContainerManagerController *this, const SelectedSlotInfo *, const ItemInstance *, const SlotData *);
  void (__fastcall *handleCoalesce)(ContainerManagerController *this, const SlotData *, const std::vector<std::string> *);
  bool (__fastcall *handleSwap)(ContainerManagerController *this, const SlotData *, const SlotData *);
  bool (__fastcall *handleDrop)(ContainerManagerController *this, const SlotData *, const ItemTransferAmount);
  bool (__fastcall *handleDestroy)(ContainerManagerController *this, const SlotData *, const ItemTransferAmount);
  bool (__fastcall *handleDestroy)(ContainerManagerController *this, const SelectedSlotInfo *, const ItemTransferAmount);
  bool (__fastcall *handleConsume)(ContainerManagerController *this, const SlotData *, const ItemTransferAmount);
  void (__fastcall *handleAddToStack)(ContainerManagerController *this, const SlotData *, const SlotData *, ItemTakeType);
  void (__fastcall *closeContainers)(ContainerManagerController *this);
  const std::vector<ContainerSplitControl> *(__fastcall *getSplitItems)(ContainerManagerController *this);
  bool (__fastcall *isOutputSlot)(ContainerManagerController *this, const std::string *);
  void (__fastcall *_onItemTransferredFrom)(ContainerManagerController *this, const ItemInstance *, const SlotData *);
  void (__fastcall *_onItemTransferredTo)(ContainerManagerController *this, const ItemInstance *, const SlotData *);
  void (__fastcall *_onItemAcquired)(ContainerManagerController *this, const ItemInstance *, const SlotData *);
  void (__fastcall *_onItemPlaced)(ContainerManagerController *this, const ItemInstance *, const SlotData *);
};

HorseScreenController::{ctor}::__l2::<lambda_af5fa2530f826d5d08def04c7eb5cee0>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_af5fa2530f826d5d08def04c7eb5cee0>
{
  HorseScreenController *const __this;
};

HorseScreenController::{ctor}::__l2::<lambda_80c6e5409393cca0fc5a377974added3>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_80c6e5409393cca0fc5a377974added3>
{
  HorseScreenController *const __this;
};

HorseScreenController::{ctor}::__l2::<lambda_025986612949938973253e99816d0a0c>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_025986612949938973253e99816d0a0c>
{
  HorseScreenController *const __this;
};

HorseScreenController::{ctor}::__l2::<lambda_d80db6b9e9a3d13343bb578caa017e7a>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_d80db6b9e9a3d13343bb578caa017e7a>
{
  HorseScreenController *const __this;
};

HorseScreenController::{ctor}::__l2::<lambda_32008c64cf8e1a2b5f1a9adf16734b12>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_32008c64cf8e1a2b5f1a9adf16734b12>
{
  const ActorUniqueID uniqueId;
};

HorseScreenController::{ctor}::__l2::<lambda_f366e4756a3ad1e14c2b165ae3e1cce7>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_f366e4756a3ad1e14c2b165ae3e1cce7>
{
  HorseScreenController *const __this;
};

HorseScreenController::{ctor}::__l2::<lambda_70e96ef0b510e7e22cd1bec90fd98052>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_70e96ef0b510e7e22cd1bec90fd98052>
{
  bool carpet;
  bool saddle;
};

HorseScreenController::{ctor}::__l2::<lambda_aae33fb3c021b427366010e85d724955>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_aae33fb3c021b427366010e85d724955>
{
  bool carpet;
  bool saddle;
};

HorseScreenController::{ctor}::__l2::<lambda_c826454155f9e06315851f1096cfd6e3>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_c826454155f9e06315851f1096cfd6e3>
{
  bool carpet;
};

HorseScreenController::{ctor}::__l2::<lambda_29032eead47001b61f3051162f12b0a4>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_29032eead47001b61f3051162f12b0a4>
{
  bool armor;
  bool carpet;
  bool saddle;
};

HorseScreenController::{ctor}::__l2::<lambda_fb3a37bc67e2165084c025dfaaa0634c>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_fb3a37bc67e2165084c025dfaaa0634c>
{
  bool armor;
  bool carpet;
  bool saddle;
};

HorseScreenController::{ctor}::__l2::<lambda_fb9ac15c96cbbb5498e516bbd1f5ec92>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_fb9ac15c96cbbb5498e516bbd1f5ec92>
{
  bool armor;
  bool carpet;
};

HorseScreenController::{ctor}::__l2::<lambda_8428b03acd8d82eba9ca1912315ce62f>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_8428b03acd8d82eba9ca1912315ce62f>
{
  bool saddle;
};

HorseScreenController::{ctor}::__l2::<lambda_af0dac77beec41d4c248848aad34ecc4>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_af0dac77beec41d4c248848aad34ecc4>
{
  HorseScreenController *const __this;
};

HorseScreenController::{ctor}::__l2::<lambda_b4fd066aa479ddd11366c1ab3ac22cad>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_b4fd066aa479ddd11366c1ab3ac22cad>
{
  HorseScreenController *const __this;
};

HorseScreenController::{ctor}::__l2::<lambda_64713f98632f01bc3921ea3e304729ed>

struct __cppobj HorseScreenController::{ctor}::__l2::<lambda_64713f98632f01bc3921ea3e304729ed>
{
  HorseScreenController *const __this;
};

HopperContainerManagerModel

struct __cppobj HopperContainerManagerModel : LevelContainerManagerModel
{
};

HopperContainerManagerModel_vtbl

struct /*VFT*/ HopperContainerManagerModel_vtbl
{
  void (__fastcall *~IContainerManager)(IContainerManager *this);
  ContainerID (__fastcall *getContainerId)(IContainerManager *this);
  void (__fastcall *setContainerId)(IContainerManager *this, ContainerID);
  ContainerType (__fastcall *getContainerType)(IContainerManager *this);
  void (__fastcall *setContainerType)(IContainerManager *this, ContainerType);
  void (__fastcall *serverInitItemStackIds)(IContainerManager *this);
  std::vector<ItemStack> *(__fastcall *getItemCopies)(IContainerManager *this, std::vector<ItemStack> *result);
  void (__fastcall *setSlot)(IContainerManager *this, int, const ItemStack *, bool);
  const ItemStack *(__fastcall *getSlot)(IContainerManager *this, int);
  void (__fastcall *setData)(IContainerManager *this, int, int);
  void (__fastcall *broadcastChanges)(IContainerManager *this);
  bool (__fastcall *validateContainer)(IContainerManager *this);
  bool (__fastcall *isValid)(ContainerManagerModel *this, float);
  ContainerScreenContext *(__fastcall *_postInit)(ContainerManagerModel *this, ContainerScreenContext *result);
};

HopperSystem

struct __cppobj HopperSystem : ITickingSystem
{
};

HopperSystem_vtbl

struct /*VFT*/ HopperSystem_vtbl
{
  void (__fastcall *~ITickingSystem)(ITickingSystem *this);
  void (__fastcall *tick)(ITickingSystem *this, EntityRegistry *);
};

HarvestFarmBlockDefinition

struct __cppobj HarvestFarmBlockDefinition : BaseGoalDefinition
{
  float mMaximumSecondsUntilSearch;
  float mSearchCooldownMaximumSeconds;
  float mTaskCooldownSeconds;
  int mSearchCount;
  int mSearchHeight;
  int mSearchRange;
  float mGoalRadius;
  float mSpeedModifier;
};

HarvestFarmBlockDefinition_vtbl

struct /*VFT*/ HarvestFarmBlockDefinition_vtbl
{
  void (__fastcall *~BaseGoalDefinition)(BaseGoalDefinition *this);
  bool (__fastcall *validateMobType)(BaseGoalDefinition *this, Mob *);
  bool (__fastcall *validate)(BaseGoalDefinition *this, Mob *);
};

HarvestFarmBlockGoal

struct __cppobj __declspec(align(8)) HarvestFarmBlockGoal : BaseMoveToBlockGoal
{
  int mMaximumTicksUntilSearch;
  int mSearchCooldownMaximumTicks;
  int mTaskCooldownTicks;
  int mInventorySeedsIndex;
  _BYTE mCurrentTask[4];
};

HarvestFarmBlockGoal_vtbl

struct /*VFT*/ HarvestFarmBlockGoal_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>);
  bool (__fastcall *hasReachedTarget)(BaseMoveToGoal *this);
  bool (__fastcall *isValidTarget)(BaseMoveToGoal *this, BlockSource *, const BlockPos *);
  int (__fastcall *_nextStartTick)(BaseMoveToGoal *this);
  bool (__fastcall *_canReach)(BaseMoveToGoal *this, const BlockPos *);
  void (__fastcall *_moveToBlock)(BaseMoveToGoal *this);
  Vec3 *(__fastcall *_getTargetPosition)(BaseMoveToGoal *this, Vec3 *result);
  unsigned __int64 (__fastcall *_getRepathTime)(BaseMoveToGoal *this);
  bool (__fastcall *findTargetBlock)(BaseMoveToBlockGoal *this);
};

HideGoal

struct __cppobj __declspec(align(8)) HideGoal : MoveToPOIGoal
{
  __int16 mHideAttempts;
};

HideGoal_vtbl

struct /*VFT*/ HideGoal_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>);
  bool (__fastcall *hasReachedTarget)(BaseMoveToGoal *this);
  bool (__fastcall *isValidTarget)(BaseMoveToGoal *this, BlockSource *, const BlockPos *);
  int (__fastcall *_nextStartTick)(BaseMoveToGoal *this);
  bool (__fastcall *_canReach)(BaseMoveToGoal *this, const BlockPos *);
  void (__fastcall *_moveToBlock)(BaseMoveToGoal *this);
  Vec3 *(__fastcall *_getTargetPosition)(BaseMoveToGoal *this, Vec3 *result);
  unsigned __int64 (__fastcall *_getRepathTime)(BaseMoveToGoal *this);
  bool (__fastcall *getPOI)(MoveToPOIGoal *this, POIType);
  std::weak_ptr<POIInstance> *(__fastcall *_getOwnedPOI)(MoveToPOIGoal *this, std::weak_ptr<POIInstance> *result, POIType);
};

HoldGroundGoal

struct __cppobj HoldGroundGoal : Goal
{
  Mob *mMob;
  TempEPtr<Actor> mLookAt;
  float mHostileRadiusSqr;
  bool mBroadcast;
  float mBroadcastRange;
  const DefinitionTrigger mWithinRangeEvent;
};

HoldGroundGoal_vtbl

struct /*VFT*/ HoldGroundGoal_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>);
};

HoverGoal

struct __cppobj HoverGoal : Goal
{
  Mob *mMob;
  float mSpeedMultiplier;
  Vec3 mStartPos;
};

HoverGoal_vtbl

struct /*VFT*/ HoverGoal_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>);
};

HorseContainerManagerModel::_postInit::__l5::<lambda_1ff89581375038258850ba975b22babe>

struct __cppobj HorseContainerManagerModel::_postInit::__l5::<lambda_1ff89581375038258850ba975b22babe>
{
  HorseContainerManagerModel *const __this;
};

HorseContainerManagerModel::_postInit::__l5::<lambda_89ec054521d8a3163489de1362af6a58>

struct __cppobj HorseContainerManagerModel::_postInit::__l5::<lambda_89ec054521d8a3163489de1362af6a58>
{
  HorseContainerManagerModel *const __this;
};

HellFireFeature_vtbl

struct /*VFT*/ HellFireFeature_vtbl
{
  void (__fastcall *~IFeature)(IFeature *this);
  std::optional<BlockPos> *(__fastcall *place)(IFeature *this, std::optional<BlockPos> *result, IBlockWorldGenAPI *, const BlockPos *, Random *, RenderParams *);
  std::string *(__fastcall *getStructureName)(IFeature *this, std::string *result);
  bool (__fastcall *parse)(IFeature *this, const rapidjson::GenericValue<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > *, IWorldRegistriesProvider *);
  bool (__fastcall *place)(Feature *this, BlockSource *, const BlockPos *, Random *);
};

HellSpringFeature_vtbl

struct /*VFT*/ HellSpringFeature_vtbl
{
  void (__fastcall *~IFeature)(IFeature *this);
  std::optional<BlockPos> *(__fastcall *place)(IFeature *this, std::optional<BlockPos> *result, IBlockWorldGenAPI *, const BlockPos *, Random *, RenderParams *);
  std::string *(__fastcall *getStructureName)(IFeature *this, std::string *result);
  bool (__fastcall *parse)(IFeature *this, const rapidjson::GenericValue<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > *, IWorldRegistriesProvider *);
  bool (__fastcall *place)(Feature *this, BlockSource *, const BlockPos *, Random *);
};

huff_entropy_encoder

struct huff_entropy_encoder
{
  jpeg_entropy_encoder pub;
  _BYTE saved[20];
  __declspec(align(8)) unsigned int restarts_to_go;
  int next_restart_num;
  c_derived_tbl *dc_derived_tbls[4];
  c_derived_tbl *ac_derived_tbls[4];
  int *dc_count_ptrs[4];
  int *ac_count_ptrs[4];
  unsigned __int8 gather_statistics;
  unsigned __int8 *next_output_byte;
  unsigned __int64 free_in_buffer;
  jpeg_compress_struct *cinfo;
  int ac_tbl_no;
  unsigned int EOBRUN;
  unsigned int BE;
  char *bit_buffer;
};

huff_entropy_decoder

struct huff_entropy_decoder
{
  jpeg_entropy_decoder pub;
  bitread_perm_state bitstate;
  _BYTE saved[20];
  unsigned __int8 insufficient_data;
  unsigned int restarts_to_go;
  d_derived_tbl *derived_tbls[4];
  d_derived_tbl *ac_derived_tbl;
  d_derived_tbl *dc_derived_tbls[4];
  d_derived_tbl *ac_derived_tbls[4];
  d_derived_tbl *dc_cur_tbls[10];
  d_derived_tbl *ac_cur_tbls[10];
  int coef_limit[10];
};

HuffmanEncodingTreeNode

struct HuffmanEncodingTreeNode
{
  unsigned __int8 value;
  unsigned int weight;
  HuffmanEncodingTreeNode *left;
  HuffmanEncodingTreeNode *right;
  HuffmanEncodingTreeNode *parent;
};

HudHorseJumpRenderer::render::__l2::<lambda_f26f6b421c5d8a48941cbbe5d0c0ad83>

struct __cppobj HudHorseJumpRenderer::render::__l2::<lambda_f26f6b421c5d8a48941cbbe5d0c0ad83>
{
  float *uSize;
  float *vSize;
  int *u;
  int *v;
};

HudPlayerRenderer::render::__l11::<lambda_3c8a26f25fde2aa3aadba65938c29373>::()::__l2::Literal

struct __cppobj HudPlayerRenderer::render::__l11::<lambda_3c8a26f25fde2aa3aadba65938c29373>::()::__l2::Literal
{
};

HudPlayerRenderer::render::__l11::<lambda_ee7b0def6be5201d2193da1373b2d92c>::()::__l2::Literal

struct __cppobj HudPlayerRenderer::render::__l11::<lambda_ee7b0def6be5201d2193da1373b2d92c>::()::__l2::Literal
{
};

HudPlayerRenderer::render::__l11::<lambda_7c138ce959f7ff186fa0298c49f4fbf1>::()::__l2::Literal

struct __cppobj HudPlayerRenderer::render::__l11::<lambda_7c138ce959f7ff186fa0298c49f4fbf1>::()::__l2::Literal
{
};

HudMobEffectsRenderer::render::__l24::<lambda_8b8e8c379e3d3ef9f9c7f588b3d37ae9>

struct __cppobj HudMobEffectsRenderer::render::__l24::<lambda_8b8e8c379e3d3ef9f9c7f588b3d37ae9>
{
  int *ux;
  int *vy;
  float *uvWidth;
  float *uvHeight;
  float *us;
  float *vs;
};

HudPlayerRenderer::render::__l11::<lambda_3c8a26f25fde2aa3aadba65938c29373>

struct __cppobj HudPlayerRenderer::render::__l11::<lambda_3c8a26f25fde2aa3aadba65938c29373>
{
};

HudPlayerRenderer::render::__l11::<lambda_7c138ce959f7ff186fa0298c49f4fbf1>

struct __cppobj HudPlayerRenderer::render::__l11::<lambda_7c138ce959f7ff186fa0298c49f4fbf1>
{
};

HudPlayerRenderer::render::__l11::<lambda_ee7b0def6be5201d2193da1373b2d92c>

struct __cppobj HudPlayerRenderer::render::__l11::<lambda_ee7b0def6be5201d2193da1373b2d92c>
{
};

hbui::FacetRegistry::registerFacet::__l2::<lambda_bd9bb8f2cadf3b0f10a80c7e81deb91c>

struct __cppobj hbui::FacetRegistry::registerFacet::__l2::<lambda_bd9bb8f2cadf3b0f10a80c7e81deb91c>
{
  const std::string *name;
};

hbui::FacetRegistry::activateFacet::__l2::<lambda_9a9590cfcd6a92ccbb29c3aa72aee23c>

struct __cppobj hbui::FacetRegistry::activateFacet::__l2::<lambda_9a9590cfcd6a92ccbb29c3aa72aee23c>
{
  const std::string *name;
};

hbui::FacetRegistry::deactivateFacet::__l2::<lambda_f70eba82a047d5efe865983ea2888497>

struct __cppobj hbui::FacetRegistry::deactivateFacet::__l2::<lambda_f70eba82a047d5efe865983ea2888497>
{
  const std::string *name;
};

HummingbirdUI::unregisterRouteConfigurationChangeCallback::__l2::<lambda_3e88f95f6d5af2b53e78952b635e1bb8>

struct __cppobj HummingbirdUI::unregisterRouteConfigurationChangeCallback::__l2::<lambda_3e88f95f6d5af2b53e78952b635e1bb8>
{
  void *token;
};

hbui::RouteMatcher::_match::__l2::<lambda_fa4836dab5b272682811c18a65ff5f30>

struct __cppobj hbui::RouteMatcher::_match::__l2::<lambda_fa4836dab5b272682811c18a65ff5f30>
{
  const std::string route;
};

hbui::RouterConfiguration::_addRoute::__l2::<lambda_9d53e344a0271a1458e6afaa48e7f0d5>

struct __cppobj hbui::RouterConfiguration::_addRoute::__l2::<lambda_9d53e344a0271a1458e6afaa48e7f0d5>
{
  const std::string *route;
};

HudScreenController::_updateTitleText::__l14::<lambda_348b4ca9d695a98721f80bb664a775dd>

struct __cppobj HudScreenController::_updateTitleText::__l14::<lambda_348b4ca9d695a98721f80bb664a775dd>
{
};

HitResultSystem::tick::__l2::<lambda_ad1d02461820c9e892f4d2da456e3aa6>

struct __cppobj HitResultSystem::tick::__l2::<lambda_ad1d02461820c9e892f4d2da456e3aa6>
{
};

HealableComponent::getInteraction::__l2::<lambda_90c5c6f55d8f131a1d67e74a13742cae>

struct __cppobj HealableComponent::getInteraction::__l2::<lambda_90c5c6f55d8f131a1d67e74a13742cae>
{
  const ItemStack *item;
};

HomeComponent::tick::__l2::<lambda_ea3f16251f6d40785ec8bf72849f1501>

struct __cppobj HomeComponent::tick::__l2::<lambda_ea3f16251f6d40785ec8bf72849f1501>
{
  const BlockLegacy *blockAtHomePos;
};

HeavyBlock::animateTick::__l11::<lambda_34dbdd8a4780ed8cc471ac95c73990c9>::()::__l2::Literal

struct __cppobj HeavyBlock::animateTick::__l11::<lambda_34dbdd8a4780ed8cc471ac95c73990c9>::()::__l2::Literal
{
};

HeavyBlock::animateTick::__l11::<lambda_34dbdd8a4780ed8cc471ac95c73990c9>

struct __cppobj HeavyBlock::animateTick::__l11::<lambda_34dbdd8a4780ed8cc471ac95c73990c9>
{
};

Horse_vtbl

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

HumanoidMonster_vtbl

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

Last Updated:
Contributors: RedbeanW, VinkyV
Prev
G
Next
I