# M~2

# mce::framebuilder::modules::_drawGameface::__l2::<lambda_bd82295141a489e137e0cd51f5593a8c>::()::__l2::<lambda_546ccfc158532a4a93deea0420c8914f>

struct __cppobj mce::framebuilder::modules::_drawGameface::__l2::<lambda_bd82295141a489e137e0cd51f5593a8c>::()::__l2::<lambda_546ccfc158532a4a93deea0420c8914f>
{
};

# mce::framebuilder::bgfxbridge::PBRTextureData

struct __cppobj mce::framebuilder::bgfxbridge::PBRTextureData
{
  unsigned __int16 mNumMipsColor;
  float mUniformMetalness;
  float mUniformEmissive;
  float mUniformRoughness;
  std::optional<glm::tvec2<float,0> > mMERUVScale;
  std::optional<glm::tvec2<float,0> > mMERUVBias;
  std::optional<unsigned short> mNumMipsMER;
  _BYTE mNormalMode[4];
  std::optional<glm::tvec2<float,0> > mNormalOrHeightUVScale;
  std::optional<glm::tvec2<float,0> > mNormalOrHeightUVBias;
  std::optional<unsigned short> mNumMipsNormalOrHeight;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block

struct __cppobj __declspec(align(8)) moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block
{
  $D2E11825C9D38570DAABB72395EB7927 ___u0;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block *next;
  std::atomic<unsigned __int64> elementsCompletelyDequeued;
  std::atomic<bool> emptyFlags[32];
  std::atomic<unsigned int> freeListRefs;
  std::atomic<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block *> freeListNext;
  std::atomic<bool> shouldBeOnFreeList;
  bool dynamicallyAllocated;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::FreeList<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block>

struct __cppobj moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::FreeList<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block>
{
  std::atomic<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block *> freeListHead;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase

struct __cppobj moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase : moodycamel::details::ConcurrentQueueProducerTypelessBase
{
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase_vtbl *__vftable /*VFT*/;
  std::atomic<unsigned __int64> tailIndex;
  std::atomic<unsigned __int64> headIndex;
  std::atomic<unsigned __int64> dequeueOptimisticCount;
  std::atomic<unsigned __int64> dequeueOvercommit;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block *tailBlock;
  bool isExplicit;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits> *parent;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>

struct __cppobj __declspec(align(8)) moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>
{
  std::atomic<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *> producerListTail;
  std::atomic<unsigned int> producerCount;
  std::atomic<unsigned __int64> initialBlockPoolIndex;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block *initialBlockPool;
  unsigned __int64 initialBlockPoolSize;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::FreeList<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block> freeList;
  std::atomic<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash *> implicitProducerHash;
  std::atomic<unsigned __int64> implicitProducerHashCount;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash initialImplicitProducerHash;
  std::array<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP,32> initialImplicitProducerHashEntries;
  std::atomic_flag implicitProducerHashResizeInProgress;
  std::atomic<unsigned int> nextExplicitConsumerId;
  std::atomic<unsigned int> globalExplicitConsumerOffset;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer : moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  unsigned __int64 nextBlockIndexCapacity;
  std::atomic<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *> blockIndex;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP

struct __cppobj moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP
{
  std::atomic<unsigned int> key;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer *value;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash

struct moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash
{
  unsigned __int64 capacity;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP *entries;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash *prev;
};

# MPMCQueue<unsigned short>

struct __cppobj MPMCQueue<unsigned short>
{
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits> mQueue;
};

# mce::framebuilder::bgfxbridge::PBRTextureDataManager

struct __cppobj __declspec(align(8)) mce::framebuilder::bgfxbridge::PBRTextureDataManager
{
  bool mEnabled;
  std::vector<mce::framebuilder::bgfxbridge::PBRTextureData> mPBRTextureData;
  MPMCQueue<unsigned short> mFreeList;
  std::mutex mMutex;
  bool mIsDirty;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry
{
  unsigned __int64 base;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block *block;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer : moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  std::atomic<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader *> blockIndex;
  unsigned __int64 pr_blockIndexSlotsUsed;
  unsigned __int64 pr_blockIndexSize;
  unsigned __int64 pr_blockIndexFront;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *pr_blockIndexEntries;
  void *pr_blockIndexRaw;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<unsigned short,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# mce::framebuilder::bgfxbridge::PBRTextureDataManager::allocate::__l5::<lambda_737fda5808e9a6eaa412776277a119ae>

struct __cppobj mce::framebuilder::bgfxbridge::PBRTextureDataManager::allocate::__l5::<lambda_737fda5808e9a6eaa412776277a119ae>
{
  mce::framebuilder::bgfxbridge::PBRTextureDataManager *const __this;
};

# mce::TransactionContainer<dragon::CreateAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<dragon::CreateAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<dragon::mesh::ResolvedAccelerationStructureResource,mce::UncheckedHandleTracker,dragon::BufferDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(dragon::CreateAccelerationStructureTransaction &)> mDeferredPayload;
  dragon::CreateAccelerationStructureTransaction mPayload;
  gsl::not_null<dragon::DragonBufferResourceServiceContext *> mResourceServiceContext;
};

# mce::TransactionContainer<dragon::CreateAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::CreateAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::framebuilder::bgfxbridge::RayTraceableMeshMetadata::_generateAccelerationStructure::__l14::<lambda_471aee7de71c7390db842647d2be791b>

struct __cppobj mce::framebuilder::bgfxbridge::RayTraceableMeshMetadata::_generateAccelerationStructure::__l14::<lambda_471aee7de71c7390db842647d2be791b>
{
  const mce::framebuilder::bgfxbridge::EntityCreationContext *entityContext;
};

# mce::framebuilder::bgfxbridge::RayTraceableMeshMetadata::_generateAccelerationStructure::__l14::<lambda_e010e8f04d68d67760fd517ee983d1e5>

struct __cppobj mce::framebuilder::bgfxbridge::RayTraceableMeshMetadata::_generateAccelerationStructure::__l14::<lambda_e010e8f04d68d67760fd517ee983d1e5>
{
};

# mce::TransactionContainer<dragon::UpdateAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<dragon::UpdateAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<dragon::mesh::ResolvedAccelerationStructureResource,mce::UncheckedHandleTracker,dragon::BufferDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(dragon::UpdateAccelerationStructureTransaction &)> mDeferredPayload;
  dragon::UpdateAccelerationStructureTransaction mPayload;
  gsl::not_null<dragon::DragonBufferResourceServiceContext *> mResourceServiceContext;
};

# mce::TransactionContainer<dragon::UpdateAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::UpdateAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::framebuilder::bgfxbridge::RayTraceableMeshMetadata::updateAccelerationStructure::__l14::<lambda_0113971b89dafe34f6e5db0f9c57e25e>

struct __cppobj mce::framebuilder::bgfxbridge::RayTraceableMeshMetadata::updateAccelerationStructure::__l14::<lambda_0113971b89dafe34f6e5db0f9c57e25e>
{
  const mce::framebuilder::bgfxbridge::EntityCreationContext *entityContext;
  mce::framebuilder::bgfxbridge::RayTraceableMeshMetadata *const __this;
};

# mce::framebuilder::bgfxbridge::RayTraceableMeshMetadata::updateAccelerationStructure::__l14::<lambda_42a2c577fd1312d74c264641d05f8699>

struct __cppobj mce::framebuilder::bgfxbridge::RayTraceableMeshMetadata::updateAccelerationStructure::__l14::<lambda_42a2c577fd1312d74c264641d05f8699>
{
};

# mce::TransactionContainer<dragon::UpdateVertexOnlyAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<dragon::UpdateVertexOnlyAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<dragon::mesh::ResolvedAccelerationStructureResource,mce::UncheckedHandleTracker,dragon::BufferDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(dragon::UpdateVertexOnlyAccelerationStructureTransaction &)> mDeferredPayload;
  dragon::UpdateVertexOnlyAccelerationStructureTransaction mPayload;
  gsl::not_null<dragon::DragonBufferResourceServiceContext *> mResourceServiceContext;
};

# mce::TransactionContainer<dragon::UpdateVertexOnlyAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::UpdateVertexOnlyAccelerationStructureTransaction,dragon::AccelerationStructureResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::framebuilder::bgfxbridge::RTXMinecraftFrameRenderer

struct __cppobj mce::framebuilder::bgfxbridge::RTXMinecraftFrameRenderer : dragon::frameobject::FrameRenderer<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>
{
};

# mce::framebuilder::bgfxbridge::RTXMinecraftFrameRenderer_vtbl

struct /*VFT*/ mce::framebuilder::bgfxbridge::RTXMinecraftFrameRenderer_vtbl
{
  void (__fastcall *~FrameRenderer<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::G)(dragon::frameobject::FrameRenderer<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> *this);
  void (__fastcall *frame)(dragon::frameobject::FrameRenderer<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> *this, dragon::framegraph::Declarator<dragon::rendering::RenderContext> *, Core::CpuRingBufferAllocator<unsigned char,2,0,Core::CheckedRingBuffer<2,0> > *, const dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> *, std::optional<dragon::frameobject::FrameExplicitTarget>);
};

# mce::framebuilder::bgfxbridge::_copy::__l3::<lambda_37b189ff49602ec55ed37b2baa960c46>

const struct __cppobj mce::framebuilder::bgfxbridge::_copy::__l3::<lambda_37b189ff49602ec55ed37b2baa960c46>
{
  const dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> *frame;
  dragon::frameobject::BlitableEntityCollection *blitEntities;
};

# mce::framebuilder::bgfxbridge::_copy::__l4::<lambda_c437cb344f2425c8474840507e8355d7>

const struct __cppobj mce::framebuilder::bgfxbridge::_copy::__l4::<lambda_c437cb344f2425c8474840507e8355d7>
{
  Core::CpuRingBufferAllocator<unsigned char,2,0,Core::CheckedRingBuffer<2,0> > *allocator;
  dragon::frameobject::BlitableEntityCollection *blitEntities;
  dragon::frameobject::PreparedBlitCollection *preparedBlits;
};

# mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRenderer

struct __cppobj mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRenderer : dragon::frameobject::FrameRenderer<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>
{
};

# mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRenderer_vtbl

struct /*VFT*/ mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRenderer_vtbl
{
  void (__fastcall *~FrameRenderer<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::G)(dragon::frameobject::FrameRenderer<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> *this);
  void (__fastcall *frame)(dragon::frameobject::FrameRenderer<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> *this, dragon::framegraph::Declarator<dragon::rendering::RenderContext> *, Core::CpuRingBufferAllocator<unsigned char,2,0,Core::CheckedRingBuffer<2,0> > *, const dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> *, std::optional<dragon::frameobject::FrameExplicitTarget>);
};

# mce::framebuilder::CameraDescriptionOrthographic2D

struct __cppobj mce::framebuilder::CameraDescriptionOrthographic2D
{
  cg::math::Rect<unsigned short> mViewport;
  cg::math::Rect<unsigned short> mScissorRect;
  cg::math::Rect<float> mProjectionBounds;
  float mNearPlane;
  float mFarPlane;
};

# mce::framebuilder::CameraDescriptionExplicitTransform

struct __cppobj mce::framebuilder::CameraDescriptionExplicitTransform
{
  cg::math::Rect<unsigned short> mViewport;
  cg::math::Rect<unsigned short> mScissorRect;
  glm::tmat4x4<float,0> mViewMatrix;
  glm::tmat4x4<float,0> mProjectionMatrix;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::Block

struct __cppobj __declspec(align(8)) moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  $922113CC63D86E8A75D6DAB28258DF7A ___u0;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::Block *next;
  std::atomic<unsigned __int64> elementsCompletelyDequeued;
  std::atomic<bool> emptyFlags[32];
  std::atomic<unsigned int> freeListRefs;
  std::atomic<moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::Block *> freeListNext;
  std::atomic<bool> shouldBeOnFreeList;
  bool dynamicallyAllocated;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase

struct __cppobj moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu : moodycamel::details::ConcurrentQueueProducerTypelessBase
{
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase_vtbl *__vftable /*VFT*/;
  std::atomic<unsigned __int64> tailIndex;
  std::atomic<unsigned __int64> headIndex;
  std::atomic<unsigned __int64> dequeueOptimisticCount;
  std::atomic<unsigned __int64> dequeueOvercommit;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::Block *tailBlock;
  bool isExplicit;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits> *parent;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>

struct __cppobj __declspec(align(8)) moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  std::atomic<moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *> producerListTail;
  std::atomic<unsigned int> producerCount;
  std::atomic<unsigned __int64> initialBlockPoolIndex;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::Block *initialBlockPool;
  unsigned __int64 initialBlockPoolSize;
  _BYTE gap28[8];
  std::atomic<moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash *> implicitProducerHash;
  std::atomic<unsigned __int64> implicitProducerHashCount;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash initialImplicitProducerHash;
  std::array<moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP,32> initialImplicitProducerHashEntries;
  std::atomic_flag implicitProducerHashResizeInProgress;
  std::atomic<unsigned int> nextExplicitConsumerId;
  std::atomic<unsigned int> globalExplicitConsumerOffset;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu : moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  unsigned __int64 nextBlockIndexCapacity;
  std::atomic<moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *> blockIndex;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP

struct __cppobj moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  std::atomic<unsigned int> key;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer *value;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash

struct moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  unsigned __int64 capacity;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP *entries;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash *prev;
};

# MPMCQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>> >

struct __cppobj MPMCQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecompone
{
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits> mQueue;
};

# mce::framebuilder::BgfxFrameBuilder

struct __cppobj mce::framebuilder::BgfxFrameBuilder : mce::framebuilder::FrameBuilder
{
  bool mInitialized;
  std::unique_ptr<mce::framebuilder::bgfxbridge::BgfxFrameExtractor> mExtractor;
  std::unique_ptr<dragon::platform::BgfxContext> mBgfxContext;
  Core::RingAllocatorContainer<unsigned char,2,0,Core::CheckedRingBuffer<2,0> > mIntraFrameAllocatorContainer;
  Core::CpuRingBufferAllocator<unsigned char,2,0,Core::CheckedRingBuffer<2,0> > *mIntraFrameAllocator;
  std::unique_ptr<Core::RingAllocatorContainer<unsigned char,2,0,Core::CheckedRingBuffer<2,0> >::AllocationScope,std::default_delete<Core::RingAllocatorContainer<unsigned char,2,0,Core::CheckedRingBuffer<2,0> >::AllocationScope> > mNextAllocationScope;
  dragon::rendering::GraphicsTasks mGraphicsTasks;
  std::unique_ptr<dragon::rendering::AsyncTasksScope> mFrameAsyncTasks;
  std::unique_ptr<dragon::rendering::BgfxPrimitiveIndexBuffer> mQuadIndexBuffer;
  std::unique_ptr<dragon::rendering::BgfxPrimitiveIndexBuffer> mSequenceIndexBuffer;
  std::unique_ptr<dragon::rendering::RayTracingResources> mRayTracingResources;
  std::unique_ptr<mce::framebuilder::bgfxbridge::PBRTextureDataManager> mPBRTextureDataManager;
  std::shared_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> > mTransactionConsumerFrame;
  dragon::TextureResourceService mInternalDragonTextureResourceService;
  dragon::res::ClientTexture mMissingTexture;
  unsigned __int64 mFrameCounter;
  std::map<unsigned char,glm::tvec3<float,0>> mPreviousFramePlayerViewWorldOrigins;
  std::queue<std::pair<__int64,std::shared_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> > >> mInFlightFrames;
  std::unique_ptr<Pool<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources> >> mFramePool;
  glm::tvec2<unsigned short,0> mResolution;
  glm::tvec2<unsigned short,0> mClientResolution;
  bgfx::DLSSOptions mUpscalingOptions;
  bool m_enabledMsaa;
  std::vector<dragon::rendering::Camera> mDebugCameras;
  std::optional<mce::framebuilder::bgfxbridge::UITarget> mPersistentUiView;
  std::unique_ptr<cg::IGraphicsDeviceVendorProvider> mGraphicsVendorProvider;
  ServiceRegistrationToken<cg::IGraphicsDeviceVendorProvider> mGraphicsVendorProviderRegistrationToken;
};

# mce::framebuilder::BgfxFrameBuilder_vtbl

struct /*VFT*/ mce::framebuilder::BgfxFrameBuilder_vtbl
{
  void (__fastcall *~FrameBuilder)(mce::framebuilder::FrameBuilder *this);
  bool (__fastcall *enabled)(mce::framebuilder::FrameBuilder *this);
  std::optional<dragon::platform::Statistics> *(__fastcall *getStatistics)(mce::framebuilder::FrameBuilder *this, std::optional<dragon::platform::Statistics> *result);
  bool (__fastcall *supportsRenderFeature)(mce::framebuilder::FrameBuilder *this, const mce::RenderFeature);
  bool (__fastcall *isDeviceRemoved)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *init)(mce::framebuilder::FrameBuilder *this, const std::variant<HWND__ *,std::monostate> *, const unsigned int, const unsigned int);
  bool (__fastcall *initialized)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *destroy)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *loadCoreAssets)(mce::framebuilder::FrameBuilder *this, const std::string *, std::function<std::string __cdecl(std::string const &)>);
  mce::framebuilder::AsyncLoadResult (__fastcall *loadAsyncAssets)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *startFrame)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *endFrame)(mce::framebuilder::FrameBuilder *this, mce::framebuilder::FrameBuilderContext *);
  void (__fastcall *discardFrame)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *setTerrainAtlasTexture)(mce::framebuilder::FrameBuilder *this, const mce::ClientTexture *);
  void (__fastcall *updateSurfaceParameters)(mce::framebuilder::FrameBuilder *this, const std::variant<HWND__ *,std::monostate> *);
  void (__fastcall *updateWindowSize)(mce::framebuilder::FrameBuilder *this, const unsigned int, const unsigned int);
  void (__fastcall *updateClientViewSize)(mce::framebuilder::FrameBuilder *this, const glm::tvec2<float,0> *);
  bool (__fastcall *updateMsaaLevel)(mce::framebuilder::FrameBuilder *this, const unsigned __int8);
  void (__fastcall *updateVSync)(mce::framebuilder::FrameBuilder *this, dragon::platform::VerticalSync);
  void (__fastcall *createMaterial)(mce::framebuilder::FrameBuilder *this, const mce::RenderMaterial *);
  void (__fastcall *evictMaterialCache)(mce::framebuilder::FrameBuilder *this);
  dragon::rendering::DeferredResult<dragon::rendering::SharedTextureHandle> *(__fastcall *createExternalTexture)(mce::framebuilder::FrameBuilder *this, dragon::rendering::DeferredResult<dragon::rendering::SharedTextureHandle> *result, std::optional<std::variant<std::monostate,dragon::platform::GLTextureWrapper,dragon::platform::WindowsTextureWrapper> >);
  void (__fastcall *updateExternalTexture)(mce::framebuilder::FrameBuilder *this, dragon::rendering::DeferredResult<dragon::rendering::SharedTextureHandle>, std::optional<std::variant<std::monostate,dragon::platform::GLTextureWrapper,dragon::platform::WindowsTextureWrapper> >, std::function<void __cdecl(dragon::rendering::SharedTextureHandle)>);
  dragon::res::ServerTexture *(__fastcall *wrapExternalTexture)(mce::framebuilder::FrameBuilder *this, dragon::res::ServerTexture *result, dragon::platform::RenderAPI, const dragon::res::TextureDescription *, void *);
  void (__fastcall *createRenderChunk)(mce::framebuilder::FrameBuilder *this, const dragon::RenderMetadata *);
  void (__fastcall *destroyRenderChunk)(mce::framebuilder::FrameBuilder *this, const dragon::RenderMetadata *);
  void (__fastcall *generateRenderChunkVertexData)(mce::framebuilder::FrameBuilder *this, RenderChunkDirectVertexData *, const std::array<RangeIndices,18> *, const gsl::span<unsigned char const ,-1> *, const unsigned __int64 *, const mce::VertexFormat *, const int *);
  void (__fastcall *generateRenderChunkIndexData)(mce::framebuilder::FrameBuilder *this, RenderChunkDirectIndexData *, const std::array<RangeIndices,18> *, const gsl::span<unsigned char const ,-1> *, const dragon::mesh::IndexSize);
  void (__fastcall *freeRenderChunkVertexData)(mce::framebuilder::FrameBuilder *this, RenderChunkDirectVertexData *);
  void (__fastcall *freeRenderChunkIndexData)(mce::framebuilder::FrameBuilder *this, RenderChunkDirectIndexData *);
  void (__fastcall *debugPrintToScreen)(mce::framebuilder::FrameBuilder *this, std::function<void __cdecl(char const *)>);
  void (__fastcall *debugDeclareSceneCamera)(mce::framebuilder::FrameBuilder *this, const mce::framebuilder::CameraDescriptionOrthographic *, const mce::framebuilder::BufferClearDescription *);
  void (__fastcall *debugDeclareSceneCamera)(mce::framebuilder::FrameBuilder *this, const mce::framebuilder::CameraDescriptionPerspective *, const mce::framebuilder::BufferClearDescription *);
  dragon::VertexBufferResourceService *(__fastcall *getVertexBufferResourceService)(mce::framebuilder::FrameBuilder *this);
  dragon::IndexBufferResourceService *(__fastcall *getIndexBufferResourceService)(mce::framebuilder::FrameBuilder *this);
  dragon::ShaderBufferResourceService *(__fastcall *getShaderBufferResourceService)(mce::framebuilder::FrameBuilder *this);
  dragon::TextureResourceService *(__fastcall *getTextureResourceService)(mce::framebuilder::FrameBuilder *this);
  bool (__fastcall *isRayTracingCapable)(mce::framebuilder::FrameBuilder *this);
  bool (__fastcall *isRayTracingEnabled)(mce::framebuilder::FrameBuilder *this);
  bool (__fastcall *isUpscalingAvailable)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *setUpscaling)(mce::framebuilder::FrameBuilder *this, bool);
  bool (__fastcall *isUpscalingEnabled)(mce::framebuilder::FrameBuilder *this);
  float (__fastcall *getUpscalingFactor)(mce::framebuilder::FrameBuilder *this);
  const gsl::basic_string_span<char const ,-1> *(__fastcall *getUpscalingInfo)(mce::framebuilder::FrameBuilder *this, const gsl::basic_string_span<char const ,-1> *result);
  void (__fastcall *custom)(mce::framebuilder::FrameBuilder *this, const std::function<void __cdecl(mce::framebuilder::bgfxbridge::EntityCreationContext const &)> *);
  LevelCullerType (__fastcall *getLevelCullerType)(mce::framebuilder::FrameBuilder *this);
  FrustumCullerType (__fastcall *getFrustumCullerType)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *clearRenderingResourcesCache)(mce::framebuilder::FrameBuilder *this);
  unsigned __int16 (__fastcall *allocatePBRTextureDataHandle)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *freePBRTextureDataHandle)(mce::framebuilder::FrameBuilder *this, const unsigned __int16);
  void (__fastcall *updatePBRData)(mce::framebuilder::FrameBuilder *this, const unsigned __int16, const mce::framebuilder::PBRTextureDataDescription *);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::gamecomponents::VrConfiguration const >,std::reference_wrapper<mce::framebuilder::LivingRoomDescription const > >);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::RenderFlameBillboardDescription const >,std::reference_wrapper<mce::framebuilder::BlitFlipbookTextureDescription const >,std::reference_wrapper<mce::framebuilder::RenderParticleDescription const >,std::reference_wrapper<mce::framebuilder::RenderPlayerVisionDescription const >,std::reference_wrapper<mce::framebuilder::RenderShadowDescription const >,std::reference_wrapper<mce::framebuilder::RenderSequenceEffectDescription const >,std::reference_wrapper<mce::framebuilder::FadeToBlackDescription const > >);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::RenderUIGamefaceDescription const >,std::reference_wrapper<mce::framebuilder::RenderUIMeshDescription const >,std::reference_wrapper<mce::framebuilder::RenderUITextDescription const >,std::reference_wrapper<mce::framebuilder::RenderUIImGuiDescription const >,std::reference_wrapper<mce::framebuilder::RenderUIVRDescription const > >);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::RenderAtmosphereDescription const >,std::reference_wrapper<mce::framebuilder::RenderCubemapDescription const >,std::reference_wrapper<mce::framebuilder::RenderEndSkyDescription const >,std::reference_wrapper<mce::framebuilder::RenderLegacyCubemapDescription const >,std::reference_wrapper<mce::framebuilder::RenderSkyDescription const >,std::reference_wrapper<mce::framebuilder::RenderStarsDescription const >,std::reference_wrapper<mce::framebuilder::RenderSunMoonDescription const >,std::reference_wrapper<mce::framebuilder::RenderWeatherDescription const > >);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::RenderMeshFallbackDescription const >,std::reference_wrapper<mce::framebuilder::RenderChunkGeometryDescription const >,std::reference_wrapper<mce::framebuilder::RenderCrackDescription const >,std::reference_wrapper<mce::framebuilder::RenderItemInHandDescription const >,std::reference_wrapper<mce::framebuilder::RenderSkinnedMeshDescription const > >);
};

# mce::GraphicsDeviceVendorProvider

struct __cppobj mce::GraphicsDeviceVendorProvider : cg::IGraphicsDeviceVendorProvider
{
};

# mce::GraphicsDeviceVendorProvider_vtbl

struct /*VFT*/ mce::GraphicsDeviceVendorProvider_vtbl
{
  void (__fastcall *~IGraphicsDeviceVendorProvider)(cg::IGraphicsDeviceVendorProvider *this);
  unsigned int (__fastcall *getVendorID)(cg::IGraphicsDeviceVendorProvider *this);
};

# mce::TransactionContainer<dragon::res::CreateTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<dragon::res::CreateTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<dragon::res::ResolvedTextureResource,mce::PerFrameHandleTracker,dragon::res::TextureDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(dragon::res::CreateTextureTransaction &)> mDeferredPayload;
  dragon::res::CreateTextureTransaction mPayload;
  gsl::not_null<dragon::TaskQueueContext *> mResourceServiceContext;
};

# mce::TransactionContainer<dragon::res::CreateTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::res::CreateTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::TransactionContainer<dragon::res::CreateReadbackTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<dragon::res::CreateReadbackTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<dragon::res::ResolvedTextureResource,mce::PerFrameHandleTracker,dragon::res::TextureDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(dragon::res::CreateReadbackTextureTransaction &)> mDeferredPayload;
  dragon::res::CreateReadbackTextureTransaction mPayload;
  gsl::not_null<dragon::TaskQueueContext *> mResourceServiceContext;
};

# mce::TransactionContainer<dragon::res::CreateReadbackTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::res::CreateReadbackTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::TransactionContainer<dragon::res::WrapApiTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<dragon::res::WrapApiTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<dragon::res::ResolvedTextureResource,mce::PerFrameHandleTracker,dragon::res::TextureDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(dragon::res::WrapApiTextureTransaction &)> mDeferredPayload;
  dragon::res::WrapApiTextureTransaction mPayload;
  gsl::not_null<dragon::TaskQueueContext *> mResourceServiceContext;
};

# mce::TransactionContainer<dragon::res::WrapApiTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::res::WrapApiTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::framebuilder::BgfxFrameBuilder::_convertPBRTextureData::__l2::<lambda_cacce45dc7de0934870abefec17b1e9d>

struct __cppobj mce::framebuilder::BgfxFrameBuilder::_convertPBRTextureData::__l2::<lambda_cacce45dc7de0934870abefec17b1e9d>
{
  mce::framebuilder::BgfxFrameBuilder *const __this;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  unsigned __int64 base;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::Block *block;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu : moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  std::atomic<moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader *> blockIndex;
  unsigned __int64 pr_blockIndexSlotsUsed;
  unsigned __int64 pr_blockIndexSize;
  unsigned __int64 pr_blockIndexFront;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *pr_blockIndexEntries;
  void *pr_blockIndexRaw;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebu
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<std::unique_ptr<dragon::frameobject::Frame<mce::framebuilder::gamecomponents::AlphaTestCracks,mce::framebuilder::gamecomponents::Atmosphere,mce::framebuilder::gamecomponents::BlendedCracksObject,mce::framebuilder::gamecomponents::EnvironmentalText,mce::framebuilder::gamecomponents::Gameface,mce::framebuilder::gamecomponents::InLevelCubeMapObject,mce::framebuilder::gamecomponents::ItemInHandObject,mce::framebuilder::gamecomponents::SceneObjectActors,mce::framebuilder::gamecomponents::TransparentItemInWorldObject,mce::framebuilder::gamecomponents::WaterHoleObject,mce::framebuilder::gamecomponents::PlayerUI,mce::framebuilder::gamecomponents::PlayerVision,mce::framebuilder::gamecomponents::OverlayUI,mce::framebuilder::gamecomponents::VrConfiguration,mce::framebuilder::gamecomponents::VrPresenceObject,mce::framebuilder::gamecomponents::LivingRoomViewFilter,mce::framebuilder::gamecomponents::LivingRoomTransitionFilter,mce::framebuilder::gamecomponents::LivingRoomSceneObject,mce::framebuilder::gamecomponents::VrFloatingUiQuad,mce::framebuilder::gamecomponents::FadeToBlackEffect,mce::framebuilder::bgfxbridge::RTXMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::VanillaMinecraftFrameRendererResources,mce::framebuilder::bgfxbridge::HolographicMinecraftFrameRendererResources>>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# mce::framebuilder::BgfxFrameBuilder::init::__l2::<lambda_90f449961bd5d2354c22d4542828d8c8>

struct __cppobj mce::framebuilder::BgfxFrameBuilder::init::__l2::<lambda_90f449961bd5d2354c22d4542828d8c8>
{
  mce::framebuilder::BgfxFrameBuilder *const __this;
};

# mce::framebuilder::FrameBuilderFactory

struct __cppobj mce::framebuilder::FrameBuilderFactory
{
};

# mce::framebuilder::declareLivingRoomTransition::__l2::<lambda_510187eb3dc8442ea2aa6572b0ed890b>

struct __cppobj mce::framebuilder::declareLivingRoomTransition::__l2::<lambda_510187eb3dc8442ea2aa6572b0ed890b>
{
  const glm::tmat4x4<float,0> *projL;
  const glm::tmat4x4<float,0> *projR;
  unsigned __int16 *viewsetId;
};

# mce::framebuilder::renderLivingroomObject::__l2::<lambda_c568e5ec2e202ef5162a80071970bf2e>

struct __cppobj mce::framebuilder::renderLivingroomObject::__l2::<lambda_c568e5ec2e202ef5162a80071970bf2e>
{
  mce::MeshContext *meshContext;
  const mce::Mesh *mesh;
  const glm::tmat4x4<float,0> *world;
  const mce::MaterialPtr *material;
  const gsl::span<mce::ServerTexture,-1> *textures;
  const glm::tvec4<float,0> *pos;
  unsigned __int16 *livingRoomViewSet;
  bool *stencilWrite;
};

# mce::framebuilder::NullFrameBuilder

struct __cppobj mce::framebuilder::NullFrameBuilder : mce::framebuilder::FrameBuilder
{
};

# mce::framebuilder::NullFrameBuilder_vtbl

struct /*VFT*/ mce::framebuilder::NullFrameBuilder_vtbl
{
  void (__fastcall *~FrameBuilder)(mce::framebuilder::FrameBuilder *this);
  bool (__fastcall *enabled)(mce::framebuilder::FrameBuilder *this);
  std::optional<dragon::platform::Statistics> *(__fastcall *getStatistics)(mce::framebuilder::FrameBuilder *this, std::optional<dragon::platform::Statistics> *result);
  bool (__fastcall *supportsRenderFeature)(mce::framebuilder::FrameBuilder *this, const mce::RenderFeature);
  bool (__fastcall *isDeviceRemoved)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *init)(mce::framebuilder::FrameBuilder *this, const std::variant<HWND__ *,std::monostate> *, const unsigned int, const unsigned int);
  bool (__fastcall *initialized)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *destroy)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *loadCoreAssets)(mce::framebuilder::FrameBuilder *this, const std::string *, std::function<std::string __cdecl(std::string const &)>);
  mce::framebuilder::AsyncLoadResult (__fastcall *loadAsyncAssets)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *startFrame)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *endFrame)(mce::framebuilder::FrameBuilder *this, mce::framebuilder::FrameBuilderContext *);
  void (__fastcall *discardFrame)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *setTerrainAtlasTexture)(mce::framebuilder::FrameBuilder *this, const mce::ClientTexture *);
  void (__fastcall *updateSurfaceParameters)(mce::framebuilder::FrameBuilder *this, const std::variant<HWND__ *,std::monostate> *);
  void (__fastcall *updateWindowSize)(mce::framebuilder::FrameBuilder *this, const unsigned int, const unsigned int);
  void (__fastcall *updateClientViewSize)(mce::framebuilder::FrameBuilder *this, const glm::tvec2<float,0> *);
  bool (__fastcall *updateMsaaLevel)(mce::framebuilder::FrameBuilder *this, const unsigned __int8);
  void (__fastcall *updateVSync)(mce::framebuilder::FrameBuilder *this, dragon::platform::VerticalSync);
  void (__fastcall *createMaterial)(mce::framebuilder::FrameBuilder *this, const mce::RenderMaterial *);
  void (__fastcall *evictMaterialCache)(mce::framebuilder::FrameBuilder *this);
  dragon::rendering::DeferredResult<dragon::rendering::SharedTextureHandle> *(__fastcall *createExternalTexture)(mce::framebuilder::FrameBuilder *this, dragon::rendering::DeferredResult<dragon::rendering::SharedTextureHandle> *result, std::optional<std::variant<std::monostate,dragon::platform::GLTextureWrapper,dragon::platform::WindowsTextureWrapper> >);
  void (__fastcall *updateExternalTexture)(mce::framebuilder::FrameBuilder *this, dragon::rendering::DeferredResult<dragon::rendering::SharedTextureHandle>, std::optional<std::variant<std::monostate,dragon::platform::GLTextureWrapper,dragon::platform::WindowsTextureWrapper> >, std::function<void __cdecl(dragon::rendering::SharedTextureHandle)>);
  dragon::res::ServerTexture *(__fastcall *wrapExternalTexture)(mce::framebuilder::FrameBuilder *this, dragon::res::ServerTexture *result, dragon::platform::RenderAPI, const dragon::res::TextureDescription *, void *);
  void (__fastcall *createRenderChunk)(mce::framebuilder::FrameBuilder *this, const dragon::RenderMetadata *);
  void (__fastcall *destroyRenderChunk)(mce::framebuilder::FrameBuilder *this, const dragon::RenderMetadata *);
  void (__fastcall *generateRenderChunkVertexData)(mce::framebuilder::FrameBuilder *this, RenderChunkDirectVertexData *, const std::array<RangeIndices,18> *, const gsl::span<unsigned char const ,-1> *, const unsigned __int64 *, const mce::VertexFormat *, const int *);
  void (__fastcall *generateRenderChunkIndexData)(mce::framebuilder::FrameBuilder *this, RenderChunkDirectIndexData *, const std::array<RangeIndices,18> *, const gsl::span<unsigned char const ,-1> *, const dragon::mesh::IndexSize);
  void (__fastcall *freeRenderChunkVertexData)(mce::framebuilder::FrameBuilder *this, RenderChunkDirectVertexData *);
  void (__fastcall *freeRenderChunkIndexData)(mce::framebuilder::FrameBuilder *this, RenderChunkDirectIndexData *);
  void (__fastcall *debugPrintToScreen)(mce::framebuilder::FrameBuilder *this, std::function<void __cdecl(char const *)>);
  void (__fastcall *debugDeclareSceneCamera)(mce::framebuilder::FrameBuilder *this, const mce::framebuilder::CameraDescriptionOrthographic *, const mce::framebuilder::BufferClearDescription *);
  void (__fastcall *debugDeclareSceneCamera)(mce::framebuilder::FrameBuilder *this, const mce::framebuilder::CameraDescriptionPerspective *, const mce::framebuilder::BufferClearDescription *);
  dragon::VertexBufferResourceService *(__fastcall *getVertexBufferResourceService)(mce::framebuilder::FrameBuilder *this);
  dragon::IndexBufferResourceService *(__fastcall *getIndexBufferResourceService)(mce::framebuilder::FrameBuilder *this);
  dragon::ShaderBufferResourceService *(__fastcall *getShaderBufferResourceService)(mce::framebuilder::FrameBuilder *this);
  dragon::TextureResourceService *(__fastcall *getTextureResourceService)(mce::framebuilder::FrameBuilder *this);
  bool (__fastcall *isRayTracingCapable)(mce::framebuilder::FrameBuilder *this);
  bool (__fastcall *isRayTracingEnabled)(mce::framebuilder::FrameBuilder *this);
  bool (__fastcall *isUpscalingAvailable)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *setUpscaling)(mce::framebuilder::FrameBuilder *this, bool);
  bool (__fastcall *isUpscalingEnabled)(mce::framebuilder::FrameBuilder *this);
  float (__fastcall *getUpscalingFactor)(mce::framebuilder::FrameBuilder *this);
  const gsl::basic_string_span<char const ,-1> *(__fastcall *getUpscalingInfo)(mce::framebuilder::FrameBuilder *this, const gsl::basic_string_span<char const ,-1> *result);
  void (__fastcall *custom)(mce::framebuilder::FrameBuilder *this, const std::function<void __cdecl(mce::framebuilder::bgfxbridge::EntityCreationContext const &)> *);
  LevelCullerType (__fastcall *getLevelCullerType)(mce::framebuilder::FrameBuilder *this);
  FrustumCullerType (__fastcall *getFrustumCullerType)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *clearRenderingResourcesCache)(mce::framebuilder::FrameBuilder *this);
  unsigned __int16 (__fastcall *allocatePBRTextureDataHandle)(mce::framebuilder::FrameBuilder *this);
  void (__fastcall *freePBRTextureDataHandle)(mce::framebuilder::FrameBuilder *this, const unsigned __int16);
  void (__fastcall *updatePBRData)(mce::framebuilder::FrameBuilder *this, const unsigned __int16, const mce::framebuilder::PBRTextureDataDescription *);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::gamecomponents::VrConfiguration const >,std::reference_wrapper<mce::framebuilder::LivingRoomDescription const > >);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::RenderFlameBillboardDescription const >,std::reference_wrapper<mce::framebuilder::BlitFlipbookTextureDescription const >,std::reference_wrapper<mce::framebuilder::RenderParticleDescription const >,std::reference_wrapper<mce::framebuilder::RenderPlayerVisionDescription const >,std::reference_wrapper<mce::framebuilder::RenderShadowDescription const >,std::reference_wrapper<mce::framebuilder::RenderSequenceEffectDescription const >,std::reference_wrapper<mce::framebuilder::FadeToBlackDescription const > >);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::RenderUIGamefaceDescription const >,std::reference_wrapper<mce::framebuilder::RenderUIMeshDescription const >,std::reference_wrapper<mce::framebuilder::RenderUITextDescription const >,std::reference_wrapper<mce::framebuilder::RenderUIImGuiDescription const >,std::reference_wrapper<mce::framebuilder::RenderUIVRDescription const > >);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::RenderAtmosphereDescription const >,std::reference_wrapper<mce::framebuilder::RenderCubemapDescription const >,std::reference_wrapper<mce::framebuilder::RenderEndSkyDescription const >,std::reference_wrapper<mce::framebuilder::RenderLegacyCubemapDescription const >,std::reference_wrapper<mce::framebuilder::RenderSkyDescription const >,std::reference_wrapper<mce::framebuilder::RenderStarsDescription const >,std::reference_wrapper<mce::framebuilder::RenderSunMoonDescription const >,std::reference_wrapper<mce::framebuilder::RenderWeatherDescription const > >);
  void (__fastcall *_insert)(mce::framebuilder::FrameBuilder *this, std::variant<std::reference_wrapper<mce::framebuilder::RenderMeshFallbackDescription const >,std::reference_wrapper<mce::framebuilder::RenderChunkGeometryDescription const >,std::reference_wrapper<mce::framebuilder::RenderCrackDescription const >,std::reference_wrapper<mce::framebuilder::RenderItemInHandDescription const >,std::reference_wrapper<mce::framebuilder::RenderSkinnedMeshDescription const > >);
};

# mce::UpdateTextureTransaction

struct __cppobj mce::UpdateTextureTransaction
{
  cg::ImageBuffer mImageBuffer;
  std::string mDebugName;
};

# mce::TransactionContainer<mce::UpdateTextureTransaction,mce::TextureResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<mce::UpdateTextureTransaction,mce::TextureResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<std::variant<std::monostate,mce::Texture,dragon::res::ClientTexture>,mce::PerFrameHandleTracker,mce::ResourceServiceTextureDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(mce::UpdateTextureTransaction &)> mDeferredPayload;
  mce::UpdateTextureTransaction mPayload;
  gsl::not_null<mce::TextureResourceServiceContext *> mResourceServiceContext;
};

# mce::TransactionContainer<mce::UpdateTextureTransaction,mce::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<mce::UpdateTextureTransaction,mce::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::TransactionContainer<mce::CreateTextureFromOwnedContainerTransaction,mce::TextureResourceService,mce::ImmediateExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<mce::CreateTextureFromOwnedContainerTransaction,mce::TextureResourceService,mce::ImmediateExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::TransactionContainer<mce::CreateTextureFromUnownedContainerTransaction,mce::TextureResourceService,mce::ImmediateExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<mce::CreateTextureFromUnownedContainerTransaction,mce::TextureResourceService,mce::ImmediateExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::TransactionContainer<mce::CreateBufferTransaction,mce::BufferResourceService,mce::ImmediateExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<mce::CreateBufferTransaction,mce::BufferResourceService,mce::ImmediateExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::Mesh::_loadRawData::__l11::<lambda_7ded43bce36df7c3aa4812568249481b>

struct __cppobj mce::Mesh::_loadRawData::__l11::<lambda_7ded43bce36df7c3aa4812568249481b>
{
  const mce::Mesh *const __this;
  unsigned __int8 *const *startIndexData;
  const gsl::basic_string_span<char const ,-1> *debugName;
};

# mce::MeshGenUtil::AttributeVisitor<glm::tvec3<float,0> >

const struct __cppobj __declspec(align(8)) mce::MeshGenUtil::AttributeVisitor<glm::tvec3<float,0> >
{
  const unsigned __int64 mExpectedSize;
  const glm::tvec3<float,0> *mBegin;
  const glm::tvec3<float,0> *mEnd;
  const glm::tvec3<float,0> mDefault;
};

# mce::MeshGenUtil::AttributeVisitor<glm::tvec3<float,0> >::Iterator

struct __cppobj mce::MeshGenUtil::AttributeVisitor<glm::tvec3<float,0> >::Iterator
{
  const mce::MeshGenUtil::AttributeVisitor<glm::tvec3<float,0> > *mAttr;
  const glm::tvec3<float,0> *mPtr;
};

# mce::MeshGenUtil::AttributeVisitor<unsigned int>

const struct __cppobj __declspec(align(8)) mce::MeshGenUtil::AttributeVisitor<unsigned int>
{
  const unsigned __int64 mExpectedSize;
  const unsigned int *mBegin;
  const unsigned int *mEnd;
  const unsigned int mDefault;
};

# mce::MeshGenUtil::AttributeVisitor<unsigned int>::Iterator

struct __cppobj mce::MeshGenUtil::AttributeVisitor<unsigned int>::Iterator
{
  const mce::MeshGenUtil::AttributeVisitor<unsigned int> *mAttr;
  const unsigned int *mPtr;
};

# mce::MeshGenUtil::AttributeVisitor<glm::tvec4<float,0> >

const struct __cppobj mce::MeshGenUtil::AttributeVisitor<glm::tvec4<float,0> >
{
  const unsigned __int64 mExpectedSize;
  const glm::tvec4<float,0> *mBegin;
  const glm::tvec4<float,0> *mEnd;
  const glm::tvec4<float,0> mDefault;
};

# mce::MeshGenUtil::AttributeVisitor<glm::tvec4<float,0> >::Iterator

struct __cppobj mce::MeshGenUtil::AttributeVisitor<glm::tvec4<float,0> >::Iterator
{
  const mce::MeshGenUtil::AttributeVisitor<glm::tvec4<float,0> > *mAttr;
  const glm::tvec4<float,0> *mPtr;
};

# mce::MeshGenUtil::AttributeVisitor<unsigned short>

const struct __cppobj __declspec(align(8)) mce::MeshGenUtil::AttributeVisitor<unsigned short>
{
  const unsigned __int64 mExpectedSize;
  const unsigned __int16 *mBegin;
  const unsigned __int16 *mEnd;
  const unsigned __int16 mDefault;
};

# mce::MeshGenUtil::AttributeVisitor<unsigned short>::Iterator

struct __cppobj mce::MeshGenUtil::AttributeVisitor<unsigned short>::Iterator
{
  const mce::MeshGenUtil::AttributeVisitor<unsigned short> *mAttr;
  const unsigned __int16 *mPtr;
};

# mce::MeshGenUtil::AttributeVisitor<glm::tvec2<float,0> >

const struct __cppobj mce::MeshGenUtil::AttributeVisitor<glm::tvec2<float,0> >
{
  const unsigned __int64 mExpectedSize;
  const glm::tvec2<float,0> *mBegin;
  const glm::tvec2<float,0> *mEnd;
  const glm::tvec2<float,0> mDefault;
};

# mce::MeshGenUtil::AttributeVisitor<glm::tvec2<float,0> >::Iterator

struct __cppobj mce::MeshGenUtil::AttributeVisitor<glm::tvec2<float,0> >::Iterator
{
  const mce::MeshGenUtil::AttributeVisitor<glm::tvec2<float,0> > *mAttr;
  const glm::tvec2<float,0> *mPtr;
};

# mce::TransactionContainer<mce::UpdateBufferTransaction,mce::BufferResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<mce::UpdateBufferTransaction,mce::BufferResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<std::variant<std::monostate,mce::Buffer,mce::ClientResourcePointer<mce::ResourcePointer<dragon::mesh::ResolvedVertexBufferResource,mce::ResourceBlockTemplate<dragon::mesh::ResolvedVertexBufferResource,mce::UncheckedHandleTracker,dragon::BufferDescription>,std::shared_ptr> >,mce::ClientResourcePointer<mce::ResourcePointer<dragon::mesh::ResolvedIndexBufferResource,mce::ResourceBlockTemplate<dragon::mesh::ResolvedIndexBufferResource,mce::UncheckedHandleTracker,dragon::BufferDescription>,std::shared_ptr> > >,mce::PerFrameHandleTracker,dragon::BufferDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(mce::UpdateBufferTransaction &)> mDeferredPayload;
  mce::UpdateBufferTransaction mPayload;
  gsl::not_null<mce::BufferResourceServiceContext *> mResourceServiceContext;
};

# mce::TransactionContainer<mce::UpdateBufferTransaction,mce::BufferResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<mce::UpdateBufferTransaction,mce::BufferResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::makeClientBuffer::__l2::<lambda_299808b9ff90504d96c16cffc75f5ef9>

struct __cppobj mce::makeClientBuffer::__l2::<lambda_299808b9ff90504d96c16cffc75f5ef9>
{
  const unsigned __int8 *mIndexSize;
  const unsigned int *count;
  std::vector<unsigned char> *data;
};

# mce::Singleton<mce::RendererResources>

struct __cppobj mce::Singleton<mce::RendererResources>
{
};

# mce::RendererResources

struct __cppobj mce::RendererResources : mce::Singleton<mce::RendererResources>
{
  mce::SwapChain mSwapChain;
};

# mce::TransactionContainer<dragon::UpdateVertexBufferTransaction,dragon::VertexBufferResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<dragon::UpdateVertexBufferTransaction,dragon::VertexBufferResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<dragon::mesh::ResolvedVertexBufferResource,mce::UncheckedHandleTracker,dragon::BufferDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(dragon::UpdateVertexBufferTransaction &)> mDeferredPayload;
  dragon::UpdateVertexBufferTransaction mPayload;
  gsl::not_null<dragon::DragonBufferResourceServiceContext *> mResourceServiceContext;
};

# mce::TransactionContainer<dragon::UpdateVertexBufferTransaction,dragon::VertexBufferResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::UpdateVertexBufferTransaction,dragon::VertexBufferResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::CreateEmptyTextureTransaction

struct __cppobj mce::CreateEmptyTextureTransaction
{
  gsl::basic_string_span<char const ,-1> mDebugName;
};

# mce::CreateTextureFromUnownedImageTransaction

struct __cppobj mce::CreateTextureFromUnownedImageTransaction
{
  mce::Image mImage;
  gsl::basic_string_span<char const ,-1> mDebugName;
};

# mce::TransactionContainer<dragon::res::CreateCubemapTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<dragon::res::CreateCubemapTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<dragon::res::ResolvedTextureResource,mce::PerFrameHandleTracker,dragon::res::TextureDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(dragon::res::CreateCubemapTransaction &)> mDeferredPayload;
  dragon::res::CreateCubemapTransaction mPayload;
  gsl::not_null<dragon::TaskQueueContext *> mResourceServiceContext;
};

# mce::TransactionContainer<dragon::res::CreateCubemapTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::res::CreateCubemapTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# mce::TransactionContainer<dragon::res::UpdateTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>

struct __cppobj mce::TransactionContainer<dragon::res::UpdateTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy> : mce::ITransactionContainer, mce::AsyncExecutionPolicy
{
  std::weak_ptr<mce::ResourceBlockTemplate<dragon::res::ResolvedTextureResource,mce::PerFrameHandleTracker,dragon::res::TextureDescription> > mResourceTransactionPointer;
  std::function<void __cdecl(dragon::res::UpdateTextureTransaction &)> mDeferredPayload;
  dragon::res::UpdateTextureTransaction mPayload;
  gsl::not_null<dragon::TaskQueueContext *> mResourceServiceContext;
};

# mce::TransactionContainer<dragon::res::UpdateTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::res::UpdateTextureTransaction,dragon::TextureResourceService,mce::AsyncExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block

struct __cppobj __declspec(align(8)) moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block
{
  $5D1684E2B9C7669BC1BEA0A2C8F213E9 ___u0;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block *next;
  std::atomic<unsigned __int64> elementsCompletelyDequeued;
  std::atomic<bool> emptyFlags[32];
  std::atomic<unsigned int> freeListRefs;
  std::atomic<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block *> freeListNext;
  std::atomic<bool> shouldBeOnFreeList;
  bool dynamicallyAllocated;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::FreeList<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block>

struct __cppobj moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::FreeList<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block>
{
  std::atomic<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block *> freeListHead;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase

struct __cppobj moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase : moodycamel::details::ConcurrentQueueProducerTypelessBase
{
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase_vtbl *__vftable /*VFT*/;
  std::atomic<unsigned __int64> tailIndex;
  std::atomic<unsigned __int64> headIndex;
  std::atomic<unsigned __int64> dequeueOptimisticCount;
  std::atomic<unsigned __int64> dequeueOvercommit;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block *tailBlock;
  bool isExplicit;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits> *parent;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>

struct __cppobj __declspec(align(8)) moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>
{
  std::atomic<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *> producerListTail;
  std::atomic<unsigned int> producerCount;
  std::atomic<unsigned __int64> initialBlockPoolIndex;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block *initialBlockPool;
  unsigned __int64 initialBlockPoolSize;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::FreeList<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block> freeList;
  std::atomic<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash *> implicitProducerHash;
  std::atomic<unsigned __int64> implicitProducerHashCount;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash initialImplicitProducerHash;
  std::array<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP,32> initialImplicitProducerHashEntries;
  std::atomic_flag implicitProducerHashResizeInProgress;
  std::atomic<unsigned int> nextExplicitConsumerId;
  std::atomic<unsigned int> globalExplicitConsumerOffset;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer : moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  unsigned __int64 nextBlockIndexCapacity;
  std::atomic<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *> blockIndex;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP

struct __cppobj moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP
{
  std::atomic<unsigned int> key;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer *value;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash

struct moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash
{
  unsigned __int64 capacity;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerKVP *entries;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducerHash *prev;
};

# MPMCQueue<PackStorage::PendingTask>

struct __cppobj MPMCQueue<PackStorage::PendingTask>
{
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits> mQueue;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry
{
  unsigned __int64 base;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block *block;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer : moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  std::atomic<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader *> blockIndex;
  unsigned __int64 pr_blockIndexSlotsUsed;
  unsigned __int64 pr_blockIndexSize;
  unsigned __int64 pr_blockIndexFront;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *pr_blockIndexEntries;
  void *pr_blockIndexRaw;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<PackStorage::PendingTask,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# MolangContextVariableMap

struct __cppobj MolangContextVariableMap
{
  MolangEvalParams *mEvalParams;
};

# MarketplaceSkinValidator

struct __cppobj MarketplaceSkinValidator
{
};

# MapExtendingRecipe

struct __cppobj MapExtendingRecipe : MultiRecipe
{
  std::vector<ItemInstance> mResults;
  Level *mLevel;
};

# MapExtendingRecipe_vtbl

struct /*VFT*/ MapExtendingRecipe_vtbl
{
  void (__fastcall *~Recipe)(Recipe *this);
  const std::vector<ItemInstance> *(__fastcall *assemble)(Recipe *this, CraftingContainer *);
  int (__fastcall *getCraftingSize)(Recipe *this);
  const RecipeIngredient *(__fastcall *getIngredient)(Recipe *this, int, int);
  const std::vector<ItemInstance> *(__fastcall *getResultItem)(Recipe *this);
  bool (__fastcall *isShapeless)(Recipe *this);
  bool (__fastcall *matches)(Recipe *this, CraftingContainer *, Level *);
  int (__fastcall *size)(Recipe *this);
  const mce::UUID *(__fastcall *getId)(Recipe *this);
  const ItemPack *(__fastcall *getItemPack)(Recipe *this);
  bool (__fastcall *isMultiRecipe)(Recipe *this);
  std::string *(__fastcall *getTypeString)(Recipe *this, std::string *result);
  bool (__fastcall *itemValidForRecipe)(Recipe *this, const ItemDescriptor *, const ItemStack *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, int, int, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *);
};

# MapCloningRecipe

struct __cppobj MapCloningRecipe : MultiRecipe
{
  std::vector<ItemInstance> mResults;
};

# MapCloningRecipe_vtbl

struct /*VFT*/ MapCloningRecipe_vtbl
{
  void (__fastcall *~Recipe)(Recipe *this);
  const std::vector<ItemInstance> *(__fastcall *assemble)(Recipe *this, CraftingContainer *);
  int (__fastcall *getCraftingSize)(Recipe *this);
  const RecipeIngredient *(__fastcall *getIngredient)(Recipe *this, int, int);
  const std::vector<ItemInstance> *(__fastcall *getResultItem)(Recipe *this);
  bool (__fastcall *isShapeless)(Recipe *this);
  bool (__fastcall *matches)(Recipe *this, CraftingContainer *, Level *);
  int (__fastcall *size)(Recipe *this);
  const mce::UUID *(__fastcall *getId)(Recipe *this);
  const ItemPack *(__fastcall *getItemPack)(Recipe *this);
  bool (__fastcall *isMultiRecipe)(Recipe *this);
  std::string *(__fastcall *getTypeString)(Recipe *this, std::string *result);
  bool (__fastcall *itemValidForRecipe)(Recipe *this, const ItemDescriptor *, const ItemStack *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, int, int, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *);
};

# MapUpgradingRecipe

struct __cppobj MapUpgradingRecipe : MultiRecipe
{
  std::vector<ItemInstance> mResults;
};

# MapUpgradingRecipe_vtbl

struct /*VFT*/ MapUpgradingRecipe_vtbl
{
  void (__fastcall *~Recipe)(Recipe *this);
  const std::vector<ItemInstance> *(__fastcall *assemble)(Recipe *this, CraftingContainer *);
  int (__fastcall *getCraftingSize)(Recipe *this);
  const RecipeIngredient *(__fastcall *getIngredient)(Recipe *this, int, int);
  const std::vector<ItemInstance> *(__fastcall *getResultItem)(Recipe *this);
  bool (__fastcall *isShapeless)(Recipe *this);
  bool (__fastcall *matches)(Recipe *this, CraftingContainer *, Level *);
  int (__fastcall *size)(Recipe *this);
  const mce::UUID *(__fastcall *getId)(Recipe *this);
  const ItemPack *(__fastcall *getItemPack)(Recipe *this);
  bool (__fastcall *isMultiRecipe)(Recipe *this);
  std::string *(__fastcall *getTypeString)(Recipe *this, std::string *result);
  bool (__fastcall *itemValidForRecipe)(Recipe *this, const ItemDescriptor *, const ItemStack *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, int, int, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *);
};

# MobEffectResponse

struct __cppobj __declspec(align(8)) MobEffectResponse : EventResponse
{
  std::string mEffect;
  float mDuration;
  int mAmplifier;
  _BYTE mTarget[2];
};

# MobEffectResponse_vtbl

struct /*VFT*/ MobEffectResponse_vtbl
{
  void (__fastcall *~EventResponse)(EventResponse *this);
  const std::string *(__fastcall *getName)(EventResponse *this);
  void (__fastcall *executeAction)(EventResponse *this, RenderParams *);
  void (__fastcall *buildSchema)(EventResponse *this, std::shared_ptr<JsonUtil::JsonSchemaObjectNode<JsonUtil::EmptyClass,EventResponseCollection> > *, const Factory<EventResponse> *);
};

# MicroBlockItem

struct __cppobj MicroBlockItem : BlockItem
{
  std::string mRealMicroName;
};

# MockUnknownBlockTypeRegistry

struct __cppobj MockUnknownBlockTypeRegistry : IUnknownBlockTypeRegistry
{
};

# MockUnknownBlockTypeRegistry_vtbl

struct /*VFT*/ MockUnknownBlockTypeRegistry_vtbl
{
  void (__fastcall *~IUnknownBlockTypeRegistry)(IUnknownBlockTypeRegistry *this);
  const Block *(__fastcall *getUnknownBlock)(IUnknownBlockTypeRegistry *this, const CompoundTag *);
};

# MobEffectResponse::buildSchema::__l2::<lambda_86ca5099377a2048758267cd78d1dde2>

struct __cppobj MobEffectResponse::buildSchema::__l2::<lambda_86ca5099377a2048758267cd78d1dde2>
{
};

# MobEffectResponse::buildSchema::__l2::<lambda_11835cea72a932cd2e13309afe41e4c3>

struct __cppobj MobEffectResponse::buildSchema::__l2::<lambda_11835cea72a932cd2e13309afe41e4c3>
{
};

# MobEffectResponse::buildSchema::__l2::<lambda_02625ef54a074bd4c6eb9b7c3d78a023>

struct __cppobj MobEffectResponse::buildSchema::__l2::<lambda_02625ef54a074bd4c6eb9b7c3d78a023>
{
};

# MobEffectResponse::buildSchema::__l2::<lambda_16d9f7939aae5b58429b30150f3b5bc0>

struct __cppobj MobEffectResponse::buildSchema::__l2::<lambda_16d9f7939aae5b58429b30150f3b5bc0>
{
  const Factory<EventResponse> *factory;
};

# MockDebugEndPoint

struct __cppobj MockDebugEndPoint : DebugEndPoint
{
};

# MockDebugEndPoint_vtbl

struct /*VFT*/ MockDebugEndPoint_vtbl
{
  void (__fastcall *~LogEndPoint)(Bedrock::LogEndPoint *this);
  void (__fastcall *log)(Bedrock::LogEndPoint *this, const char *);
  void (__fastcall *flush)(Bedrock::LogEndPoint *this);
  void (__fastcall *setEnabled)(Bedrock::LogEndPoint *this, bool);
  bool (__fastcall *isEnabled)(Bedrock::LogEndPoint *this);
  void (__fastcall *log)(ContentLogEndPoint *this, const LogArea, const LogLevel, const char *);
  void (__fastcall *contentAssert)(DebugEndPoint *this, const LogArea, const LogLevel, const char *);
};

# MutationFactorData

struct __cppobj MutationFactorData
{
  float mVariant;
  float mExtraVariant;
  float mColor;
};

# ManagedWanderingTraderComponent

struct __cppobj ManagedWanderingTraderComponent
{
};

# MingleComponent

struct __cppobj MingleComponent
{
  MingleComponent::MingleState mMingleState;
  ActorUniqueID mPartnerId;
  ActorUniqueID mPreviousPartnerId;
};

# MobEffectDefinition

struct __cppobj MobEffectDefinition
{
  float mEffectRange;
  int mEffectId;
  int mEffectTime;
  ActorFilterGroup mEntityFilter;
};

# MountTameableDefinition

struct __cppobj MountTameableDefinition
{
  int mMinTemper;
  int mMaxTemper;
  int mAttemptTemperMod;
  std::string mFeedText;
  std::string mRideText;
  DefinitionTrigger mOnTame;
  std::vector<FeedItem> mFeedItems;
  std::vector<ItemDescriptor> mAutoRejectItems;
};

# MountTamingComponent

struct __cppobj MountTamingComponent : IEntityComponent
{
  int mTemper;
  int mCounter;
  int mTemperMod;
  int mWaitCount;
};

# MoveControl

struct __cppobj MoveControl : Control
{
};

# MoveControl_vtbl

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

# MountTamingComponent::getInteraction::__l26::<lambda_f5e1c40bee70f82e9344d5ed0a0518eb>

struct __cppobj MountTamingComponent::getInteraction::__l26::<lambda_f5e1c40bee70f82e9344d5ed0a0518eb>
{
  Actor *owner;
};

# MountTamingComponent::getInteraction::__l20::<lambda_c454cdf479a8d1233d020f35a04ff69e>

struct __cppobj __declspec(align(8)) MountTamingComponent::getInteraction::__l20::<lambda_c454cdf479a8d1233d020f35a04ff69e>
{
  Actor *owner;
  Player *player;
  MountTamingComponent *const __this;
  int temperModifier;
};

# MountTameableDefinition::buildSchema::__l2::<lambda_f4f21f0c9f73ac0aa18a03857e9f16cf>

struct __cppobj MountTameableDefinition::buildSchema::__l2::<lambda_f4f21f0c9f73ac0aa18a03857e9f16cf>
{
};

# MountTameableDefinition::buildSchema::__l2::<lambda_5a2a9332c65a9935a4dd37a83976308c>

struct __cppobj MountTameableDefinition::buildSchema::__l2::<lambda_5a2a9332c65a9935a4dd37a83976308c>
{
};

# MountTameableDefinition::buildSchema::__l2::<lambda_fc1606305c0425e294491506991c3905>

struct __cppobj MountTameableDefinition::buildSchema::__l2::<lambda_fc1606305c0425e294491506991c3905>
{
};

# MountTameableDefinition::buildSchema::__l2::<lambda_967a8906638fdd4394332ccffe90a2cd>

struct __cppobj MountTameableDefinition::buildSchema::__l2::<lambda_967a8906638fdd4394332ccffe90a2cd>
{
};

# MountTameableDefinition::buildSchema::__l2::<lambda_eba82f49337c5aecf40fcc4c4e43505f>

struct __cppobj MountTameableDefinition::buildSchema::__l2::<lambda_eba82f49337c5aecf40fcc4c4e43505f>
{
};

# mobDebugEvents::__l2::<lambda_fe849e1220746f06e482c1587ca320ae>

struct __cppobj mobDebugEvents::__l2::<lambda_fe849e1220746f06e482c1587ca320ae>
{
  Json::Value *eventsData;
};

# MobEffectSystem

struct __cppobj MobEffectSystem : ITickingSystem
{
};

# MobEffectSystem_vtbl

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

# MoveControlSystem

struct __cppobj MoveControlSystem : ITickingSystem
{
};

# MoveControlSystem_vtbl

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

# MinecraftEventingFactory

struct __cppobj MinecraftEventingFactory : IMinecraftEventingFactory
{
};

# MinecraftEventingFactory_vtbl

struct /*VFT*/ MinecraftEventingFactory_vtbl
{
  void (__fastcall *~IMinecraftEventingFactory)(IMinecraftEventingFactory *this);
  std::unique_ptr<IMinecraftEventing> *(__fastcall *createUnique)(IMinecraftEventingFactory *this, std::unique_ptr<IMinecraftEventing> *result, const Core::Path *);
};

# MinecraftEventing::fireEventMobKilled::__l14::<lambda_de09dca7e7755c19f77f13a666fefd6f>

struct __cppobj MinecraftEventing::fireEventMobKilled::__l14::<lambda_de09dca7e7755c19f77f13a666fefd6f>
{
  Actor **entKiller;
  Mob *mobKilled;
};

# MinecraftEventing::registerOptionsObserver::__l2::<lambda_90a143c9cc5c1d5e8c714b00de1f1428>

struct __cppobj MinecraftEventing::registerOptionsObserver::__l2::<lambda_90a143c9cc5c1d5e8c714b00de1f1428>
{
  MinecraftEventing *const __this;
  std::shared_ptr<Options> options;
};

# MinecraftEventing::fireEventGameTypeChanged::__l2::<lambda_193ce045c715285241a63e3a750d7214>

struct __cppobj MinecraftEventing::fireEventGameTypeChanged::__l2::<lambda_193ce045c715285241a63e3a750d7214>
{
  Player **player;
  GameType *oldGameType;
  GameType *newGameType;
};

# MinecraftEventing::init::__l2::<lambda_b97e6337a8195e08856538a43f058c8a>

struct __cppobj MinecraftEventing::init::__l2::<lambda_b97e6337a8195e08856538a43f058c8a>
{
  MinecraftEventing *const __this;
};

# MoveInputHandler::tick::__l13::<lambda_4aea60ea25ceb0b8bac463d4430134a3>

struct __cppobj MoveInputHandler::tick::__l13::<lambda_4aea60ea25ceb0b8bac463d4430134a3>
{
};

# MinecraftPackets

struct __cppobj MinecraftPackets
{
};

# MapLockingRecipe

struct __cppobj MapLockingRecipe : MultiRecipe
{
  std::vector<ItemInstance> mResults;
  ActorUniqueID mOriginalMapId;
  Level *mLevel;
};

# MapLockingRecipe_vtbl

struct /*VFT*/ MapLockingRecipe_vtbl
{
  void (__fastcall *~Recipe)(Recipe *this);
  const std::vector<ItemInstance> *(__fastcall *assemble)(Recipe *this, CraftingContainer *);
  int (__fastcall *getCraftingSize)(Recipe *this);
  const RecipeIngredient *(__fastcall *getIngredient)(Recipe *this, int, int);
  const std::vector<ItemInstance> *(__fastcall *getResultItem)(Recipe *this);
  bool (__fastcall *isShapeless)(Recipe *this);
  bool (__fastcall *matches)(Recipe *this, CraftingContainer *, Level *);
  int (__fastcall *size)(Recipe *this);
  const mce::UUID *(__fastcall *getId)(Recipe *this);
  const ItemPack *(__fastcall *getItemPack)(Recipe *this);
  bool (__fastcall *isMultiRecipe)(Recipe *this);
  std::string *(__fastcall *getTypeString)(Recipe *this, std::string *result);
  bool (__fastcall *itemValidForRecipe)(Recipe *this, const ItemDescriptor *, const ItemStack *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, int, int, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *, const CompoundTag *);
  bool (__fastcall *itemsMatch)(Recipe *this, const ItemDescriptor *, const ItemDescriptor *);
};

# MemoryMappedFileAccess::MemoryMappedFileReadAccess

struct __cppobj MemoryMappedFileAccess::MemoryMappedFileReadAccess : IFileReadAccess
{
};

# MemoryMappedFileAccess::MemoryMappedFileReadAccess_vtbl

struct /*VFT*/ MemoryMappedFileAccess::MemoryMappedFileReadAccess_vtbl
{
  void (__fastcall *~IFileReadAccess)(IFileReadAccess *this);
  unsigned __int64 (__fastcall *fread)(IFileReadAccess *this, void *, unsigned __int64, unsigned __int64, void *);
};

# MemoryMappedFileAccess::MemoryMappedFileWriteAccess

struct __cppobj MemoryMappedFileAccess::MemoryMappedFileWriteAccess : IFileWriteAccess
{
};

# MemoryMappedFileAccess::MemoryMappedFileWriteAccess_vtbl

struct /*VFT*/ MemoryMappedFileAccess::MemoryMappedFileWriteAccess_vtbl
{
  void (__fastcall *~IFileWriteAccess)(IFileWriteAccess *this);
  unsigned __int64 (__fastcall *fwrite)(IFileWriteAccess *this, const void *, unsigned __int64, unsigned __int64, void *);
};

# MemoryMappedFileAccess

struct __cppobj MemoryMappedFileAccess : IFileAccess
{
  MemoryMappedFileAccess::MemoryMappedFileReadAccess mReadInterface;
  MemoryMappedFileAccess::MemoryMappedFileWriteAccess mWriteInterface;
  std::unique_ptr<FileAccessTransforms> mTransforms;
  std::unordered_map<std::string,MemoryMappedFileAccess::StreamDetails> mStreams;
  std::mutex mStreamsLock;
  std::list<MemoryMappedFileAccess::StreamHandle> mStreamHandles;
  std::mutex mStreamHandlesLock;
  IFileAccess *mInner;
};

# MemoryMappedFileAccess_vtbl

struct /*VFT*/ MemoryMappedFileAccess_vtbl
{
  void (__fastcall *~IFileAccess)(IFileAccess *this);
  void *(__fastcall *fopen)(IFileAccess *this, const Core::Path *, const std::string *);
  int (__fastcall *fclose)(IFileAccess *this, void *);
  int (__fastcall *fseek)(IFileAccess *this, void *, __int64, int);
  __int64 (__fastcall *ftell)(IFileAccess *this, void *);
  const IFileReadAccess *(__fastcall *getReadInterface)(IFileAccess *this);
  IFileWriteAccess *(__fastcall *getWriteInterface)(IFileAccess *this);
  void (__fastcall *unload)(IFileAccess *this);
};

# MinecraftCommands::initCoreEnums::__l2::<lambda_d19e92d6559400de4b6402fe709d7c83>

struct __cppobj MinecraftCommands::initCoreEnums::__l2::<lambda_d19e92d6559400de4b6402fe709d7c83>
{
  std::vector<std::pair<std::string,CommandItem>> *items;
  std::set<std::string> *itemNames;
};

# MinecraftCommands::initCoreEnums::__l2::<lambda_b830dda128c91417be840b64ca16ef62>

struct __cppobj MinecraftCommands::initCoreEnums::__l2::<lambda_b830dda128c91417be840b64ca16ef62>
{
  std::vector<std::pair<std::string,IFeature const *>> *featureNames;
};

# MinecraftCommands::initCoreEnums::__l2::<lambda_14ec40af3d43dd9c2b650d0d9a6c5d27>

struct __cppobj MinecraftCommands::initCoreEnums::__l2::<lambda_14ec40af3d43dd9c2b650d0d9a6c5d27>
{
  std::vector<std::pair<std::string,Block const *>> *blockNames;
  const BaseGameVersion *worldBaseGameVersion;
};

# MessagingCommand

struct __cppobj __declspec(align(8)) MessagingCommand : Command
{
  bool mRequireChatPerms;
  bool mRequireTellPerms;
};

# MessagingCommand_vtbl

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

# MeCommand

struct __cppobj MeCommand : MessagingCommand
{
  CommandMessage mMessage;
};

# MeCommand_vtbl

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

# MobEventCommand::InitProxy

struct __cppobj MobEventCommand::InitProxy
{
  MobEvents *mMobEvents;
};

# MobEventCommand

struct __cppobj __declspec(align(8)) MobEventCommand : Command
{
  std::string mMobEventName;
  bool mValue;
  bool mValueWasSet;
};

# MobEventCommand_vtbl

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

# MinecraftServerScriptEngine::_queueResourcePackScripts::__l4::<lambda_4f240ca2f2ead12f8a81c85dc6fb4aec>

struct __cppobj MinecraftServerScriptEngine::_queueResourcePackScripts::__l4::<lambda_4f240ca2f2ead12f8a81c85dc6fb4aec>
{
  std::reverse_iterator<std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<PackInstance> > > > *rit;
  std::string *fileContent;
  MinecraftServerScriptEngine *const __this;
};

# MolangScriptArg::<lambda_7419830b23d0795ecf277c6f261a898f>::()::__l2::Literal

struct __cppobj MolangScriptArg::<lambda_7419830b23d0795ecf277c6f261a898f>::()::__l2::Literal
{
};

# MolangScriptArg::<lambda_7419830b23d0795ecf277c6f261a898f>

struct __cppobj MolangScriptArg::<lambda_7419830b23d0795ecf277c6f261a898f>
{
};

# MolangProgramBuildState::insertJumpWithMaddAtIndex::__l18::<lambda_e02655efa5fcf9efd788aacc60a7bb90>

struct __cppobj MolangProgramBuildState::insertJumpWithMaddAtIndex::__l18::<lambda_e02655efa5fcf9efd788aacc60a7bb90>
{
  unsigned __int64 instructionToJumpTo;
};

# MolangProgramBuildState::insertJumpWithMaddAtIndex::__l16::<lambda_12999a91d24dd71fcc64aaab50855024>

struct __cppobj MolangProgramBuildState::insertJumpWithMaddAtIndex::__l16::<lambda_12999a91d24dd71fcc64aaab50855024>
{
  float mulValue;
  float addValue;
  unsigned __int64 instructionToJumpTo;
};

# MolangProgramBuildState::setReturnValue::__l2::<lambda_a58cad1e8b8cc724595008b5c66b65f5>

struct __cppobj MolangProgramBuildState::setReturnValue::__l2::<lambda_a58cad1e8b8cc724595008b5c66b65f5>
{
  float value;
};

# MolangProgramBuildState::popForEachScope::__l2::<lambda_51269e85db32ba42850b912eedda2844>

struct __cppobj MolangProgramBuildState::popForEachScope::__l2::<lambda_51269e85db32ba42850b912eedda2844>
{
};

# MolangProgramBuildState::popLoopScope::__l2::<lambda_d10843127fd822fab7460647dfc6e367>

struct __cppobj MolangProgramBuildState::popLoopScope::__l2::<lambda_d10843127fd822fab7460647dfc6e367>
{
};

# MolangProgramBuildState::pushLoopScope::__l2::<lambda_0e6a4d322a197dd24fe6704426701af0>

struct __cppobj MolangProgramBuildState::pushLoopScope::__l2::<lambda_0e6a4d322a197dd24fe6704426701af0>
{
  unsigned __int64 loopRepeatLogicInstructionIndex;
  unsigned __int64 loopCleanupInstructionIndex;
  unsigned __int64 nextStatementIndex;
};

# MolangProgramBuildState::pushValue::__l2::<lambda_c12f7950ed006bfb51a0c02f2fecddeb>

struct __cppobj MolangProgramBuildState::pushValue::__l2::<lambda_c12f7950ed006bfb51a0c02f2fecddeb>
{
  float value;
};

# MolangProgramBuildState::pushReturnValue::__l2::<lambda_e652f1e0c1c377e12bab64f63a42c35e>

struct __cppobj MolangProgramBuildState::pushReturnValue::__l2::<lambda_e652f1e0c1c377e12bab64f63a42c35e>
{
};

# moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<std::pair<std::unique_ptr<CommandOrigin>,Json::Value>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# MarkVariantDefinition

struct __cppobj MarkVariantDefinition
{
  int mMarkVariantChoice;
};

# MushroomCow

struct __cppobj MushroomCow : Animal
{
};

# MoveNode

struct __cppobj __declspec(align(8)) MoveNode : BehaviorNode
{
  unsigned __int8 mDirectionToMove;
  unsigned __int8 mSecondDirectionToMove;
  int mNumTicksToMove;
  int mNumTicksMoved;
};

# MoveNode_vtbl

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

# MoveDefinition

struct __cppobj MoveDefinition : BehaviorDefinition
{
  std::string mDirectionToMove;
  std::string mDirectionToMoveId;
  std::string mSecondDirectionToMove;
  std::string mSecondDirectionToMoveId;
  int mNumberOfTicksToMove;
  std::string mNumberOfTicksToMoveId;
};

# MoveDefinition_vtbl

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

# MoveToNode

struct __cppobj __declspec(align(8)) MoveToNode : BehaviorNode
{
  Vec3 mPosToMoveTo;
  bool mJumping;
  float mDistanceEpsilon;
};

# MoveToNode_vtbl

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

# MoveToDefinition

struct __cppobj MoveToDefinition : BehaviorDefinition
{
  Vec3 mPosToMoveTo;
  std::string mPosToMoveToId;
  float mDistanceEpsilon;
  std::string mDistanceEpsilonId;
};

# MoveToDefinition_vtbl

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

# MeleeTargetNode

struct __cppobj MeleeTargetNode : BehaviorNode
{
  std::unique_ptr<Path> mPath;
  int mTimeToRecalcPath;
  bool mTrackTarget;
  float mPathedTargetX;
  float mPathedTargetY;
  float mPathedTargetZ;
  int mAttackTime;
};

# MeleeTargetNode_vtbl

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

# MeleeTargetDefinition

struct __cppobj MeleeTargetDefinition : BehaviorDefinition
{
};

# MeleeTargetDefinition_vtbl

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

# MoveItemDefinition

struct __cppobj MoveItemDefinition : BehaviorDefinition
{
  std::string mFromContainer;
  std::string mFromContainerId;
  int mFromSlot;
  std::string mFromSlotId;
  std::string mToContainer;
  std::string mToContainerId;
  int mToSlot;
  std::string mToSlotId;
  int mItemCount;
  std::string mItemCountId;
};

# MoveItemDefinition_vtbl

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

# MolangVariablesDescription

struct __cppobj MolangVariablesDescription : ComponentDescription
{
  std::vector<MolangVariableSettings> mVariableSettings;
};

# MolangVariablesDescription_vtbl

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

# MinecartChest

struct __cppobj MinecartChest : Minecart
{
};

# MinecartChest_vtbl

struct /*VFT*/ MinecartChest_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 *destroy)(Minecart *this, const ActorDamageSource *, bool);
  MinecartType (__fastcall *getType)(Minecart *this);
  const Block *(__fastcall *getDefaultDisplayBlock)(Minecart *this);
  int (__fastcall *getDefaultDisplayData)(Minecart *this);
  int (__fastcall *getDefaultDisplayOffset)(Minecart *this);
  void (__fastcall *applyNaturalSlowdown)(Minecart *this, BlockSource *);
  void (__fastcall *_lazyInitDisplayBlock)(Minecart *this);
};

# MinecartHopper

struct __cppobj __declspec(align(8)) MinecartHopper : Minecart
{
  BlockPos mLastPosition;
};

# MinecartHopper_vtbl

struct /*VFT*/ MinecartHopper_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 *destroy)(Minecart *this, const ActorDamageSource *, bool);
  MinecartType (__fastcall *getType)(Minecart *this);
  const Block *(__fastcall *getDefaultDisplayBlock)(Minecart *this);
  int (__fastcall *getDefaultDisplayData)(Minecart *this);
  int (__fastcall *getDefaultDisplayOffset)(Minecart *this);
  void (__fastcall *applyNaturalSlowdown)(Minecart *this, BlockSource *);
  void (__fastcall *_lazyInitDisplayBlock)(Minecart *this);
};

# MinecartRideable

struct __cppobj MinecartRideable : Minecart
{
};

# MinecartRideable_vtbl

struct /*VFT*/ MinecartRideable_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 *destroy)(Minecart *this, const ActorDamageSource *, bool);
  MinecartType (__fastcall *getType)(Minecart *this);
  const Block *(__fastcall *getDefaultDisplayBlock)(Minecart *this);
  int (__fastcall *getDefaultDisplayData)(Minecart *this);
  int (__fastcall *getDefaultDisplayOffset)(Minecart *this);
  void (__fastcall *applyNaturalSlowdown)(Minecart *this, BlockSource *);
  void (__fastcall *_lazyInitDisplayBlock)(Minecart *this);
};

# Minecart::_registerLoopingSounds::__l2::<lambda_2a4349938dd09af45b9c17289d9eb34d>

struct __cppobj Minecart::_registerLoopingSounds::__l2::<lambda_2a4349938dd09af45b9c17289d9eb34d>
{
  Minecart *const __this;
};

# Minecart::_registerLoopingSounds::__l2::<lambda_a440b32d011caa938df26110a7f9f3d2>

struct __cppobj Minecart::_registerLoopingSounds::__l2::<lambda_a440b32d011caa938df26110a7f9f3d2>
{
  Minecart *const __this;
};

# Mob::pushActors::__l37::<lambda_6374c63a7fa173434339c111b3366c47>

struct __cppobj Mob::pushActors::__l37::<lambda_6374c63a7fa173434339c111b3366c47>
{
  Json::Value *root;
};

# Mob::pushActors::__l34::<lambda_7326ac025c5a1835f375b626ea06685d>

struct __cppobj Mob::pushActors::__l34::<lambda_7326ac025c5a1835f375b626ea06685d>
{
  std::vector<std::string> *entities;
};

# Mob::pushActors::__l23::<lambda_552026cfc98fbdcf2be9fc22b2b972ab>

struct __cppobj Mob::pushActors::__l23::<lambda_552026cfc98fbdcf2be9fc22b2b972ab>
{
  std::vector<std::string> *entities;
};

# Mob::swing::__l5::<lambda_ada9c11c40d68a9d32aede3602f00a4b>

struct __cppobj Mob::swing::__l5::<lambda_ada9c11c40d68a9d32aede3602f00a4b>
{
  Mob *const __this;
};

# Mob::updateWalkAnim::__l35::<lambda_571fedbca16362202d5808d0f8d77000>

struct __cppobj Mob::updateWalkAnim::__l35::<lambda_571fedbca16362202d5808d0f8d77000>
{
  Mob *const __this;
};

# Mob::updateWalkAnim::__l31::<lambda_dd996da4dcb8b96d809b51ff8b59571b>

struct __cppobj Mob::updateWalkAnim::__l31::<lambda_dd996da4dcb8b96d809b51ff8b59571b>
{
  Mob *const __this;
};

# Mob::updateWalkAnim::__l24::<lambda_122354d2e0b05542aedeb31f64b55842>

struct __cppobj Mob::updateWalkAnim::__l24::<lambda_122354d2e0b05542aedeb31f64b55842>
{
  Mob *const __this;
};

# Mob::updateWalkAnim::__l11::<lambda_5c3e179eb6eaeb62db6932942198b60a>

struct __cppobj Mob::updateWalkAnim::__l11::<lambda_5c3e179eb6eaeb62db6932942198b60a>
{
  Mob *const __this;
};

# Mob::resolveDeathLoot::__l13::<lambda_01ef5532ac8653c076d23768cb537012>

struct __cppobj Mob::resolveDeathLoot::__l13::<lambda_01ef5532ac8653c076d23768cb537012>
{
  Mob *const __this;
  const ActorDamageSource *source;
  std::vector<ItemStack> *items;
};

# Mob::normalTick::__l65::<lambda_d42954756ebfd1fbee02d2061a032b81>

struct __cppobj Mob::normalTick::__l65::<lambda_d42954756ebfd1fbee02d2061a032b81>
{
  Mob *const __this;
};

# MonsterEggBlock

struct __cppobj MonsterEggBlock : BlockLegacy
{
};

# MonsterEggBlock_vtbl

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

# MultiplyValueAmplifier

struct __cppobj __declspec(align(8)) MultiplyValueAmplifier : Amplifier
{
  float mScalar;
};

# MultiplyValueAmplifier_vtbl

struct /*VFT*/ MultiplyValueAmplifier_vtbl
{
  void (__fastcall *~Amplifier)(Amplifier *this);
  float (__fastcall *getAmount)(Amplifier *this, int, float);
  bool (__fastcall *shouldBuff)(Amplifier *this, int, int);
  int (__fastcall *getTickInterval)(Amplifier *this, int);
};

# MaterialReducerInputContainerController

struct __cppobj __declspec(align(8)) MaterialReducerInputContainerController : ContainerController
{
  bool mEnabled;
};

# MaterialReducerInputContainerController_vtbl

struct /*VFT*/ MaterialReducerInputContainerController_vtbl
{
  void (__fastcall *~ContainerController)(ContainerController *this);
  bool (__fastcall *canRemove)(ContainerController *this, int, int);
  bool (__fastcall *isItemAllowed)(ContainerController *this, const ItemStackBase *);
  bool (__fastcall *isItemFiltered)(ContainerController *this, const Recipes *, const ItemStackBase *);
  int (__fastcall *getBackgroundStyle)(ContainerController *this, int, bool);
  ItemSetType (__fastcall *_canSet)(ContainerController *this, int, const ItemStackBase *, ItemTransferAmount);
  int (__fastcall *_getAvailableSetCount)(ContainerController *this, int, const ItemStackBase *);
  bool (__fastcall *_canRemove)(ContainerController *this, int, int);
  void (__fastcall *_onItemChanged)(ContainerController *this, int);
};

# MaterialReducerOutputContainerController

struct __cppobj __declspec(align(8)) MaterialReducerOutputContainerController : ContainerController
{
  bool mIsItemAllowed;
};

# MaterialReducerOutputContainerController_vtbl

struct /*VFT*/ MaterialReducerOutputContainerController_vtbl
{
  void (__fastcall *~ContainerController)(ContainerController *this);
  bool (__fastcall *canRemove)(ContainerController *this, int, int);
  bool (__fastcall *isItemAllowed)(ContainerController *this, const ItemStackBase *);
  bool (__fastcall *isItemFiltered)(ContainerController *this, const Recipes *, const ItemStackBase *);
  int (__fastcall *getBackgroundStyle)(ContainerController *this, int, bool);
  ItemSetType (__fastcall *_canSet)(ContainerController *this, int, const ItemStackBase *, ItemTransferAmount);
  int (__fastcall *_getAvailableSetCount)(ContainerController *this, int, const ItemStackBase *);
  bool (__fastcall *_canRemove)(ContainerController *this, int, int);
  void (__fastcall *_onItemChanged)(ContainerController *this, int);
};

# MobEffect::_loadModEffects::__l10::<lambda_69187287d803d02daff70a57eeb3c7ce>

struct __cppobj MobEffect::_loadModEffects::__l10::<lambda_69187287d803d02daff70a57eeb3c7ce>
{
  std::reverse_iterator<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<PackInstance> > > > *rit;
  MobEffect *const __this;
};

# MobEffect::applyInstantaneousEffect::__l29::<lambda_0d5f061bdffe3f025203e7c82c6890ef>

struct __cppobj MobEffect::applyInstantaneousEffect::__l29::<lambda_0d5f061bdffe3f025203e7c82c6890ef>
{
  Actor **target;
  int *damage;
  InstantaneousAttributeBuff *instantBuff;
};

# MobEffect::applyInstantaneousEffect::__l29::<lambda_2fcb835c4797660649e4f873e25b55aa>

struct __cppobj MobEffect::applyInstantaneousEffect::__l29::<lambda_2fcb835c4797660649e4f873e25b55aa>
{
  Actor **target;
  const MobEffectInstance *effect;
  int *damage;
};

# MobEffect::applyInstantaneousEffect::__l42::<lambda_cfdce1976dd0519d3dda30b35bfbb8f0>

struct __cppobj MobEffect::applyInstantaneousEffect::__l42::<lambda_cfdce1976dd0519d3dda30b35bfbb8f0>
{
  Actor **target;
  const MobEffectInstance *effect;
  AttributeInstance **attribute;
  InstantaneousAttributeBuff *instantBuff;
};

# MobEffect::applyEffects::__l29::<lambda_d27b32669416c2b183928d6c3b378f17>

struct __cppobj MobEffect::applyEffects::__l29::<lambda_d27b32669416c2b183928d6c3b378f17>
{
  Actor **target;
  int *damage;
  const AttributeBuff *attributeBuffer;
};

# MeleeWeaponEnchant

struct __cppobj MeleeWeaponEnchant : Enchant
{
};

# MeleeWeaponEnchant_vtbl

struct /*VFT*/ MeleeWeaponEnchant_vtbl
{
  void (__fastcall *~Enchant)(Enchant *this);
  bool (__fastcall *isCompatibleWith)(Enchant *this, Enchant::Type);
  int (__fastcall *getMinCost)(Enchant *this, int);
  int (__fastcall *getMaxCost)(Enchant *this, int);
  int (__fastcall *getMinLevel)(Enchant *this);
  int (__fastcall *getMaxLevel)(Enchant *this);
  int (__fastcall *getDamageProtection)(Enchant *this, int, const ActorDamageSource *);
  float (__fastcall *getDamageBonus)(Enchant *this, int, const Actor *);
  void (__fastcall *doPostAttack)(Enchant *this, Actor *, Actor *, int);
  void (__fastcall *doPostHurt)(Enchant *this, ItemInstance *, Actor *, Actor *, int);
  bool (__fastcall *isMeleeDamageEnchant)(Enchant *this);
  bool (__fastcall *isProtectionEnchant)(Enchant *this);
  bool (__fastcall *isTreasureOnly)(Enchant *this);
  bool (__fastcall *isDiscoverable)(Enchant *this);
};

# MendingEnchant

struct __cppobj MendingEnchant : Enchant
{
};

# MendingEnchant_vtbl

struct /*VFT*/ MendingEnchant_vtbl
{
  void (__fastcall *~Enchant)(Enchant *this);
  bool (__fastcall *isCompatibleWith)(Enchant *this, Enchant::Type);
  int (__fastcall *getMinCost)(Enchant *this, int);
  int (__fastcall *getMaxCost)(Enchant *this, int);
  int (__fastcall *getMinLevel)(Enchant *this);
  int (__fastcall *getMaxLevel)(Enchant *this);
  int (__fastcall *getDamageProtection)(Enchant *this, int, const ActorDamageSource *);
  float (__fastcall *getDamageBonus)(Enchant *this, int, const Actor *);
  void (__fastcall *doPostAttack)(Enchant *this, Actor *, Actor *, int);
  void (__fastcall *doPostHurt)(Enchant *this, ItemInstance *, Actor *, Actor *, int);
  bool (__fastcall *isMeleeDamageEnchant)(Enchant *this);
  bool (__fastcall *isProtectionEnchant)(Enchant *this);
  bool (__fastcall *isTreasureOnly)(Enchant *this);
  bool (__fastcall *isDiscoverable)(Enchant *this);
};

# MinecartItem

struct __cppobj __declspec(align(8)) MinecartItem : Item
{
  MinecartType mCartType;
};

# MapItem::renderBiomePreviewMap::__l2::<lambda_b57d695d85cb511f7e13931f7f2d1b40>

struct __cppobj MapItem::renderBiomePreviewMap::__l2::<lambda_b57d695d85cb511f7e13931f7f2d1b40>
{
  Level *level;
  ActorUniqueID uuid;
};

# MobSpawnUtils

struct __cppobj MobSpawnUtils
{
};

# MobSpawnRules::canSpawnInConditions::__l44::<lambda_4617035bdb4f0d7f5f1e35c39234f6db>

struct __cppobj MobSpawnRules::canSpawnInConditions::__l44::<lambda_4617035bdb4f0d7f5f1e35c39234f6db>
{
  const SpawnConditions *conditions;
  const unsigned int *maxDistanceSquared;
  const MobSpawnRules *const __this;
  bool *playerInVillage;
};

# ModBlockActor

struct __cppobj __declspec(align(8)) ModBlockActor : BlockActor
{
  CompoundTag exDataTag;
  bool mTickEvent;
};

# ModBlockActor_vtbl

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

# MusicBlockActor

struct __cppobj __declspec(align(8)) MusicBlockActor : BlockActor
{
  unsigned __int8 mNote;
  bool mOn;
};

# MusicBlockActor_vtbl

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

# MobSpawnerComponentDescription

struct __cppobj MobSpawnerComponentDescription : BlockComponentDescription
{
  std::string mType;
};

# MobSpawnerComponentDescription_vtbl

struct /*VFT*/ MobSpawnerComponentDescription_vtbl
{
  void (__fastcall *~BlockComponentDescription)(BlockComponentDescription *this);
  const std::string *(__fastcall *getName)(BlockComponentDescription *this);
  void (__fastcall *initializeComponent)(BlockComponentDescription *this, EntityContext *);
  void (__fastcall *buildSchema)(BlockComponentDescription *this, std::shared_ptr<JsonUtil::JsonSchemaObjectNode<JsonUtil::EmptyClass,BlockComponentGroupDescription> > *, const BlockComponentFactory *);
  bool (__fastcall *isNetworkComponent)(BlockComponentDescription *this);
  std::unique_ptr<CompoundTag> *(__fastcall *buildNetworkTag)(BlockComponentDescription *this, std::unique_ptr<CompoundTag> *result);
  void (__fastcall *initializeFromNetwork)(BlockComponentDescription *this, const CompoundTag *);
};

# MobSpawnerComponent

struct __cppobj MobSpawnerComponent
{
  std::string mType;
};

# MovingBlock

struct __cppobj MovingBlock : ActorBlock
{
};

# MovingBlock_vtbl

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

# ModBlockPattern

const struct __cppobj ModBlockPattern
{
  std::unordered_map<char,Block const *> mBlockDefines;
  std::vector<std::string> mPattern;
  ActorDefinitionIdentifier mResultActorDefinitionIdentifier;
};

# MayPlaceOnData

struct __cppobj __declspec(align(8)) MayPlaceOnData
{
  std::vector<BlockLegacy const *> mBlock;
  std::vector<Block const *> mBlockState;
  bool mSpawnResources;
};

# MayPlaceOnComponentDescription

struct __cppobj __declspec(align(8)) MayPlaceOnComponentDescription : BlockComponentDescription
{
  Json::Value mValue;
  std::string mStringValue;
  MayPlaceOnData mData;
  bool mInit;
};

# MayPlaceOnComponentDescription_vtbl

struct /*VFT*/ MayPlaceOnComponentDescription_vtbl
{
  void (__fastcall *~BlockComponentDescription)(BlockComponentDescription *this);
  const std::string *(__fastcall *getName)(BlockComponentDescription *this);
  void (__fastcall *initializeComponent)(BlockComponentDescription *this, EntityContext *);
  void (__fastcall *buildSchema)(BlockComponentDescription *this, std::shared_ptr<JsonUtil::JsonSchemaObjectNode<JsonUtil::EmptyClass,BlockComponentGroupDescription> > *, const BlockComponentFactory *);
  bool (__fastcall *isNetworkComponent)(BlockComponentDescription *this);
  std::unique_ptr<CompoundTag> *(__fastcall *buildNetworkTag)(BlockComponentDescription *this, std::unique_ptr<CompoundTag> *result);
  void (__fastcall *initializeFromNetwork)(BlockComponentDescription *this, const CompoundTag *);
};

# MayPlaceOnComponentLoading::MayPlaceOnDataContext

struct __cppobj MayPlaceOnComponentLoading::MayPlaceOnDataContext
{
  MayPlaceOnData *data;
  IWorldRegistriesProvider *provider;
};

# MayPlaceOnComponent

struct __cppobj MayPlaceOnComponent
{
  MayPlaceOnData mData;
};

# MobSpawnerBlock

struct __cppobj MobSpawnerBlock : ActorBlock
{
};

# MobSpawnerBlock_vtbl

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

# ModMaterialType

struct __cppobj ModMaterialType
{
};

# MagmaBlock

struct __cppobj MagmaBlock : BlockLegacy
{
};

# MagmaBlock_vtbl

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

# MelonBlock

struct __cppobj MelonBlock : BlockLegacy
{
};

# MelonBlock_vtbl

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

# MetalBlock

struct __cppobj MetalBlock : BlockLegacy
{
};

# MetalBlock_vtbl

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

# MushroomBlock

struct __cppobj MushroomBlock : BushBlock
{
};

# MushroomBlock_vtbl

struct /*VFT*/ MushroomBlock_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 *);
  void (__fastcall *checkAlive)(BushBlock *this, BlockSource *, const BlockPos *);
};

# MyceliumBlock

struct __cppobj MyceliumBlock : BlockLegacy
{
};

# MyceliumBlock_vtbl

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

# moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# MainChunkSource

struct __cppobj MainChunkSource : ChunkSource
{
  std::unordered_map<ChunkPos,std::weak_ptr<LevelChunk>> mChunkMap;
};

# MainChunkSource_vtbl

struct /*VFT*/ MainChunkSource_vtbl
{
  void (__fastcall *~ChunkSource)(ChunkSource *this);
  void (__fastcall *shutdown)(ChunkSource *this);
  bool (__fastcall *isShutdownDone)(ChunkSource *this);
  std::shared_ptr<LevelChunk> *(__fastcall *getExistingChunk)(ChunkSource *this, std::shared_ptr<LevelChunk> *result, const ChunkPos *);
  std::shared_ptr<LevelChunk> *(__fastcall *getRandomChunk)(ChunkSource *this, std::shared_ptr<LevelChunk> *result, Random *);
  std::shared_ptr<LevelChunk> *(__fastcall *createNewChunk)(ChunkSource *this, std::shared_ptr<LevelChunk> *result, const ChunkPos *, ChunkSource::LoadMode);
  std::shared_ptr<LevelChunk> *(__fastcall *getOrLoadChunk)(ChunkSource *this, std::shared_ptr<LevelChunk> *result, const ChunkPos *, ChunkSource::LoadMode);
  bool (__fastcall *postProcess)(ChunkSource *this, ChunkViewSource *);
  void (__fastcall *checkAndReplaceChunk)(ChunkSource *this, ChunkViewSource *, LevelChunk *);
  void (__fastcall *loadChunk)(ChunkSource *this, LevelChunk *, bool);
  void (__fastcall *postProcessMobsAt)(ChunkSource *this, BlockSource *, int, int, Random *);
  bool (__fastcall *saveLiveChunk)(ChunkSource *this, LevelChunk *);
  void (__fastcall *hintDiscardBatchBegin)(ChunkSource *this);
  void (__fastcall *hintDiscardBatchEnd)(ChunkSource *this);
  void (__fastcall *acquireDiscarded)(ChunkSource *this, std::unique_ptr<LevelChunk,LevelChunkFinalDeleter>);
  void (__fastcall *compact)(ChunkSource *this);
  void (__fastcall *flushPendingWrites)(ChunkSource *this);
  bool (__fastcall *isWithinWorldLimit)(ChunkSource *this, const ChunkPos *);
  const std::unordered_map<ChunkPos,std::weak_ptr<LevelChunk>> *(__fastcall *getChunkMap)(ChunkSource *this);
  const std::unordered_map<ChunkPos,std::weak_ptr<LevelChunk>> *(__fastcall *getStorage)(ChunkSource *this);
  void (__fastcall *clearDeletedEntities)(ChunkSource *this);
  void (__fastcall *removeDimensionData)(ChunkSource *this, const std::unordered_set<AutomaticID<Dimension,int>> *);
  bool (__fastcall *hasChunk)(ChunkSource *this, const ChunkPos *, AutomaticID<Dimension,int>);
  bool (__fastcall *canCreateViews)(ChunkSource *this);
};

# MobSpawnInfo

struct __cppobj MobSpawnInfo
{
};

# MegaPineTreeCanopy

struct __cppobj MegaPineTreeCanopy : ITreeCanopy
{
  IntRange mHeight;
  int mRadius;
  float mRadiusModifier;
  int mCoreWidth;
  BlockDescriptor mLeafBlockDescriptor;
};

# MegaPineTreeCanopy_vtbl

struct /*VFT*/ MegaPineTreeCanopy_vtbl
{
  void (__fastcall *~ITreeCanopy)(ITreeCanopy *this);
  std::optional<BlockPos> *(__fastcall *placeCanopy)(ITreeCanopy *this, std::optional<BlockPos> *result, IBlockWorldGenAPI *, const BlockPos *, Random *, RenderParams *, const TreeHelper::TreeParams *);
  bool (__fastcall *parseTreeCanopy)(ITreeCanopy *this, const rapidjson::GenericValue<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > *, IWorldRegistriesProvider *);
};

# MegaTreeCanopy

struct __cppobj MegaTreeCanopy : ITreeCanopy
{
  IntRange mHeight;
  int mRadius;
  int mCoreWidth;
  bool mIsSimplified;
  BlockDescriptor mLeafBlockDescriptor;
};

# MegaTreeCanopy_vtbl

struct /*VFT*/ MegaTreeCanopy_vtbl
{
  void (__fastcall *~ITreeCanopy)(ITreeCanopy *this);
  std::optional<BlockPos> *(__fastcall *placeCanopy)(ITreeCanopy *this, std::optional<BlockPos> *result, IBlockWorldGenAPI *, const BlockPos *, Random *, RenderParams *, const TreeHelper::TreeParams *);
  bool (__fastcall *parseTreeCanopy)(ITreeCanopy *this, const rapidjson::GenericValue<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > *, IWorldRegistriesProvider *);
};

# MegaTreeTrunk

struct __cppobj MegaTreeTrunk : ITreeTrunk
{
  int mTrunkWidth;
  int mBaseHeight;
  int mBranchLength;
  IntRange mBranchInterval;
  float mBranchSlope;
  float mMinBranchAltitudeFactor;
  float mMaxBranchAltitudeFactor;
  BlockDescriptor mTrunkBlockDescriptor;
  ITreeCanopyWrapper mBranchCanopy;
  TreeHelper::AttachableDecoration mDecoration;
  std::vector<int> mHeightIntervals;
};

# MegaTreeTrunk_vtbl

struct /*VFT*/ MegaTreeTrunk_vtbl
{
  void (__fastcall *~ITreeTrunk)(ITreeTrunk *this);
  std::optional<BlockPos> *(__fastcall *placeTrunk)(ITreeTrunk *this, std::optional<BlockPos> *result, IBlockWorldGenAPI *, const BlockPos *, Random *, RenderParams *, const TreeHelper::TreeParams *, const ITreeCanopy *);
  bool (__fastcall *parse)(ITreeTrunk *this, const rapidjson::GenericValue<rapidjson::UTF8<char>,rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> > *, IWorldRegistriesProvider *);
};

# MobEventSetting

struct __cppobj __declspec(align(2)) MobEventSetting
{
  _BYTE mIndex[2];
  bool mEnabled;
};

# MixerLayer<Biome *,Biome *,enum BiomeTemperatureCategory>

struct __cppobj MixerLayer<Biome *,Biome *,enum BiomeTemperatureCategory> : Layer<Biome *>
{
  std::shared_ptr<Layer<Biome *> > mFirstParent;
  std::tuple<std::shared_ptr<Layer<enum BiomeTemperatureCategory> > > mMoreParents;
};

# MixerLayer<Biome *,Biome *,enum BiomeTemperatureCategory>_vtbl

struct /*VFT*/ MixerLayer<Biome *,Biome *,enum BiomeTemperatureCategory>_vtbl
{
  void (__fastcall *~LayerBase)(LayerDetails::LayerBase *this);
  void (__fastcall *init)(LayerDetails::LayerBase *this, __int64);
  LayerDetails::TransferData<Biome *> *(__fastcall *_allocateAndFill)(Layer<Biome *> *this, LayerDetails::TransferData<Biome *> *result, unsigned __int64, int, int, unsigned int, unsigned int);
  void (__fastcall *_fillArea)(MixerLayer<Biome *,Biome *,enum BiomeTemperatureCategory> *this, LayerDetails::WorkingData<Biome *,Biome *> *, int, int, int, int, int, LayerResult<enum BiomeTemperatureCategory>);
  std::tuple<int,int,unsigned int,unsigned int> *(__fastcall *_getAreaRead)(MixerLayer<Biome *,Biome *,enum BiomeTemperatureCategory> *this, std::tuple<int,int,unsigned int,unsigned int> *result, int, int, unsigned int, unsigned int);
};

# MixerLayer<Biome *,Biome *>

struct __cppobj __declspec(align(8)) MixerLayer<Biome *,Biome *> : Layer<Biome *>
{
  std::shared_ptr<Layer<Biome *> > mFirstParent;
  std::tuple<> mMoreParents;
};

# MixerLayer<Biome *,Biome *>_vtbl

struct /*VFT*/ MixerLayer<Biome *,Biome *>_vtbl
{
  void (__fastcall *~LayerBase)(LayerDetails::LayerBase *this);
  void (__fastcall *init)(LayerDetails::LayerBase *this, __int64);
  LayerDetails::TransferData<Biome *> *(__fastcall *_allocateAndFill)(Layer<Biome *> *this, LayerDetails::TransferData<Biome *> *result, unsigned __int64, int, int, unsigned int, unsigned int);
  void (__fastcall *_fillArea)(MixerLayer<Biome *,Biome *> *this, LayerDetails::WorkingData<Biome *,Biome *> *, int, int, int, int, int);
  std::tuple<int,int,unsigned int,unsigned int> *(__fastcall *_getAreaRead)(MixerLayer<Biome *,Biome *> *this, std::tuple<int,int,unsigned int,unsigned int> *result, int, int, unsigned int, unsigned int);
};

# MapItemSavedData::tickCarriedBy::__l2::<lambda_ee83a297ebe871186456d2f3ec6ccafa>

struct __cppobj MapItemSavedData::tickCarriedBy::__l2::<lambda_ee83a297ebe871186456d2f3ec6ccafa>
{
  MapItemSavedData *const __this;
};

# MockLevelStorage

struct __cppobj MockLevelStorage : LevelStorage
{
};

# MockLevelStorage_vtbl

struct /*VFT*/ MockLevelStorage_vtbl
{
  void (__fastcall *~LevelStorage)(LevelStorage *this);
  void (__fastcall *addStorageObserver)(LevelStorage *this, std::unique_ptr<LevelStorageObserver>);
  std::unique_ptr<CompoundTag> *(__fastcall *getCompoundTag)(LevelStorage *this, std::unique_ptr<CompoundTag> *result, const std::string *);
  bool (__fastcall *hasKey)(LevelStorage *this, gsl::basic_string_span<char const ,-1>);
  void (__fastcall *forEachKeyWithPrefix)(LevelStorage *this, gsl::basic_string_span<char const ,-1>, const std::function<void __cdecl(gsl::basic_string_span<char const ,-1>,gsl::basic_string_span<char const ,-1>)> *);
  bool (__fastcall *loadLevelData)(LevelStorage *this, LevelData *);
  std::unique_ptr<ChunkSource> *(__fastcall *createChunkStorage)(LevelStorage *this, std::unique_ptr<ChunkSource> *result, std::unique_ptr<ChunkSource>, StorageVersion);
  void (__fastcall *saveLevelData)(LevelStorage *this, const LevelData *);
  const Core::PathBuffer<std::string > *(__fastcall *getFullPath)(LevelStorage *this);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *saveData)(LevelStorage *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, const LevelStorageWriteBatch *);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *saveData)(LevelStorage *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, const std::string *, std::string *);
  std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *(__fastcall *deleteData)(LevelStorage *this, std::shared_ptr<Bedrock::Threading::IAsyncResult<void> > *result, const std::string *);
  void (__fastcall *syncIO)(LevelStorage *this);
  void (__fastcall *getStatistics)(LevelStorage *this, std::string *);
  bool (__fastcall *clonePlayerData)(LevelStorage *this, gsl::basic_string_span<char const ,-1>, gsl::basic_string_span<char const ,-1>);
  Core::LevelStorageResult *(__fastcall *getLevelStorageState)(LevelStorage *this, Core::LevelStorageResult *result);
  void (__fastcall *startShutdown)(LevelStorage *this);
  bool (__fastcall *isShuttingDown)(LevelStorage *this);
  bool (__fastcall *checkShutdownDone)(LevelStorage *this);
  bool (__fastcall *loadData)(LevelStorage *this, gsl::basic_string_span<char const ,-1>, std::string *);
  Core::LevelStorageResult *(__fastcall *getState)(LevelStorage *this, Core::LevelStorageResult *result);
  std::vector<SnapshotFilenameAndLength> *(__fastcall *createSnapshot)(LevelStorage *this, std::vector<SnapshotFilenameAndLength> *result, const std::string *);
  void (__fastcall *releaseSnapshot)(LevelStorage *this);
  void (__fastcall *compactStorage)(LevelStorage *this);
  void (__fastcall *syncAndSuspendStorage)(LevelStorage *this);
  void (__fastcall *resumeStorage)(LevelStorage *this);
  void (__fastcall *setFlushAllowed)(LevelStorage *this, bool);
  void (__fastcall *flushToPermanentStorage)(LevelStorage *this);
  void (__fastcall *freeCaches)(LevelStorage *this);
  void (__fastcall *setCompactionCallback)(LevelStorage *this, std::function<void __cdecl(enum CompactionStatus)>);
  void (__fastcall *setCriticalSyncSaveCallback)(LevelStorage *this, std::function<void __cdecl(void)>);
  void (__fastcall *corruptLevel)(LevelStorage *this);
};

# Minecraft::setupServerCommands::__l2::<lambda_3716b2dccd1c810b1a46cd1d3e42d0f0>

struct __cppobj Minecraft::setupServerCommands::__l2::<lambda_3716b2dccd1c810b1a46cd1d3e42d0f0>
{
  PacketSender *mPacketSender;
};

# Minecraft::{ctor}::__l2::<lambda_18da4cf2dab83490a67684c5ca90ac71>

struct __cppobj Minecraft::{ctor}::__l2::<lambda_18da4cf2dab83490a67684c5ca90ac71>
{
  Minecraft *const __this;
};

# Microsoft::WRL::ComPtr<IXMLHTTPRequest2>

struct __cppobj Microsoft::WRL::ComPtr<IXMLHTTPRequest2>
{
  IXMLHTTPRequest2 *ptr_;
};

# Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,IXMLHTTPRequest2Callback>_vtbl

struct /*VFT*/ Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,IXMLHTTPRequest2Callback>_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *OnRedirect)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, const wchar_t *);
  HRESULT (__fastcall *OnHeadersAvailable)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, unsigned int, const wchar_t *);
  HRESULT (__fastcall *OnDataAvailable)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, ISequentialStream *);
  HRESULT (__fastcall *OnResponseReceived)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, ISequentialStream *);
  HRESULT (__fastcall *OnError)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, HRESULT);
};

# Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,IXMLHTTPRequest2Callback>

struct __cppobj Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,IXMLHTTPRequest2Callback> : IXMLHTTPRequest2Callback, Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,1>
{
};

# Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,IXMLHTTPRequest2Callback>

struct __cppobj Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,IXMLHTTPRequest2Callback> : Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,IXMLHTTPRequest2Callback>, Microsoft::WRL::Details::RuntimeClassBaseT<2>, Microsoft::WRL::RuntimeClassFlags<4>, Microsoft::WRL::Details::DontUseNewUseMake
{
  _BYTE gap8;
  _BYTE gapA;
  volatile int refcount_;
};

# Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,IXMLHTTPRequest2Callback>_vtbl

struct /*VFT*/ Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,IXMLHTTPRequest2Callback>_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *OnRedirect)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, const wchar_t *);
  HRESULT (__fastcall *OnHeadersAvailable)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, unsigned int, const wchar_t *);
  HRESULT (__fastcall *OnDataAvailable)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, ISequentialStream *);
  HRESULT (__fastcall *OnResponseReceived)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, ISequentialStream *);
  HRESULT (__fastcall *OnError)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, HRESULT);
  void (__fastcall *~RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,IXMLHTTPRequest2Callback>)(Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,IXMLHTTPRequest2Callback> *this);
};

# Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,IXMLHTTPRequest2Callback>

struct __cppobj Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,IXMLHTTPRequest2Callback> : Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,IXMLHTTPRequest2Callback>
{
};

# Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,IXMLHTTPRequest2Callback>_vtbl

struct /*VFT*/ Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,IXMLHTTPRequest2Callback>_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *OnRedirect)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, const wchar_t *);
  HRESULT (__fastcall *OnHeadersAvailable)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, unsigned int, const wchar_t *);
  HRESULT (__fastcall *OnDataAvailable)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, ISequentialStream *);
  HRESULT (__fastcall *OnResponseReceived)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, ISequentialStream *);
  HRESULT (__fastcall *OnError)(IXMLHTTPRequest2Callback *this, IXMLHTTPRequest2 *, HRESULT);
  void (__fastcall *~RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,IXMLHTTPRequest2Callback>)(Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,IXMLHTTPRequest2Callback> *this);
};

# Microsoft::WRL::ComPtr<CXMLHttpRequest2Callback>

struct __cppobj Microsoft::WRL::ComPtr<CXMLHttpRequest2Callback>
{
  CXMLHttpRequest2Callback *ptr_;
};

# Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,ISequentialStream>_vtbl

struct /*VFT*/ Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,ISequentialStream>_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Read)(ISequentialStream *this, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Write)(ISequentialStream *this, const void *, unsigned int, unsigned int *);
};

# Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,ISequentialStream>

struct __cppobj Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,ISequentialStream> : ISequentialStream, Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,1>
{
};

# Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,ISequentialStream>

struct __cppobj Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,ISequentialStream> : Microsoft::WRL::Details::ImplementsHelper<Microsoft::WRL::RuntimeClassFlags<2>,0,ISequentialStream>, Microsoft::WRL::Details::RuntimeClassBaseT<2>, Microsoft::WRL::RuntimeClassFlags<4>, Microsoft::WRL::Details::DontUseNewUseMake
{
  _BYTE gap8;
  _BYTE gapA;
  volatile int refcount_;
};

# Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,ISequentialStream>_vtbl

struct /*VFT*/ Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,ISequentialStream>_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Read)(ISequentialStream *this, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Write)(ISequentialStream *this, const void *, unsigned int, unsigned int *);
  void (__fastcall *~RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,ISequentialStream>)(Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,ISequentialStream> *this);
};

# Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,ISequentialStream>

struct __cppobj Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,ISequentialStream> : Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,ISequentialStream>
{
};

# Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,ISequentialStream>_vtbl

struct /*VFT*/ Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,ISequentialStream>_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  HRESULT (__fastcall *Read)(ISequentialStream *this, void *, unsigned int, unsigned int *);
  HRESULT (__fastcall *Write)(ISequentialStream *this, const void *, unsigned int, unsigned int *);
  void (__fastcall *~RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,ISequentialStream>)(Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,1,ISequentialStream> *this);
};

# Microsoft::WRL::ComPtr<CXMLHttpRequestPostStream>

struct __cppobj Microsoft::WRL::ComPtr<CXMLHttpRequestPostStream>
{
  CXMLHttpRequestPostStream *ptr_;
};

# Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::ComPtr<IXMLHTTPRequest2> >

struct Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::ComPtr<IXMLHTTPRequest2> >
{
  Microsoft::WRL::ComPtr<IXMLHTTPRequest2> *ptr_;
};

# Microsoft::WRL::Details::ComPtrRef<Microsoft::WRL::ComPtr<IXMLHTTPRequest2> >

struct __cppobj Microsoft::WRL::Details::ComPtrRef<Microsoft::WRL::ComPtr<IXMLHTTPRequest2> > : Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::ComPtr<IXMLHTTPRequest2> >
{
};

# Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::ComPtr<CXMLHttpRequest2Callback> >

struct Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::ComPtr<CXMLHttpRequest2Callback> >
{
  Microsoft::WRL::ComPtr<CXMLHttpRequest2Callback> *ptr_;
};

# Microsoft::WRL::Details::ComPtrRef<Microsoft::WRL::ComPtr<CXMLHttpRequest2Callback> >

struct __cppobj Microsoft::WRL::Details::ComPtrRef<Microsoft::WRL::ComPtr<CXMLHttpRequest2Callback> > : Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::ComPtr<CXMLHttpRequest2Callback> >
{
};

# Microsoft::WRL::Details::MakeAllocator<CXMLHttpRequestPostStream>

struct __cppobj Microsoft::WRL::Details::MakeAllocator<CXMLHttpRequestPostStream>
{
  char *buffer_;
};

# Microsoft::WRL::Details::VerifyInterfaceHelper<2,ISequentialStream,0,0>

struct __cppobj Microsoft::WRL::Details::VerifyInterfaceHelper<2,ISequentialStream,0,0>
{
};

# Microsoft::WRL::Details::VerifyInterfaceHelper<2,IXMLHTTPRequest2Callback,0,0>

struct __cppobj Microsoft::WRL::Details::VerifyInterfaceHelper<2,IXMLHTTPRequest2Callback,0,0>
{
};

# Microsoft::WRL::Details::MakeAllocator<CXMLHttpRequest2Callback>

struct __cppobj Microsoft::WRL::Details::MakeAllocator<CXMLHttpRequest2Callback>
{
  char *buffer_;
};

# moduleUtil

struct __cppobj moduleUtil
{
};

# mh::PyConverter

struct __cppobj mh::PyConverter
{
};

# mh::EnchantData

struct mh::EnchantData
{
  int type;
  int level;
};

# Microsoft::WRL::ComPtr<IAgileReference>

struct __cppobj Microsoft::WRL::ComPtr<IAgileReference>
{
  IAgileReference *ptr_;
};

# Microsoft::WRL::AgileRef

struct __cppobj Microsoft::WRL::AgileRef : Microsoft::WRL::ComPtr<IAgileReference>
{
};

# Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::AgileRef>

struct Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::AgileRef>
{
  Microsoft::WRL::AgileRef *ptr_;
};

# Microsoft::WRL::Details::ComPtrRef<Microsoft::WRL::AgileRef>

struct __cppobj Microsoft::WRL::Details::ComPtrRef<Microsoft::WRL::AgileRef> : Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::AgileRef>
{
};

# Microsoft::WRL::Details::IsConvertible<IAgileReference *,IAgileReference *>

struct __cppobj Microsoft::WRL::Details::IsConvertible<IAgileReference *,IAgileReference *>
{
};

# Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::AgileRef const >

struct Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::AgileRef const >
{
  const Microsoft::WRL::AgileRef *ptr_;
};

# Microsoft::WRL::Details::IsSame<IAgileReference,IUnknown>

struct __cppobj Microsoft::WRL::Details::IsSame<IAgileReference,IUnknown>
{
};

# Microsoft::WRL::Details::ComPtrRef<Microsoft::WRL::AgileRef const >

struct __cppobj Microsoft::WRL::Details::ComPtrRef<Microsoft::WRL::AgileRef const > : Microsoft::WRL::Details::ComPtrRefBase<Microsoft::WRL::AgileRef const >
{
};

# Microsoft::WRL::Details::IsSame<IAgileReference,IInspectable>

struct __cppobj Microsoft::WRL::Details::IsSame<IAgileReference,IInspectable>
{
};

# Manifest

struct __cppobj Manifest : std::enable_shared_from_this<Manifest>
{
  Manifest_vtbl *__vftable /*VFT*/;
  bool _loaded;
  std::string _manifestRoot;
  std::string _packageUrl;
  std::string _version;
  std::string _engineVer;
  std::unordered_map<std::string,std::shared_ptr<Manifest::AssetRaw>> _assets;
  Json::Value _json;
};

# Manifest_vtbl

struct /*VFT*/ Manifest_vtbl
{
  void (__fastcall *~Manifest)(Manifest *this);
};

# Manifest::AssetRaw

struct __cppobj Manifest::AssetRaw
{
  std::string md5;
  std::string md5Check;
  std::string path;
  bool compressed;
  int size;
  std::string pathUrl;
};

# Manifest::AssetDiffRaw

struct __cppobj __declspec(align(8)) Manifest::AssetDiffRaw
{
  std::shared_ptr<Manifest::AssetRaw> asset;
  Manifest::DiffType type;
};

# MobileAuthenticateGuideScreenController::{ctor}::__l2::<lambda_fc616ba13f24e674324d3f60ee81b34a>

struct __cppobj MobileAuthenticateGuideScreenController::{ctor}::__l2::<lambda_fc616ba13f24e674324d3f60ee81b34a>
{
  MobileAuthenticateGuideScreenController *const __this;
};

# MobileAuthenticateGuideScreenController::{ctor}::__l2::<lambda_0fb5922335c7d35e37b6e6164c9b0afa>

struct __cppobj MobileAuthenticateGuideScreenController::{ctor}::__l2::<lambda_0fb5922335c7d35e37b6e6164c9b0afa>
{
  MobileAuthenticateGuideScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_583b15c322f31dbdeeeb67fc9411cbc5>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_583b15c322f31dbdeeeb67fc9411cbc5>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_0def2f2e70391c743d45520f58bc6d75>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_0def2f2e70391c743d45520f58bc6d75>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_6a995b45276ec69bd86a4c3fb0389a46>

struct __cppobj __declspec(align(8)) MobileAuthenticateScreenController::_init::__l2::<lambda_6a995b45276ec69bd86a4c3fb0389a46>
{
  MobileAuthenticateScreenController *const __this;
  MobileAuthenticateScreenController::_init::__l2::<lambda_583b15c322f31dbdeeeb67fc9411cbc5> numberChecker;
  MobileAuthenticateScreenController::_init::__l2::<lambda_0def2f2e70391c743d45520f58bc6d75> codeChecker;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_f5c6bc6bbd0b02b06911fbec3715d0ab>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_f5c6bc6bbd0b02b06911fbec3715d0ab>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_558f4f7074539f4220ca09a5e35fe4cf>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_558f4f7074539f4220ca09a5e35fe4cf>
{
  MobileAuthenticateScreenController::_init::__l2::<lambda_583b15c322f31dbdeeeb67fc9411cbc5> numberChecker;
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_2394e3a35046ad3f4981bfe2cb5e13ac>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_2394e3a35046ad3f4981bfe2cb5e13ac>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_d0b040993f3224011418b1320161740e>::()::__l2::<lambda_b72d7e485f6793728f71cd0df3fe86de>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_d0b040993f3224011418b1320161740e>::()::__l2::<lambda_b72d7e485f6793728f71cd0df3fe86de>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_10bcfcc587a20e0c5d64a44306015a05>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_10bcfcc587a20e0c5d64a44306015a05>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_359b4e50d3c468f7aaff7b25478ae771>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_359b4e50d3c468f7aaff7b25478ae771>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_5cbd6b4b09b2a85c3594bcb4ff2a4a97>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_5cbd6b4b09b2a85c3594bcb4ff2a4a97>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::setupCallbacksForStringOption::__l5::<lambda_de2524f3d6cca65bdb8e2f0bf812e8fd>

struct __cppobj MobileAuthenticateScreenController::setupCallbacksForStringOption::__l5::<lambda_de2524f3d6cca65bdb8e2f0bf812e8fd>
{
  std::function<bool __cdecl(void)> isEnabled;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_1babf32fcb213493dd23ebb229b4a4d9>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_1babf32fcb213493dd23ebb229b4a4d9>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_ed87c046a4d7775ae8764ee8705e4332>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_ed87c046a4d7775ae8764ee8705e4332>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_c4bcbde455ec819bec20786edb5078bc>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_c4bcbde455ec819bec20786edb5078bc>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_22a324c76b77aadf78659146b9d105f7>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_22a324c76b77aadf78659146b9d105f7>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_a2c47721143309658441bc7e1b6859f4>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_a2c47721143309658441bc7e1b6859f4>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_d0b040993f3224011418b1320161740e>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_d0b040993f3224011418b1320161740e>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::setupCallbacksForStringOption::__l2::<lambda_ce4d6849315eaebe2ff4589c75b592d4>

struct __cppobj MobileAuthenticateScreenController::setupCallbacksForStringOption::__l2::<lambda_ce4d6849315eaebe2ff4589c75b592d4>
{
  std::function<void __cdecl(std::string const &)> setValue;
  std::function<bool __cdecl(std::string const &)> finishedValidator;
  std::function<bool __cdecl(void)> isEnabled;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_56a1f84adffed7e8391ca31c29dbcab8>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_56a1f84adffed7e8391ca31c29dbcab8>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_29b09b14b19ece4e728b1f235ddaa792>

struct __cppobj __declspec(align(8)) MobileAuthenticateScreenController::_init::__l2::<lambda_29b09b14b19ece4e728b1f235ddaa792>
{
  MobileAuthenticateScreenController *const __this;
  MobileAuthenticateScreenController::_init::__l2::<lambda_583b15c322f31dbdeeeb67fc9411cbc5> numberChecker;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_87d354f095834b06cf3bd1ddb9c715ba>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_87d354f095834b06cf3bd1ddb9c715ba>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_642068e071ac4901a3a1ca16745f3ef4>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_642068e071ac4901a3a1ca16745f3ef4>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_7b75a8e2ac27e78622a88588cbf1a0c9>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_7b75a8e2ac27e78622a88588cbf1a0c9>
{
  MobileAuthenticateScreenController *const __this;
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_36ea35c9e71c051a6c09f77e70f4fda8>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_36ea35c9e71c051a6c09f77e70f4fda8>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_aa13eb56edea99b317ccae3553b3dbb9>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_aa13eb56edea99b317ccae3553b3dbb9>
{
};

# MobileAuthenticateScreenController::_init::__l2::<lambda_f5c6bc6bbd0b02b06911fbec3715d0ab>::()::__l2::<lambda_19e399832000ae85d0b59820b4166f03>

struct __cppobj MobileAuthenticateScreenController::_init::__l2::<lambda_f5c6bc6bbd0b02b06911fbec3715d0ab>::()::__l2::<lambda_19e399832000ae85d0b59820b4166f03>
{
  MobileAuthenticateScreenController *const __this;
};

# MicroProfileConditionalScopeHandler

struct __cppobj MicroProfileConditionalScopeHandler
{
  unsigned __int64 nToken;
  unsigned __int64 nTick;
};

# MicroProfileThreadInfo

struct __cppobj MicroProfileThreadInfo
{
  unsigned int nIsLocal;
  unsigned int pid;
  unsigned int tid;
  const char *pThreadModule;
  const char *pProcessModule;
};

# MicroProfileScopeHandler

struct __cppobj MicroProfileScopeHandler
{
  unsigned __int64 nToken;
  unsigned __int64 nTick;
};

# MicroProfileScopeGpuHandler

struct __cppobj MicroProfileScopeGpuHandler
{
  unsigned __int64 nToken;
  MicroProfileThreadLogGpu *pLog;
  unsigned __int64 nTick;
};

# MagicSniffer::FrozenEvent

struct __cppobj MagicSniffer::FrozenEvent
{
  unsigned __int64 frame;
  long double timestamp;
  long double duration;
};

# ModBlockActor::tick::__l5::<lambda_2b34e03ea01927da46a77a975843cb21>

struct __cppobj ModBlockActor::tick::__l5::<lambda_2b34e03ea01927da46a77a975843cb21>
{
  ModBlockActor *const __this;
  BlockSource *region;
};

# MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_63eac500dbc18018f47aa8fdc32fe810>

struct __cppobj MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_63eac500dbc18018f47aa8fdc32fe810>
{
};

# MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_304841a5e31080ef29179b9a7317fb5a>

struct __cppobj MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_304841a5e31080ef29179b9a7317fb5a>
{
};

# MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_7a88b8663a6e151f3aeb99b212b01f4c>

struct __cppobj MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_7a88b8663a6e151f3aeb99b212b01f4c>
{
};

# MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_dd72805b67dd8f49e109a113623339da>

struct __cppobj MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_dd72805b67dd8f49e109a113623339da>
{
};

# MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_9c1d102bd5bc43842de9f168c365d8b2>

struct __cppobj MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_9c1d102bd5bc43842de9f168c365d8b2>
{
};

# MayPlaceOnComponentDescription::buildSchema::__l2::<lambda_413a9e151d5dab7e23a15876009259aa>

struct __cppobj MayPlaceOnComponentDescription::buildSchema::__l2::<lambda_413a9e151d5dab7e23a15876009259aa>
{
  const BlockComponentFactory *factory;
};

# MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_c1e4fc9dd503b0981682a821c3fdf752>

struct __cppobj MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_c1e4fc9dd503b0981682a821c3fdf752>
{
};

# MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_3b217f220fc95c9d977d4480a65dac87>

struct __cppobj MayPlaceOnComponentDescription::_buildSchema::__l2::<lambda_a3efd8ad788fdb3290430567edf877e2>::()::__l2::<lambda_3b217f220fc95c9d977d4480a65dac87>
{
};

# MobSpawnerComponentDescription::buildSchema::__l2::<lambda_0ba63619d6492b5f52cd5897fba678e2>

struct __cppobj MobSpawnerComponentDescription::buildSchema::__l2::<lambda_0ba63619d6492b5f52cd5897fba678e2>
{
};

# MobSpawnerComponentDescription::buildSchema::__l2::<lambda_6726c2b412d2f1de8cde2f22be028ebf>

struct __cppobj MobSpawnerComponentDescription::buildSchema::__l2::<lambda_6726c2b412d2f1de8cde2f22be028ebf>
{
  const BlockComponentFactory *factory;
};

# ModBlock::playerDestroy::__l2::<lambda_1b9e8a8faba4adb2b787c7ca137f236f>

struct __cppobj ModBlock::playerDestroy::__l2::<lambda_1b9e8a8faba4adb2b787c7ca137f236f>
{
  Player *player;
  const Block *block;
  const BlockPos *pos;
};

# ModBlock::use::__l8::<lambda_e6688747adcb44932b26956a1dc62cae>

struct __cppobj ModBlock::use::__l8::<lambda_e6688747adcb44932b26956a1dc62cae>
{
  Player *player;
  const Block *blockdata;
  const BlockPos *pos;
};

# ModBlockPattern::trySpawn::__l24::<lambda_abb75530dc14b533ba864ad88a65b9a0>

struct __cppobj ModBlockPattern::trySpawn::__l24::<lambda_abb75530dc14b533ba864ad88a65b9a0>
{
  const BlockPos *blockPos;
  const ModBlockPattern *const __this;
  Actor **added;
  BlockSource *blockSource;
};

# ModBlockPattern::trySpawn::__l12::<lambda_c33feb29bff822ed89e5fdecfdd5cdf7>

struct __cppobj ModBlockPattern::trySpawn::__l12::<lambda_c33feb29bff822ed89e5fdecfdd5cdf7>
{
  const BlockPos *blockPos;
  const ModBlockPattern *const __this;
  BlockSource *blockSource;
};

# MemoryStreamBuffer

struct __cppobj MemoryStreamBuffer : std::streambuf
{
  const char *mBase;
  const unsigned __int64 mSize;
};

# MemoryStreamBuffer_vtbl

struct /*VFT*/ MemoryStreamBuffer_vtbl
{
  void (__fastcall *~basic_streambuf<char,std::char_traits<char> >)(std::streambuf *this);
  void (__fastcall *_Lock)(std::streambuf *this);
  void (__fastcall *_Unlock)(std::streambuf *this);
  int (__fastcall *overflow)(std::streambuf *this, int);
  int (__fastcall *pbackfail)(std::streambuf *this, int);
  __int64 (__fastcall *showmanyc)(std::streambuf *this);
  int (__fastcall *underflow)(std::streambuf *this);
  int (__fastcall *uflow)(std::streambuf *this);
  __int64 (__fastcall *xsgetn)(std::streambuf *this, char *, __int64);
  __int64 (__fastcall *xsputn)(std::streambuf *this, const char *, __int64);
  std::fpos<_Mbstatet> *(__fastcall *seekoff)(std::streambuf *this, std::fpos<_Mbstatet> *result, __int64, int, int);
  std::fpos<_Mbstatet> *(__fastcall *seekpos)(std::streambuf *this, std::fpos<_Mbstatet> *result, std::fpos<_Mbstatet>, int);
  std::streambuf *(__fastcall *setbuf)(std::streambuf *this, char *, __int64);
  int (__fastcall *sync)(std::streambuf *this);
  void (__fastcall *imbue)(std::streambuf *this, const std::locale *);
};

# MemoryStream

struct __cppobj MemoryStream : MemoryStreamBuffer, std::istream
{
};

# MemoryStream_vtbl

struct /*VFT*/ MemoryStream_vtbl
{
  void (__fastcall *~basic_streambuf<char,std::char_traits<char> >)(std::streambuf *this);
  void (__fastcall *_Lock)(std::streambuf *this);
  void (__fastcall *_Unlock)(std::streambuf *this);
  int (__fastcall *overflow)(std::streambuf *this, int);
  int (__fastcall *pbackfail)(std::streambuf *this, int);
  __int64 (__fastcall *showmanyc)(std::streambuf *this);
  int (__fastcall *underflow)(std::streambuf *this);
  int (__fastcall *uflow)(std::streambuf *this);
  __int64 (__fastcall *xsgetn)(std::streambuf *this, char *, __int64);
  __int64 (__fastcall *xsputn)(std::streambuf *this, const char *, __int64);
  std::fpos<_Mbstatet> *(__fastcall *seekoff)(std::streambuf *this, std::fpos<_Mbstatet> *result, __int64, int, int);
  std::fpos<_Mbstatet> *(__fastcall *seekpos)(std::streambuf *this, std::fpos<_Mbstatet> *result, std::fpos<_Mbstatet>, int);
  std::streambuf *(__fastcall *setbuf)(std::streambuf *this, char *, __int64);
  int (__fastcall *sync)(std::streambuf *this);
  void (__fastcall *imbue)(std::streambuf *this, const std::locale *);
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry
{
  unsigned __int64 base;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::Block *block;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer : moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  std::atomic<moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader *> blockIndex;
  unsigned __int64 pr_blockIndexSlotsUsed;
  unsigned __int64 pr_blockIndexSize;
  unsigned __int64 pr_blockIndexFront;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *pr_blockIndexEntries;
  void *pr_blockIndexRaw;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::IndexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry
{
  unsigned __int64 base;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::Block *block;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer : moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  std::atomic<moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader *> blockIndex;
  unsigned __int64 pr_blockIndexSlotsUsed;
  unsigned __int64 pr_blockIndexSize;
  unsigned __int64 pr_blockIndexFront;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *pr_blockIndexEntries;
  void *pr_blockIndexRaw;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::mesh::details::VertexBufferHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# mce::DebugResourceServiceTracker<dragon::TextureResourceService>

struct __cppobj mce::DebugResourceServiceTracker<dragon::TextureResourceService>
{
  dragon::TextureResourceService *mResourceService;
};

# moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry
{
  unsigned __int64 base;
  moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::Block *block;
};

# moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer : moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  std::atomic<moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader *> blockIndex;
  unsigned __int64 pr_blockIndexSlotsUsed;
  unsigned __int64 pr_blockIndexSize;
  unsigned __int64 pr_blockIndexFront;
  moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *pr_blockIndexEntries;
  void *pr_blockIndexRaw;
};

# moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<std::function<void __cdecl(dragon::rendering::RenderContext &)>,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# mce::TransactionContainer<dragon::res::CreatePoolTextureTransaction,dragon::TextureResourceService,mce::ImmediateExecutionPolicy>_vtbl

struct /*VFT*/ mce::TransactionContainer<dragon::res::CreatePoolTextureTransaction,dragon::TextureResourceService,mce::ImmediateExecutionPolicy>_vtbl
{
  void (__fastcall *~ITransactionContainer)(mce::ITransactionContainer *this);
  std::unique_ptr<mce::IDeferredDebugUpdate> *(__fastcall *apply)(mce::ITransactionContainer *this, std::unique_ptr<mce::IDeferredDebugUpdate> *result);
};

# moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > const >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry
{
  unsigned __int64 base;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::Block *block;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer

struct __cppobj moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer : moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase
{
  std::atomic<moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader *> blockIndex;
  unsigned __int64 pr_blockIndexSlotsUsed;
  unsigned __int64 pr_blockIndexSize;
  unsigned __int64 pr_blockIndexFront;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *pr_blockIndexEntries;
  void *pr_blockIndexRaw;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl

struct /*VFT*/ moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer_vtbl
{
  void (__fastcall *~ProducerBase)(moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ProducerBase *this);
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<std::optional<dragon::rendering::details::BufferHandleTypeWrapper<dragon::rendering::details::TextureHandleTypeKey,unsigned __int64> >,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexHeader
{
  unsigned __int64 size;
  std::atomic<unsigned __int64> front;
  moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ExplicitProducer::BlockIndexEntry *entries;
  void *prev;
};

# moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry

struct moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry
{
  std::atomic<unsigned __int64> key;
  std::atomic<moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::Block *> value;
};

# moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader

struct moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader
{
  unsigned __int64 capacity;
  std::atomic<unsigned __int64> tail;
  moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry *entries;
  moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexEntry **index;
  moodycamel::ConcurrentQueue<dragon::res::ServerTexture,moodycamel::ConcurrentQueueDefaultTraits>::ImplicitProducer::BlockIndexHeader *prev;
};

# MaterialReducerContainerManagerModel

struct __cppobj __declspec(align(8)) MaterialReducerContainerManagerModel : ContainerManagerModel
{
  BlockPos mBlockPos;
};

# MaterialReducerContainerManagerModel_vtbl

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

# MaterialReducerContainerManagerController

struct __cppobj MaterialReducerContainerManagerController : ContainerManagerController
{
  std::weak_ptr<MaterialReducerContainerManagerModel> mModel;
  std::unique_ptr<CraftableCompounds> mCraftableCompounds;
  std::unique_ptr<BlockReducer> mBlockReducer;
  bool mObservingContainers;
  const SlotData mCreatedItemOutputSlot;
};

# MaterialReducerContainerManagerController_vtbl

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

# MaterialReducerScreenController

struct __cppobj MaterialReducerScreenController : ContainerScreenController
{
  std::shared_ptr<MaterialReducerContainerManagerController> mManagerController;
};

# MaterialReducerScreenController_vtbl

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

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_432570f83374fe55b201ed37433f5569>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_432570f83374fe55b201ed37433f5569>
{
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_9fefbb8b4e27755c0216ec30dc932b28>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_9fefbb8b4e27755c0216ec30dc932b28>
{
  unsigned int placeAllTakeAllButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_9c80462bbde74d2d5b60aa9a612ba744>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_9c80462bbde74d2d5b60aa9a612ba744>
{
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_c2f49f2dffa1050d36829e30c223a401>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_c2f49f2dffa1050d36829e30c223a401>
{
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_5c8ef6556603e1a739b7f94f586aaf2f>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_5c8ef6556603e1a739b7f94f586aaf2f>
{
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_b868ad6ebbb2b65330c80884469cb1f2>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_b868ad6ebbb2b65330c80884469cb1f2>
{
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_f61b94bf5b6a0a0cdf262dd1095bab12>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_f61b94bf5b6a0a0cdf262dd1095bab12>
{
  unsigned int placeAllTakeAllButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_a7f007ed187da0a37566da32110c3c14>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_a7f007ed187da0a37566da32110c3c14>
{
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_8652539b0c53aa7611f18e3620f1a687>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_8652539b0c53aa7611f18e3620f1a687>
{
  unsigned int placeAllTakeAllButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_80c9e5624e1f07f475d030c24fe54f2d>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_80c9e5624e1f07f475d030c24fe54f2d>
{
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_5a442b50d792b7ac2d3cc142c547b400>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_5a442b50d792b7ac2d3cc142c547b400>
{
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_2a587d1e0e4b32f6002d5174a6101af4>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_2a587d1e0e4b32f6002d5174a6101af4>
{
  MaterialReducerScreenController *const __this;
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_cd70ecab9084a880a761b3165e6077ec>

struct __cppobj __declspec(align(8)) MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_cd70ecab9084a880a761b3165e6077ec>
{
  MaterialReducerScreenController *const __this;
  unsigned int placeAllTakeAllButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_da8b3d8c036799096de98b7b6d054014>

struct __cppobj __declspec(align(8)) MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_da8b3d8c036799096de98b7b6d054014>
{
  MaterialReducerScreenController *const __this;
  unsigned int placeAllTakeAllButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_2582ea278c9c4210da2365584c234b62>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_2582ea278c9c4210da2365584c234b62>
{
  MaterialReducerScreenController *const __this;
  unsigned int coalesceButtonId;
  unsigned int placeAllTakeAllButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_4cbb2ea031ad832f77ae4984b9e2bcbe>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_4cbb2ea031ad832f77ae4984b9e2bcbe>
{
  MaterialReducerScreenController *const __this;
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_24114f9e5c9938031d01d6d0f2d5ffdb>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_24114f9e5c9938031d01d6d0f2d5ffdb>
{
  MaterialReducerScreenController *const __this;
  unsigned int placeAllTakeAllButtonId;
  unsigned int coalesceButtonId;
};

# MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_4eb43c078b13fe468aa15d72294ed509>

struct __cppobj MaterialReducerScreenController::_registerStateMachine::__l2::<lambda_4eb43c078b13fe468aa15d72294ed509>
{
  MaterialReducerScreenController *const __this;
};

# MaterialReducerScreenController::_registerBindings::__l2::<lambda_cf7906cff278501ab92c6a5a83564541>

struct __cppobj MaterialReducerScreenController::_registerBindings::__l2::<lambda_cf7906cff278501ab92c6a5a83564541>
{
  MaterialReducerScreenController *const __this;
};

# MountTamingSystem

struct __cppobj MountTamingSystem : ITickingSystem
{
};

# MountTamingSystem_vtbl

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

# MeleeAttackDefinition

struct __cppobj __declspec(align(8)) MeleeAttackDefinition : BaseGoalDefinition
{
  bool mAttackOnce;
  bool mRequireCompletePath;
  bool mTrackTarget;
  int mRandomStopInterval;
  float mCooldownTime;
  float mMinPathTime;
  float mMaxPathTime;
  float mPathFailTimeIncrease;
  float mInnerBoundaryTimeIncrease;
  float mOuterBoundaryTimeIncrease;
  float mPathInnerBoundary;
  float mPathOuterBoundary;
  float mMeleeFov;
  float mMaxRotationX;
  float mMaxHeadRotationY;
  float mReachMultiplier;
  float mSpeedMultiplier;
  std::string mAttackTypes;
  DefinitionTrigger mOnAttack;
  bool mSetPersistent;
};

# MeleeAttackDefinition_vtbl

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

# MeleeAttackGoal

struct __cppobj __declspec(align(8)) MeleeAttackGoal : Goal
{
  Mob *mMob;
  TempEPtr<Actor> mTarget;
  bool mAttackOnce;
  bool mHasAttacked;
  bool mRequireCompletePath;
  bool mTrackTarget;
  int mRandomStopInterval;
  int mAttackTicks;
  int mCooldownTicks;
  int mMinPathTicks;
  int mMaxPathTicks;
  int mTicksToRecalculatePath;
  int mPathFailTickIncrease;
  int mInnerBoundaryTickIncrease;
  int mOuterBoundaryTickIncrease;
  float mPathInnerBoundarySq;
  float mPathOuterBoundarySq;
  float mMeleeFov;
  float mMaxRotationX;
  float mMaxHeadRotationY;
  float mReachMultiplier;
  float mSpeedMultiplier;
  std::unique_ptr<Path> mPath;
  Vec3 mPathTarget;
  _BYTE mAttackTypes[4];
  DefinitionTrigger mOnAttack;
  bool mSetPersistent;
};

# MeleeAttackGoal_vtbl

struct /*VFT*/ MeleeAttackGoal_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>);
  void (__fastcall *_attemptMoveToTarget)(MeleeAttackGoal *this, Actor *);
  void (__fastcall *_attemptAttackTarget)(MeleeAttackGoal *this, Actor *, float, float, float);
};

# MoveTowardsTargetGoal

struct __cppobj __declspec(align(8)) MoveTowardsTargetGoal : Goal
{
  TempEPtr<Actor> mTarget;
  Mob *mMob;
  float mSpeedModifier;
  float mWithin;
  Vec3 mWantedPosition;
};

# MoveTowardsTargetGoal_vtbl

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

# MoveToPOIGoal

struct __cppobj MoveToPOIGoal : BaseMoveToGoal
{
  POIType mPOIType;
  AABB mPOIBoundingBox;
  bool mUsingBoundingBox;
  bool mRequireSameY;
  std::unique_ptr<Path> mPath;
};

# MoveToPOIGoal_vtbl

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

# MakeLoveGoal

struct __cppobj __declspec(align(8)) MakeLoveGoal : Goal
{
  VillagerBase *mVillager;
  int mLoveMakingTime;
};

# MakeLoveGoal_vtbl

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

# MingleGoal

struct __cppobj __declspec(align(8)) MingleGoal : MoveToPOIGoal
{
  int mCooldownTicks;
  int mCooldownTicksMax;
  int mMingleTicks;
  int mMingleTicksMax;
  int mAvailableTicks;
  int mAvailableTicksMax;
  int mSpeakInterval;
  ActorDefinitionIdentifier mDesiredPartnerType;
  float mMingleDistanceSquared;
};

# MingleGoal_vtbl

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

# MountPathingGoal

struct __cppobj MountPathingGoal : Goal
{
  TempEPtr<Actor> mTarget;
  float mSpeed;
  float mTargetDistSqr;
  bool mTrackTarget;
  int mTimeToRecalcPath;
  Mob *mMob;
};

# MountPathingGoal_vtbl

struct /*VFT*/ MountPathingGoal_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>);
  float (__fastcall *_getAttackReachSqr)(MountPathingGoal *this);
};

# MoveIndoorsGoal

struct __cppobj MoveIndoorsGoal : Goal
{
  bool mUsingPOI;
  bool mPathingInvalid;
  BlockPos mInsidePos;
  BlockPos mStartPos;
  AABB mPOIBoundingBox;
  Tick mCooldownTimer;
  const Tick mCooldownTimeoutTime;
  float mSpeedModifier;
  Mob *mMob;
};

# MoveIndoorsGoal_vtbl

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

# MoveThroughVillageGoal

struct __cppobj MoveThroughVillageGoal : Goal
{
  float mSpeedModifier;
  std::unique_ptr<Path> mPath;
  Mob *mMob;
};

# MoveThroughVillageGoal_vtbl

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

# MoveToBlockGoal

struct __cppobj __declspec(align(8)) MoveToBlockGoal : Goal
{
  int mGiveUpTicks;
  int mStayDurationTicks;
  float mSpeedMod;
  float mGoalRadiusSq;
  BlockPos mTargetBlockPos;
  Vec3 mTargetPositionOffset;
  float mChanceToStart;
  int mInterval;
  int mSearchRange;
  int mSearchHeight;
  const TargetSelectionMethod mMethod;
  const std::vector<DefinitionTrigger> mOnReachTriggers;
  const std::vector<DefinitionTrigger> mOnStayCompletedTriggers;
  const std::vector<ItemDescriptor> mTargetBlockDescriptors;
  unsigned __int64 mCooldownCounter;
  const unsigned __int64 mCooldownTimeoutTime;
  bool mReachedTarget;
  int mNextStartTick;
  int mStayTicks;
  int mTravelTicks;
  BlockPos mStartPos;
  Mob *mMob;
  bool mHasSentOnReachEvent;
};

# MoveToBlockGoal_vtbl

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

# MoveToBlockGoal::_findRandomTargetBlock::__l2::<lambda_ede002a08bed37d4f7095e4d5e20d31e>

struct __cppobj MoveToBlockGoal::_findRandomTargetBlock::__l2::<lambda_ede002a08bed37d4f7095e4d5e20d31e>
{
  MoveToBlockGoal *const __this;
};

# MoveToBlockGoal::_findNearestTargetBlock::__l2::<lambda_bd268096afd56984753379bd7a8103a9>

struct __cppobj MoveToBlockGoal::_findNearestTargetBlock::__l2::<lambda_bd268096afd56984753379bd7a8103a9>
{
  MoveToBlockGoal *const __this;
};

# MoveToLandGoal

struct __cppobj MoveToLandGoal : BaseMoveToBlockGoal
{
};

# MoveToLandGoal_vtbl

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

# MoveToLiquidGoal

struct __cppobj __declspec(align(8)) MoveToLiquidGoal : BaseMoveToBlockGoal
{
  MaterialType mMaterialType;
};

# MoveToLiquidGoal_vtbl

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

# MoveToLavaGoal

struct __cppobj MoveToLavaGoal : MoveToLiquidGoal
{
};

# MoveToLavaGoal_vtbl

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

# MoveToLiquidGoal::findTargetBlock::__l2::<lambda_0a757d39279816dd02367a489eb7aa0d>

struct __cppobj MoveToLiquidGoal::findTargetBlock::__l2::<lambda_0a757d39279816dd02367a489eb7aa0d>
{
  MoveToLiquidGoal *const __this;
};

# MoveToRandomBlockGoal

struct __cppobj MoveToRandomBlockGoal : Goal
{
  Mob *mMob;
  Vec3 mDestination;
  Vec3 mLastPos;
  int mFailedPathing;
  int mTotalFailedPathing;
  float mSpeedModifier;
  float mRadiusSq;
  float mBlockDistance;
  int mCooldownTimer;
};

# MoveToRandomBlockGoal_vtbl

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

# MoveToVillageGoal

struct __cppobj __declspec(align(4)) MoveToVillageGoal : BaseMoveToGoal
{
  int mVillageSearchRangeBlocks;
  bool mReachedVillage;
};

# MoveToVillageGoal_vtbl

struct /*VFT*/ MoveToVillageGoal_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);
  BlockPos *(__fastcall *_selectRandomPosInVillage)(MoveToVillageGoal *this, BlockPos *result);
};

# MoveTowardsRestrictionDefinition

struct __cppobj __declspec(align(8)) MoveTowardsRestrictionDefinition : BaseGoalDefinition
{
  float mSpeedMultiplier;
};

# MoveTowardsRestrictionDefinition_vtbl

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

# MoveTowardsDwellingRestrictionDefinition

struct __cppobj MoveTowardsDwellingRestrictionDefinition : MoveTowardsRestrictionDefinition
{
};

# MoveTowardsDwellingRestrictionDefinition_vtbl

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

# MoveTowardsRestrictionGoal

struct __cppobj MoveTowardsRestrictionGoal : Goal
{
  Mob *mMob;
  float mSpeedMultiplier;
  Vec3 mWantedPosition;
};

# MoveTowardsRestrictionGoal_vtbl

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

# MoveTowardsDwellingRestrictionGoal

struct __cppobj MoveTowardsDwellingRestrictionGoal : MoveTowardsRestrictionGoal
{
};

# MoveTowardsDwellingRestrictionGoal_vtbl

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

# MoveTowardsHomeRestrictionDefinition

struct __cppobj MoveTowardsHomeRestrictionDefinition : MoveTowardsRestrictionDefinition
{
};

# MoveTowardsHomeRestrictionDefinition_vtbl

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

# MoveTowardsHomeRestrictionGoal

struct __cppobj MoveTowardsHomeRestrictionGoal : MoveTowardsRestrictionGoal
{
};