# B~1

# Bedrock::Threading::AsyncDeferredResultT<bool>_vtbl

struct /*VFT*/ Bedrock::Threading::AsyncDeferredResultT<bool>_vtbl
{
  void (__fastcall *~IAsyncResult<bool>)(Bedrock::Threading::IAsyncResult<bool> *this);
  Bedrock::Threading::AsyncStatus (__fastcall *getStatus)(Bedrock::Threading::IAsyncResult<bool> *this);
  std::error_code *(__fastcall *getError)(Bedrock::Threading::IAsyncResult<bool> *this, std::error_code *result);
  std::exception_ptr *(__fastcall *getException)(Bedrock::Threading::IAsyncResult<bool> *this, std::exception_ptr *result);
  bool (__fastcall *getResult)(Bedrock::Threading::IAsyncResult<bool> *this);
  void (__fastcall *cancel)(Bedrock::Threading::IAsyncResult<bool> *this);
  void (__fastcall *addOnComplete)(Bedrock::Threading::IAsyncResult<bool> *this, std::function<void __cdecl(Bedrock::Threading::IAsyncResult<bool> const &)>);
};

# BatchWorker<PackStorage::PendingTask>::_tryQueueWorker::__l9::<lambda_af25b8745a49294668e7e18ef98137e4>

struct __cppobj BatchWorker<PackStorage::PendingTask>::_tryQueueWorker::__l9::<lambda_af25b8745a49294668e7e18ef98137e4>
{
  BatchWorker<PackStorage::PendingTask> *const __this;
};

# Bedrock::Threading::ThreadLocalObjectImplementation<MolangEvalParams,std::allocator<MolangEvalParams> >

struct __cppobj Bedrock::Threading::ThreadLocalObjectImplementation<MolangEvalParams,std::allocator<MolangEvalParams> >
{
  MolangEvalParams *mPtr;
};

# Bedrock::Threading::ThreadLocalObject<MolangEvalParams,std::allocator<MolangEvalParams> >

struct __cppobj Bedrock::Threading::ThreadLocalObject<MolangEvalParams,std::allocator<MolangEvalParams> > : Bedrock::Threading::ThreadLocalObjectImplementation<MolangEvalParams,std::allocator<MolangEvalParams> >
{
  std::function<void __cdecl(MolangEvalParams *)> mConstructor;
};

# Bedrock::Threading::TLSDetail::DefaultConstructor<MolangEvalParams,void>

struct __cppobj Bedrock::Threading::TLSDetail::DefaultConstructor<MolangEvalParams,void>
{
};

# Bedrock::Threading::TLSDetail::DefaultConstructor<MolangEvalParams,void>::create::__l2::<lambda_958a58132a7af05cc0661d2aecfa4548>

struct __cppobj Bedrock::Threading::TLSDetail::DefaultConstructor<MolangEvalParams,void>::create::__l2::<lambda_958a58132a7af05cc0661d2aecfa4548>
{
};

# BidirectionalUnorderedMap<enum ItemStackNetResult,std::string >

struct __cppobj BidirectionalUnorderedMap<enum ItemStackNetResult,std::string >
{
  std::unordered_map<enum ItemStackNetResult,std::string> mRight;
  std::unordered_map<std::string,enum ItemStackNetResult> mLeft;
};

# Bedrock::Threading::ThreadLocalValueAccessor<ComponentItem *>

struct __cppobj Bedrock::Threading::ThreadLocalValueAccessor<ComponentItem *>
{
};

# BoostableComponent

struct __cppobj BoostableComponent : IEntityComponent
{
  bool mIsBoosting;
  int mBoostTime;
  int mBoostTimeTotal;
  float mFovMod;
};

# BlockItem

struct __cppobj BlockItem : Item
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_4e7611f2c774939b21bda2cfa4f46e40>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_4e7611f2c774939b21bda2cfa4f46e40>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_01b284e148679bd63bab12b0717db626>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_01b284e148679bd63bab12b0717db626>
{
  std::function<CappedSurfaceAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_0f779d43536bc104e122b0d74a889027>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_0f779d43536bc104e122b0d74a889027>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_b059eddd1b406bfce4b57442217ab1b3>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_b059eddd1b406bfce4b57442217ab1b3>
{
  std::function<CappedSurfaceAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_a41f431bfd368896c55b381baacd11ba>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_a41f431bfd368896c55b381baacd11ba>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_cea596d8301ad7333b74eecd38417d3c>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_cea596d8301ad7333b74eecd38417d3c>
{
  std::function<CappedSurfaceAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_e084b3da421e0a056d83c37c8ebf2c09>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_e084b3da421e0a056d83c37c8ebf2c09>
{
  std::function<CappedSurfaceAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_201c44a5279f845d9ef54bb2268fc08b>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_201c44a5279f845d9ef54bb2268fc08b>
{
  std::function<CappedSurfaceAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_ae3f9c725f64bdda2a0fe8a5292f5adc>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_ae3f9c725f64bdda2a0fe8a5292f5adc>
{
};

# BlockBreathabilityDescription

struct __cppobj __declspec(align(8)) BlockBreathabilityDescription : BlockComponentDescription
{
  BreathingType mType;
};

# BlockBreathabilityDescription_vtbl

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

# BlockBreathabilityComponent

struct __cppobj BlockBreathabilityComponent
{
  BreathingType mType;
};

# BlockBreathabilityDescription::buildSchema::__l2::<lambda_4c61f8557da081b1c8c2a22b9346d104>

struct __cppobj BlockBreathabilityDescription::buildSchema::__l2::<lambda_4c61f8557da081b1c8c2a22b9346d104>
{
  const BlockComponentFactory *factory;
};

# BlockCollisionComponentDescription

struct __cppobj __declspec(align(8)) BlockCollisionComponentDescription : BlockComponentDescription
{
  bool mEnabled;
  Vec3 mOrigin;
  Vec3 mSize;
};

# BlockCollisionComponentDescription_vtbl

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

# BlockRaycastComponentDescription

struct __cppobj __declspec(align(8)) BlockRaycastComponentDescription : BlockComponentDescription
{
  bool mEnabled;
  Vec3 mOrigin;
  Vec3 mSize;
};

# BlockRaycastComponentDescription_vtbl

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

# BlockCollisionComponent

struct __cppobj BlockCollisionComponent
{
  bool mEnabled;
  bool mWorldInfoBaked;
  AABB mOriginalAABB;
  AABB mTransformedAABB;
};

# BlockCollisionComponentProcessor

struct __cppobj BlockCollisionComponentProcessor
{
};

# BlockCollisionComponentProcessor::getProcessor::__l2::<lambda_d50d369ffbd5602eccd1ecd87abe7ddc>

struct __cppobj BlockCollisionComponentProcessor::getProcessor::__l2::<lambda_d50d369ffbd5602eccd1ecd87abe7ddc>
{
};

# BlockCollisionComponentDescription::buildSchema::__l2::<lambda_4b812ccf5071d0acd944581760f037ef>

struct __cppobj BlockCollisionComponentDescription::buildSchema::__l2::<lambda_4b812ccf5071d0acd944581760f037ef>
{
};

# BlockCollisionComponentDescription::buildSchema::__l2::<lambda_6878f6579073ac5e14ce6c03b3c5937f>

struct __cppobj BlockCollisionComponentDescription::buildSchema::__l2::<lambda_6878f6579073ac5e14ce6c03b3c5937f>
{
};

# BlockCollisionComponentDescription::buildSchema::__l2::<lambda_dc89933ad8a520e005190a29280cbde2>

struct __cppobj BlockCollisionComponentDescription::buildSchema::__l2::<lambda_dc89933ad8a520e005190a29280cbde2>
{
  const BlockComponentFactory *factory;
};

# BlockCollisionComponentDescription::buildSchema::__l2::<lambda_c14de7537c04cb6c24d0e6d8a11adb99>

struct __cppobj BlockCollisionComponentDescription::buildSchema::__l2::<lambda_c14de7537c04cb6c24d0e6d8a11adb99>
{
  const BlockComponentFactory *factory;
};

# BlockDestroyTimeDescription

struct __cppobj __declspec(align(8)) BlockDestroyTimeDescription : BlockComponentDescription
{
  float mDestroyTime;
};

# BlockDestroyTimeDescription_vtbl

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

# BlockDestroyTimeComponent

struct __cppobj BlockDestroyTimeComponent
{
  float mDestroyTime;
};

# BlockDestroyTimeDescription::buildSchema::__l2::<lambda_d1e3a537cd9a75624f45c10c16433a09>

struct __cppobj BlockDestroyTimeDescription::buildSchema::__l2::<lambda_d1e3a537cd9a75624f45c10c16433a09>
{
  const BlockComponentFactory *factory;
};

# BlockDisplayNameDescription

struct __cppobj BlockDisplayNameDescription : BlockComponentDescription
{
  std::string mDisplayName;
};

# BlockDisplayNameDescription_vtbl

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

# BlockDisplayNameDescription::buildSchema::__l2::<lambda_c46f60d3a9697599df883587d19d6273>

struct __cppobj BlockDisplayNameDescription::buildSchema::__l2::<lambda_c46f60d3a9697599df883587d19d6273>
{
  const BlockComponentFactory *factory;
};

# BlockExplodeableDescription

struct __cppobj __declspec(align(8)) BlockExplodeableDescription : BlockComponentDescription
{
  float mExplosionResistance;
};

# BlockExplodeableDescription_vtbl

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

# BlockExplodeableComponent

struct __cppobj BlockExplodeableComponent
{
  float mExplosionResistance;
};

# BlockExplodeableDescription::buildSchema::__l2::<lambda_daebb62fbd57786a9760bf50be0a77d9>

struct __cppobj BlockExplodeableDescription::buildSchema::__l2::<lambda_daebb62fbd57786a9760bf50be0a77d9>
{
  const BlockComponentFactory *factory;
};

# BlockFlammableDescription

struct __cppobj BlockFlammableDescription : BlockComponentDescription
{
  int mFlameOdds;
  int mBurnOdds;
};

# BlockFlammableDescription_vtbl

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

# BlockFlammableComponent

struct __cppobj BlockFlammableComponent
{
  int mFlameOdds;
  int mBurnOdds;
};

# BlockFlammableDescription::buildSchema::__l2::<lambda_c59bc263b6294a6e6f39b8d0e04877f0>

struct __cppobj BlockFlammableDescription::buildSchema::__l2::<lambda_c59bc263b6294a6e6f39b8d0e04877f0>
{
};

# BlockFlammableDescription::buildSchema::__l2::<lambda_a96b44a40c7e60e12ae13262d5bca2e7>

struct __cppobj BlockFlammableDescription::buildSchema::__l2::<lambda_a96b44a40c7e60e12ae13262d5bca2e7>
{
};

# BlockFlammableDescription::buildSchema::__l2::<lambda_57c47e0013d9103b49b0606920551b9d>

struct __cppobj BlockFlammableDescription::buildSchema::__l2::<lambda_57c47e0013d9103b49b0606920551b9d>
{
  const BlockComponentFactory *factory;
};

# BlockFrictionDescription

struct __cppobj __declspec(align(8)) BlockFrictionDescription : BlockComponentDescription
{
  float mFriction;
};

# BlockFrictionDescription_vtbl

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

# BlockFrictionDescription::buildSchema::__l2::<lambda_c69e137bc810408b918b6f7d7307713f>

struct __cppobj BlockFrictionDescription::buildSchema::__l2::<lambda_c69e137bc810408b918b6f7d7307713f>
{
  const BlockComponentFactory *factory;
};

# BlockGeometryDescription::buildSchema::__l2::<lambda_ce6722aba34e352d0154f0dda9737a1e>

struct __cppobj BlockGeometryDescription::buildSchema::__l2::<lambda_ce6722aba34e352d0154f0dda9737a1e>
{
  const BlockComponentFactory *factory;
};

# BlockLegacyComponent

struct __cppobj __declspec(align(8)) BlockLegacyComponent
{
  BlockLegacy *mBlockLegacy;
  bool mAllowSame;
};

# BlockLegacyComponentDescription

struct __cppobj BlockLegacyComponentDescription : BlockComponentDescription
{
};

# BlockLegacyComponentDescription_vtbl

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

# BlockLegacyComponentDescription::buildSchema::__l2::<lambda_27204d2f2a39d85660d61256896bff1b>

struct __cppobj BlockLegacyComponentDescription::buildSchema::__l2::<lambda_27204d2f2a39d85660d61256896bff1b>
{
};

# BlockLightDescription

struct __cppobj __declspec(align(8)) BlockLightDescription : BlockComponentDescription
{
  Brightness mLightLevel;
};

# BlockLightDescription_vtbl

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

# BlockLightComponent

struct __cppobj BlockLightComponent
{
  Brightness mLightLevel;
};

# BlockLightDescription::buildSchema::__l2::<lambda_d71761e05246a34376364883fdb7208e>

struct __cppobj BlockLightDescription::buildSchema::__l2::<lambda_d71761e05246a34376364883fdb7208e>
{
  const BlockComponentFactory *factory;
};

# BlockLightEmissionDescription

struct __cppobj __declspec(align(8)) BlockLightEmissionDescription : BlockComponentDescription
{
  float mLightEmission;
};

# BlockLightEmissionDescription_vtbl

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

# BlockLightEmissionDescription::buildSchema::__l2::<lambda_1f9e1aeaf46d2eac21fea725a5f02ba0>

struct __cppobj BlockLightEmissionDescription::buildSchema::__l2::<lambda_1f9e1aeaf46d2eac21fea725a5f02ba0>
{
  const BlockComponentFactory *factory;
};

# BlockMapColorDescription

struct __cppobj BlockMapColorDescription : BlockComponentDescription
{
  mce::Color mMapColor;
};

# BlockMapColorDescription_vtbl

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

# BlockMapColorComponent

struct __cppobj BlockMapColorComponent
{
  mce::Color mMapColor;
};

# BlockMapColorDescription::buildSchema::__l2::<lambda_08f7f2a483b2ce2d8ae180541a033fbf>

struct __cppobj BlockMapColorDescription::buildSchema::__l2::<lambda_08f7f2a483b2ce2d8ae180541a033fbf>
{
  const BlockComponentFactory *factory;
};

# BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_ba98cf8c091c5275fe54b54a6fd1fa64>

struct __cppobj BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_ba98cf8c091c5275fe54b54a6fd1fa64>
{
};

# BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_06f55dbee568ee03701593fa00d64316>

struct __cppobj BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_06f55dbee568ee03701593fa00d64316>
{
};

# BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_573d2fb4ea2eda602f92a6079ece291a>

struct __cppobj BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_573d2fb4ea2eda602f92a6079ece291a>
{
};

# BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_12efd0823a81885ff5970a7012bb91e8>

struct __cppobj BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_12efd0823a81885ff5970a7012bb91e8>
{
};

# BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_db0e7cbf50b78f865c00e20c1e7ca2f2>

struct __cppobj BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_db0e7cbf50b78f865c00e20c1e7ca2f2>
{
};

# BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_44ff594e168fc93ea3851ee9be5d388a>

struct __cppobj BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_44ff594e168fc93ea3851ee9be5d388a>
{
};

# BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_89c1e1e1679be2065bf56004cfe846be>

struct __cppobj BlockMaterialInstancesDescription::buildSchema::__l2::<lambda_89c1e1e1679be2065bf56004cfe846be>
{
  const BlockComponentFactory *factory;
};

# BlockPlacementFilterDescription

struct __cppobj BlockPlacementFilterDescription : BlockComponentDescription
{
  std::vector<BlockPlacementCondition> conditions;
};

# BlockPlacementFilterDescription_vtbl

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

# BlockPlacementFilterDescription::buildSchema::__l4::<lambda_e8ce4e56bf378dc7388d7d765e0865c1>

struct __cppobj BlockPlacementFilterDescription::buildSchema::__l4::<lambda_e8ce4e56bf378dc7388d7d765e0865c1>
{
};

# BlockPlacementFilterDescription::buildSchema::__l3::<lambda_9da8bab70b5a357e6f6558be61f31a37>

struct __cppobj BlockPlacementFilterDescription::buildSchema::__l3::<lambda_9da8bab70b5a357e6f6558be61f31a37>
{
};

# BlockPlacementFilterDescription::buildSchema::__l3::<lambda_3929d7bdc0012c1d5b5d07211a568962>

struct __cppobj BlockPlacementFilterDescription::buildSchema::__l3::<lambda_3929d7bdc0012c1d5b5d07211a568962>
{
};

# BlockPlacementFilterDescription::buildSchema::__l3::<lambda_48a2c92454dca1b1eb86708c0cb6f245>

struct __cppobj BlockPlacementFilterDescription::buildSchema::__l3::<lambda_48a2c92454dca1b1eb86708c0cb6f245>
{
};

# BlockPlacementFilterDescription::buildSchema::__l2::<lambda_cb0824acb19a6926bc16ae918b367222>

struct __cppobj BlockPlacementFilterDescription::buildSchema::__l2::<lambda_cb0824acb19a6926bc16ae918b367222>
{
};

# BlockUnwalkableDescription

struct __cppobj __declspec(align(8)) BlockUnwalkableDescription : BlockComponentDescription
{
  bool value;
};

# BlockUnwalkableDescription_vtbl

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

# BlockPreventsJumpingDescription

struct __cppobj __declspec(align(8)) BlockPreventsJumpingDescription : BlockComponentDescription
{
  bool value;
};

# BlockPreventsJumpingDescription_vtbl

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

# BlockImmovableDescription

struct __cppobj __declspec(align(8)) BlockImmovableDescription : BlockComponentDescription
{
  bool value;
};

# BlockImmovableDescription_vtbl

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

# BlockBreakOnPushDescription

struct __cppobj __declspec(align(8)) BlockBreakOnPushDescription : BlockComponentDescription
{
  bool value;
};

# BlockBreakOnPushDescription_vtbl

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

# BlockOnlyPistonPushDescription

struct __cppobj __declspec(align(8)) BlockOnlyPistonPushDescription : BlockComponentDescription
{
  bool value;
};

# BlockOnlyPistonPushDescription_vtbl

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

# BlockBreaksWhenHitByArrowDescription

struct __cppobj __declspec(align(8)) BlockBreaksWhenHitByArrowDescription : BlockComponentDescription
{
  bool value;
};

# BlockBreaksWhenHitByArrowDescription_vtbl

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

# BlockPropertyComponent

struct __cppobj BlockPropertyComponent
{
  std::unordered_map<enum BlockProperty,bool> propertyMap;
};

# BlockOnlyPistonPushDescription::buildSchema::__l2::<lambda_c945b5662cf1eb5589293648d6eec793>

struct __cppobj BlockOnlyPistonPushDescription::buildSchema::__l2::<lambda_c945b5662cf1eb5589293648d6eec793>
{
  const BlockComponentFactory *factory;
};

# BlockBreakOnPushDescription::buildSchema::__l2::<lambda_85b29853f478a656648e5c7bba71cddf>

struct __cppobj BlockBreakOnPushDescription::buildSchema::__l2::<lambda_85b29853f478a656648e5c7bba71cddf>
{
  const BlockComponentFactory *factory;
};

# BlockImmovableDescription::buildSchema::__l2::<lambda_e8efcee476cac9f07672d89dca1ff150>

struct __cppobj BlockImmovableDescription::buildSchema::__l2::<lambda_e8efcee476cac9f07672d89dca1ff150>
{
  const BlockComponentFactory *factory;
};

# BlockPreventsJumpingDescription::buildSchema::__l2::<lambda_9542622d127f343463dd4c8650a62bd0>

struct __cppobj BlockPreventsJumpingDescription::buildSchema::__l2::<lambda_9542622d127f343463dd4c8650a62bd0>
{
  const BlockComponentFactory *factory;
};

# BlockUnwalkableDescription::buildSchema::__l2::<lambda_1a4657843158ef697741cd4b4af2d5c3>

struct __cppobj BlockUnwalkableDescription::buildSchema::__l2::<lambda_1a4657843158ef697741cd4b4af2d5c3>
{
  const BlockComponentFactory *factory;
};

# BlockQueuedTickingDescription

struct __cppobj BlockQueuedTickingDescription : BlockComponentDescription
{
  float mDelayRange[2];
  bool mLooping;
  DefinitionTrigger mOnTimeDown;
};

# BlockQueuedTickingDescription_vtbl

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

# BlockQueuedTickingDescription::buildSchema::__l2::<lambda_cf213ad65c48f5af5c1a97b78c1e03cc>

struct __cppobj BlockQueuedTickingDescription::buildSchema::__l2::<lambda_cf213ad65c48f5af5c1a97b78c1e03cc>
{
};

# BlockQueuedTickingDescription::buildSchema::__l2::<lambda_626e42b5f549b74b2c47ecc5065668f8>

struct __cppobj BlockQueuedTickingDescription::buildSchema::__l2::<lambda_626e42b5f549b74b2c47ecc5065668f8>
{
};

# BlockQueuedTickingDescription::buildSchema::__l2::<lambda_3dcdcc4801ba6f06b5bd699cf19f4ae9>

struct __cppobj BlockQueuedTickingDescription::buildSchema::__l2::<lambda_3dcdcc4801ba6f06b5bd699cf19f4ae9>
{
};

# BlockQueuedTickingDescription::buildSchema::__l2::<lambda_d7521e35ca8cc680c738d8c91bd339a3>

struct __cppobj BlockQueuedTickingDescription::buildSchema::__l2::<lambda_d7521e35ca8cc680c738d8c91bd339a3>
{
};

# BlockQueuedTickingDescription::buildSchema::__l2::<lambda_9dd896149b2b0e048d3f4e74066c6d79>

struct __cppobj BlockQueuedTickingDescription::buildSchema::__l2::<lambda_9dd896149b2b0e048d3f4e74066c6d79>
{
};

# BlockQueuedTickingDescription::buildSchema::__l2::<lambda_aa9609fada4ce700b2792b8814cdcabf>

struct __cppobj BlockQueuedTickingDescription::buildSchema::__l2::<lambda_aa9609fada4ce700b2792b8814cdcabf>
{
};

# BlockQueuedTickingDescription::buildSchema::__l2::<lambda_b620b3e3f93259a2e6ac65f0433095c0>

struct __cppobj BlockQueuedTickingDescription::buildSchema::__l2::<lambda_b620b3e3f93259a2e6ac65f0433095c0>
{
  const BlockComponentFactory *factory;
};

# BlockRandomTickingDescription

struct __cppobj BlockRandomTickingDescription : BlockComponentDescription
{
  DefinitionTrigger mOnTimeDown;
};

# BlockRandomTickingDescription_vtbl

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

# BlockRandomTickingComponent

struct __cppobj BlockRandomTickingComponent
{
  DefinitionTrigger mOnTimeDown;
};

# BlockRandomTickingDescription::buildSchema::__l2::<lambda_07d8c21d2a1191c5ff5c50620c1730e3>

struct __cppobj BlockRandomTickingDescription::buildSchema::__l2::<lambda_07d8c21d2a1191c5ff5c50620c1730e3>
{
};

# BlockRandomTickingDescription::buildSchema::__l2::<lambda_1321e859aa1dd025510131cc9e8e6225>

struct __cppobj BlockRandomTickingDescription::buildSchema::__l2::<lambda_1321e859aa1dd025510131cc9e8e6225>
{
};

# BlockRandomTickingDescription::buildSchema::__l2::<lambda_9c30243026aaa59f1df4244d1fee3202>

struct __cppobj BlockRandomTickingDescription::buildSchema::__l2::<lambda_9c30243026aaa59f1df4244d1fee3202>
{
};

# BlockRandomTickingDescription::buildSchema::__l2::<lambda_c59ae86f72fe7374104f30d451d32d65>

struct __cppobj BlockRandomTickingDescription::buildSchema::__l2::<lambda_c59ae86f72fe7374104f30d451d32d65>
{
};

# BlockRandomTickingDescription::buildSchema::__l2::<lambda_eb0063f1e7722fc1fd674532441eac14>

struct __cppobj BlockRandomTickingDescription::buildSchema::__l2::<lambda_eb0063f1e7722fc1fd674532441eac14>
{
  const BlockComponentFactory *factory;
};

# BlockRaycastComponentProcessor

struct __cppobj BlockRaycastComponentProcessor
{
};

# BlockRaycastComponentProcessor::getProcessor::__l2::<lambda_10b292fb3bf93b28c6ce9e7cd4e94995>

struct __cppobj BlockRaycastComponentProcessor::getProcessor::__l2::<lambda_10b292fb3bf93b28c6ce9e7cd4e94995>
{
};

# BlockRaycastComponentDescription::buildSchema::__l2::<lambda_fb014cf2776a7d8c0e9f3bbce0361b6c>

struct __cppobj BlockRaycastComponentDescription::buildSchema::__l2::<lambda_fb014cf2776a7d8c0e9f3bbce0361b6c>
{
};

# BlockRaycastComponentDescription::buildSchema::__l2::<lambda_589fb79a6d3e2959a4a37044011844b6>

struct __cppobj BlockRaycastComponentDescription::buildSchema::__l2::<lambda_589fb79a6d3e2959a4a37044011844b6>
{
};

# BlockRaycastComponentDescription::buildSchema::__l2::<lambda_8bf5a874efbe02d284420606108a25cb>

struct __cppobj BlockRaycastComponentDescription::buildSchema::__l2::<lambda_8bf5a874efbe02d284420606108a25cb>
{
  const BlockComponentFactory *factory;
};

# BlockRaycastComponentDescription::buildSchema::__l2::<lambda_5dc9edb90a48ac3aff1ad1a548af9b94>

struct __cppobj BlockRaycastComponentDescription::buildSchema::__l2::<lambda_5dc9edb90a48ac3aff1ad1a548af9b94>
{
  const BlockComponentFactory *factory;
};

# BlockRotationDescription::buildSchema::__l2::<lambda_ad48c97325fe1028e35444e9e43fe6d8>

struct __cppobj BlockRotationDescription::buildSchema::__l2::<lambda_ad48c97325fe1028e35444e9e43fe6d8>
{
  const BlockComponentFactory *factory;
};

# BlockUnitCubeDescription::buildSchema::__l2::<lambda_19fd5eb0a190a0558be6cf70036e4f47>

struct __cppobj BlockUnitCubeDescription::buildSchema::__l2::<lambda_19fd5eb0a190a0558be6cf70036e4f47>
{
  const BlockComponentFactory *factory;
};

# BlockTriggerDescription<OnFallOnTrigger>

struct __cppobj __declspec(align(8)) BlockTriggerDescription<OnFallOnTrigger> : BlockComponentDescription
{
  std::string mType;
  std::string mCondition;
  _BYTE mTarget[2];
};

# BlockTriggerDescription<OnFallOnTrigger>_vtbl

struct /*VFT*/ BlockTriggerDescription<OnFallOnTrigger>_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 *);
};

# BlockTriggerDescription<OnFallOnTrigger>::buildSchema::__l2::<lambda_ef8916e3db97f444a0c05fc5425db430>

struct __cppobj BlockTriggerDescription<OnFallOnTrigger>::buildSchema::__l2::<lambda_ef8916e3db97f444a0c05fc5425db430>
{
};

# BlockTriggerDescription<OnFallOnTrigger>::buildSchema::__l2::<lambda_000f4e5a520a10ac3ebaba19bf2a65e9>

struct __cppobj BlockTriggerDescription<OnFallOnTrigger>::buildSchema::__l2::<lambda_000f4e5a520a10ac3ebaba19bf2a65e9>
{
};

# BlockTriggerDescription<OnFallOnTrigger>::buildSchema::__l2::<lambda_fdb5fee4d3e733bbfc3db9c35163d2af>

struct __cppobj BlockTriggerDescription<OnFallOnTrigger>::buildSchema::__l2::<lambda_fdb5fee4d3e733bbfc3db9c35163d2af>
{
};

# BlockTriggerDescription<OnFallOnTrigger>::buildSchema::__l2::<lambda_dc70758361f9d984c7cf95f24c605334>

struct __cppobj BlockTriggerDescription<OnFallOnTrigger>::buildSchema::__l2::<lambda_dc70758361f9d984c7cf95f24c605334>
{
  const BlockComponentFactory *factory;
};

# BlockTriggerDescription<OnInteractTrigger>

struct __cppobj __declspec(align(8)) BlockTriggerDescription<OnInteractTrigger> : BlockComponentDescription
{
  std::string mType;
  std::string mCondition;
  _BYTE mTarget[2];
};

# BlockTriggerDescription<OnInteractTrigger>_vtbl

struct /*VFT*/ BlockTriggerDescription<OnInteractTrigger>_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 *);
};

# BlockTriggerDescription<OnInteractTrigger>::buildSchema::__l2::<lambda_a33df2b205b85b239e63f61267080c4a>

struct __cppobj BlockTriggerDescription<OnInteractTrigger>::buildSchema::__l2::<lambda_a33df2b205b85b239e63f61267080c4a>
{
};

# BlockTriggerDescription<OnInteractTrigger>::buildSchema::__l2::<lambda_076c3050c0e5f5733483d25f92b40f6a>

struct __cppobj BlockTriggerDescription<OnInteractTrigger>::buildSchema::__l2::<lambda_076c3050c0e5f5733483d25f92b40f6a>
{
};

# BlockTriggerDescription<OnInteractTrigger>::buildSchema::__l2::<lambda_9ced8916369862ecd1f019fbfcf13823>

struct __cppobj BlockTriggerDescription<OnInteractTrigger>::buildSchema::__l2::<lambda_9ced8916369862ecd1f019fbfcf13823>
{
};

# BlockTriggerDescription<OnInteractTrigger>::buildSchema::__l2::<lambda_d814003a632a6cbdb9671d6311392b8f>

struct __cppobj BlockTriggerDescription<OnInteractTrigger>::buildSchema::__l2::<lambda_d814003a632a6cbdb9671d6311392b8f>
{
  const BlockComponentFactory *factory;
};

# BlockTriggerDescription<OnPlacedTrigger>

struct __cppobj __declspec(align(8)) BlockTriggerDescription<OnPlacedTrigger> : BlockComponentDescription
{
  std::string mType;
  std::string mCondition;
  _BYTE mTarget[2];
};

# BlockTriggerDescription<OnPlacedTrigger>_vtbl

struct /*VFT*/ BlockTriggerDescription<OnPlacedTrigger>_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 *);
};

# BlockTriggerDescription<OnPlacedTrigger>::buildSchema::__l2::<lambda_e8215986e7b31d8dd963ccb19f24bc1c>

struct __cppobj BlockTriggerDescription<OnPlacedTrigger>::buildSchema::__l2::<lambda_e8215986e7b31d8dd963ccb19f24bc1c>
{
};

# BlockTriggerDescription<OnPlacedTrigger>::buildSchema::__l2::<lambda_f48aa65c4d65cdf0f0fa0766d3dcb3ad>

struct __cppobj BlockTriggerDescription<OnPlacedTrigger>::buildSchema::__l2::<lambda_f48aa65c4d65cdf0f0fa0766d3dcb3ad>
{
};

# BlockTriggerDescription<OnPlacedTrigger>::buildSchema::__l2::<lambda_4a014553b7ffe83cbe45da2192597e7b>

struct __cppobj BlockTriggerDescription<OnPlacedTrigger>::buildSchema::__l2::<lambda_4a014553b7ffe83cbe45da2192597e7b>
{
};

# BlockTriggerDescription<OnPlacedTrigger>::buildSchema::__l2::<lambda_47afbc0fcbee03dec64a6d7f55c9abb0>

struct __cppobj BlockTriggerDescription<OnPlacedTrigger>::buildSchema::__l2::<lambda_47afbc0fcbee03dec64a6d7f55c9abb0>
{
  const BlockComponentFactory *factory;
};

# BlockTriggerDescription<OnPlayerDestroyedTrigger>

struct __cppobj __declspec(align(8)) BlockTriggerDescription<OnPlayerDestroyedTrigger> : BlockComponentDescription
{
  std::string mType;
  std::string mCondition;
  _BYTE mTarget[2];
};

# BlockTriggerDescription<OnPlayerDestroyedTrigger>_vtbl

struct /*VFT*/ BlockTriggerDescription<OnPlayerDestroyedTrigger>_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 *);
};

# BlockTriggerDescription<OnPlayerDestroyedTrigger>::buildSchema::__l2::<lambda_435ed67ca33cdf6ce3551e627dde545b>

struct __cppobj BlockTriggerDescription<OnPlayerDestroyedTrigger>::buildSchema::__l2::<lambda_435ed67ca33cdf6ce3551e627dde545b>
{
};

# BlockTriggerDescription<OnPlayerDestroyedTrigger>::buildSchema::__l2::<lambda_e78fbccb97a8276bca1647984fa77f23>

struct __cppobj BlockTriggerDescription<OnPlayerDestroyedTrigger>::buildSchema::__l2::<lambda_e78fbccb97a8276bca1647984fa77f23>
{
};

# BlockTriggerDescription<OnPlayerDestroyedTrigger>::buildSchema::__l2::<lambda_1e4e182aec1b3e1d24d6fba3cdf70c50>

struct __cppobj BlockTriggerDescription<OnPlayerDestroyedTrigger>::buildSchema::__l2::<lambda_1e4e182aec1b3e1d24d6fba3cdf70c50>
{
};

# BlockTriggerDescription<OnPlayerDestroyedTrigger>::buildSchema::__l2::<lambda_4b99d462895d28d49e43325b4a39a5dd>

struct __cppobj BlockTriggerDescription<OnPlayerDestroyedTrigger>::buildSchema::__l2::<lambda_4b99d462895d28d49e43325b4a39a5dd>
{
  const BlockComponentFactory *factory;
};

# BlockTriggerDescription<OnPlayerPlacingTrigger>

struct __cppobj __declspec(align(8)) BlockTriggerDescription<OnPlayerPlacingTrigger> : BlockComponentDescription
{
  std::string mType;
  std::string mCondition;
  _BYTE mTarget[2];
};

# BlockTriggerDescription<OnPlayerPlacingTrigger>_vtbl

struct /*VFT*/ BlockTriggerDescription<OnPlayerPlacingTrigger>_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 *);
};

# BlockTriggerDescription<OnPlayerPlacingTrigger>::buildSchema::__l2::<lambda_027de81471dbda20b20e86eedbf98df7>

struct __cppobj BlockTriggerDescription<OnPlayerPlacingTrigger>::buildSchema::__l2::<lambda_027de81471dbda20b20e86eedbf98df7>
{
};

# BlockTriggerDescription<OnPlayerPlacingTrigger>::buildSchema::__l2::<lambda_f0f38f51c88a5b42b90f6d3fc2ad3143>

struct __cppobj BlockTriggerDescription<OnPlayerPlacingTrigger>::buildSchema::__l2::<lambda_f0f38f51c88a5b42b90f6d3fc2ad3143>
{
};

# BlockTriggerDescription<OnPlayerPlacingTrigger>::buildSchema::__l2::<lambda_ebe4b9d77c2a0e21773e7548a78153ea>

struct __cppobj BlockTriggerDescription<OnPlayerPlacingTrigger>::buildSchema::__l2::<lambda_ebe4b9d77c2a0e21773e7548a78153ea>
{
};

# BlockTriggerDescription<OnPlayerPlacingTrigger>::buildSchema::__l2::<lambda_833337504ddb4f2a526e6da5743fc5c8>

struct __cppobj BlockTriggerDescription<OnPlayerPlacingTrigger>::buildSchema::__l2::<lambda_833337504ddb4f2a526e6da5743fc5c8>
{
  const BlockComponentFactory *factory;
};

# BlockTriggerDescription<OnStepOnTrigger>

struct __cppobj __declspec(align(8)) BlockTriggerDescription<OnStepOnTrigger> : BlockComponentDescription
{
  std::string mType;
  std::string mCondition;
  _BYTE mTarget[2];
};

# BlockTriggerDescription<OnStepOnTrigger>_vtbl

struct /*VFT*/ BlockTriggerDescription<OnStepOnTrigger>_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 *);
};

# BlockTriggerDescription<OnStepOffTrigger>

struct __cppobj __declspec(align(8)) BlockTriggerDescription<OnStepOffTrigger> : BlockComponentDescription
{
  std::string mType;
  std::string mCondition;
  _BYTE mTarget[2];
};

# BlockTriggerDescription<OnStepOffTrigger>_vtbl

struct /*VFT*/ BlockTriggerDescription<OnStepOffTrigger>_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 *);
};

# BlockTriggerDescription<OnStepOnTrigger>::buildSchema::__l2::<lambda_838ec938e898e7fb3a589c9f550675b7>

struct __cppobj BlockTriggerDescription<OnStepOnTrigger>::buildSchema::__l2::<lambda_838ec938e898e7fb3a589c9f550675b7>
{
};

# BlockTriggerDescription<OnStepOnTrigger>::buildSchema::__l2::<lambda_8b344d19ff57fad5d3756f55b27cd212>

struct __cppobj BlockTriggerDescription<OnStepOnTrigger>::buildSchema::__l2::<lambda_8b344d19ff57fad5d3756f55b27cd212>
{
};

# BlockTriggerDescription<OnStepOnTrigger>::buildSchema::__l2::<lambda_25314afb71d3d21539214ab6b84d06e6>

struct __cppobj BlockTriggerDescription<OnStepOnTrigger>::buildSchema::__l2::<lambda_25314afb71d3d21539214ab6b84d06e6>
{
};

# BlockTriggerDescription<OnStepOnTrigger>::buildSchema::__l2::<lambda_b50379f0dbf3bd5c47b0a110b58ddceb>

struct __cppobj BlockTriggerDescription<OnStepOnTrigger>::buildSchema::__l2::<lambda_b50379f0dbf3bd5c47b0a110b58ddceb>
{
  const BlockComponentFactory *factory;
};

# BlockTriggerDescription<OnStepOffTrigger>::buildSchema::__l2::<lambda_e2c75ed82a16fa8196b889610cdebfc3>

struct __cppobj BlockTriggerDescription<OnStepOffTrigger>::buildSchema::__l2::<lambda_e2c75ed82a16fa8196b889610cdebfc3>
{
};

# BlockTriggerDescription<OnStepOffTrigger>::buildSchema::__l2::<lambda_751a230ba8aa7b7ae9f90fb86eaecaa4>

struct __cppobj BlockTriggerDescription<OnStepOffTrigger>::buildSchema::__l2::<lambda_751a230ba8aa7b7ae9f90fb86eaecaa4>
{
};

# BlockTriggerDescription<OnStepOffTrigger>::buildSchema::__l2::<lambda_e702ff7c6ebe41cd2656da0166ab18d5>

struct __cppobj BlockTriggerDescription<OnStepOffTrigger>::buildSchema::__l2::<lambda_e702ff7c6ebe41cd2656da0166ab18d5>
{
};

# BlockTriggerDescription<OnStepOffTrigger>::buildSchema::__l2::<lambda_ba303f0246cd6fbc9f8024e4d67a8b23>

struct __cppobj BlockTriggerDescription<OnStepOffTrigger>::buildSchema::__l2::<lambda_ba303f0246cd6fbc9f8024e4d67a8b23>
{
  const BlockComponentFactory *factory;
};

# Bedrock::NonOwnerPointer<Dimension>

struct __cppobj Bedrock::NonOwnerPointer<Dimension>
{
  std::shared_ptr<Bedrock::EnableNonOwnerReferences::ControlBlock> mControlBlock;
};

# BlockSelector_vtbl

struct /*VFT*/ BlockSelector_vtbl
{
  void (__fastcall *~BlockSelector)(BlockSelector *this);
  const Block *(__fastcall *next)(BlockSelector *this, Random *, int, int, int, bool);
};

# BastionPiece

struct __cppobj BastionPiece : PoolElementStructurePiece
{
};

# BastionPiece::addPieces::__l16::<lambda_c6c2cc063f3e8775940af7b1bdaadfd2>

struct __cppobj BastionPiece::addPieces::__l16::<lambda_c6c2cc063f3e8775940af7b1bdaadfd2>
{
};

# BidirectionalUnorderedMap<enum ParticleType,std::string >

struct __cppobj BidirectionalUnorderedMap<enum ParticleType,std::string >
{
  std::unordered_map<enum ParticleType,std::string> mRight;
  std::unordered_map<std::string,enum ParticleType> mLeft;
};

# Bedrock::PlatformBootstrap

struct __cppobj Bedrock::PlatformBootstrap
{
  Bedrock::PlatformBootstrap_vtbl *__vftable /*VFT*/;
};

# Bedrock::PlatformBootstrap_vtbl

struct /*VFT*/ Bedrock::PlatformBootstrap_vtbl
{
  void (__fastcall *~PlatformBootstrap)(Bedrock::PlatformBootstrap *this);
  void (__fastcall *initialize)(Bedrock::PlatformBootstrap *this);
  const char *(__fastcall *getDataRoot)(Bedrock::PlatformBootstrap *this, unsigned __int64 *);
  unsigned __int64 (__fastcall *rawLoadAssetFile)(Bedrock::PlatformBootstrap *this, char *, unsigned __int64, const char *, char *, unsigned __int64);
};

# BalloonableDefinition

struct __cppobj BalloonableDefinition
{
  float mSoftDistance;
  float mMaxDistance;
  float mInvMass;
  DefinitionTrigger mOnBalloon;
  DefinitionTrigger mOnUnballoon;
};

# BalloonableComponent

struct __cppobj BalloonableComponent : IEntityComponent
{
};

# BalloonComponent

struct __cppobj __declspec(align(4)) BalloonComponent : IEntityComponent
{
  ActorUniqueID mAttachedID;
  float mMaxHeight;
  bool mShouldDropAttached;
};

# BalloonDefinition

struct __cppobj BalloonDefinition
{
  Vec3 mLiftForce;
};

# BehaviorData::Data<void *>

struct __cppobj BehaviorData::Data<void *> : BehaviorData::DataProxy
{
  void *mData;
};

# BehaviorData::Data<void *>_vtbl

struct /*VFT*/ BehaviorData::Data<void *>_vtbl
{
  void (__fastcall *~DataProxy)(BehaviorData::DataProxy *this);
  std::unique_ptr<BehaviorData::DataProxy> *(__fastcall *copy)(BehaviorData::DataProxy *this, std::unique_ptr<BehaviorData::DataProxy> *result);
};

# BlockListEventMap

struct __cppobj BlockListEventMap
{
  std::vector<BlockDescriptor> mBlockDescriptors;
  std::string mEventName;
};

# BlockBreakSensorDefinition

struct __cppobj BlockBreakSensorDefinition
{
  float mSensorRadius;
  std::vector<BlockListEventMap> mBlockSets;
};

# BoostItem

struct __cppobj __declspec(align(8)) BoostItem
{
  ItemDescriptor mItemDescriptor;
  ItemDescriptor mReplacementItemDescriptor;
  int mDamageAmount;
};

# BoostableDefinition

struct __cppobj __declspec(align(8)) BoostableDefinition
{
  std::vector<BoostItem> mBoostItems;
  float mMaxBoostTime;
  float mSpeedModifier;
  float mFovMod;
};

# BossDefinition

struct __cppobj BossDefinition
{
  std::string mName;
  bool mShouldDarkenSky;
  int mHudRange;
};

# BreakBlocksComponent

struct __cppobj BreakBlocksComponent : IEntityComponent
{
};

# BreakDoorAnnotationComponent

struct __cppobj BreakDoorAnnotationComponent : IEntityComponent
{
  int mBreakTicks;
  Difficulty mMinDifficulty;
  ActorUniqueID mTargetID;
  int mBreakingTime;
  std::optional<BlockPos> mObstructionPos;
  unsigned __int64 mLastPathIndex;
};

# BreathableDefinition

struct __cppobj BreathableDefinition
{
  int mTotalSupply;
  int mSuffocateTime;
  float mInhaleTime;
  bool mBreathesAir;
  bool mBreathesWater;
  bool mBreathesLava;
  bool mBreathesSolids;
  bool mGeneratesBubbles;
  std::vector<BlockDescriptor> mBreathableBlocks;
  std::vector<BlockDescriptor> mNonBreathableBlocks;
};

# BreedableDefinition

struct __cppobj __declspec(align(8)) BreedableDefinition
{
  bool mTame;
  bool mBlendAttributes;
  float mExtraChance;
  float mBreedCooldownTimeSeconds;
  bool mInheritTamed;
  bool mAllowSitting;
  std::vector<ItemDescriptor> mBreedItems;
  std::vector<EnvironmentRequirement> mEnvironmentRequirements;
  ActorFilterGroup mLoveFilter;
  std::vector<BreedableType> mBreedTypes;
  MutationFactorData mMutationFactors;
  DenySameParentsVariantData mDenyParentsVariant;
  bool mCausesPregnancy;
  bool mRequireFullHealth;
  int mMinNumberChildren;
  int mMaxNumberChildren;
};

# BreedableComponent

struct __cppobj BreedableComponent : IEntityComponent
{
  const BreedableDefinition *mStaticData;
  int mLoveTimer;
  int mBreedCooldown;
  int mBreedCooldownTime;
  bool mInheritTamed;
  bool mCausesPregnancy;
  ActorUniqueID mLoveCause;
};

# BribeableDefinition

struct __cppobj BribeableDefinition
{
  float mBribeCooldown;
  std::vector<ItemDescriptor> mBribeItems;
};

# BribeableComponent

struct __cppobj __declspec(align(8)) BribeableComponent : IEntityComponent
{
  const BribeableDefinition *mStaticData;
  int mBribeTimer;
  int mBribeCooldown;
  int mBribeCooldownTime;
};

# BucketableComponent

struct __cppobj BucketableComponent : IEntityComponent
{
};

# BurnsInDaylightDefinition

struct __cppobj BurnsInDaylightDefinition
{
};

# BucketableComponent::getInteraction::__l5::<lambda_8e84a487e038ec80f3efce51137fd1cb>

struct __cppobj BucketableComponent::getInteraction::__l5::<lambda_8e84a487e038ec80f3efce51137fd1cb>
{
  Actor *owner;
  Player *player;
};

# BribeableComponent::getInteraction::__l14::<lambda_1e8d22cdb9df4c9a9c784cbb7b6ea1eb>

struct __cppobj BribeableComponent::getInteraction::__l14::<lambda_1e8d22cdb9df4c9a9c784cbb7b6ea1eb>
{
  Actor *owner;
  Player *player;
  BribeableComponent *const __this;
};

# BribeableDefinition::buildSchema::__l2::<lambda_3ea2844f8ccdbf4ca2d8554f79132ad2>

struct __cppobj BribeableDefinition::buildSchema::__l2::<lambda_3ea2844f8ccdbf4ca2d8554f79132ad2>
{
};

# BreedableComponent::getInteraction::__l23::<lambda_0ca09d6f42b0b2725246a39b155b6d02>

struct __cppobj BreedableComponent::getInteraction::__l23::<lambda_0ca09d6f42b0b2725246a39b155b6d02>
{
  Player *player;
  Actor *owner;
  BreedableComponent *const __this;
};

# BreedableDefinition::buildSchema::__l2::<lambda_687cb70991334864e2f4d9922259ea88>

struct __cppobj BreedableDefinition::buildSchema::__l2::<lambda_687cb70991334864e2f4d9922259ea88>
{
};

# BreedableDefinition::buildSchema::__l2::<lambda_3b992a0d9419e48052bc453e3b7aa62c>

struct __cppobj BreedableDefinition::buildSchema::__l2::<lambda_3b992a0d9419e48052bc453e3b7aa62c>
{
};

# BreakDoorAnnotationComponent::obstructionCheck::__l65::<lambda_29299142ebba9cf19320f4a54667acc9>

struct __cppobj BreakDoorAnnotationComponent::obstructionCheck::__l65::<lambda_29299142ebba9cf19320f4a54667acc9>
{
  Mob *mob;
  const Block *block;
  const BlockPos *nodePos;
};

# BreakBlocksComponent::breakNearbyBlocks::__l29::<lambda_99cbf2916026c93342b5e87247c4b1b8>

struct __cppobj BreakBlocksComponent::breakNearbyBlocks::__l29::<lambda_99cbf2916026c93342b5e87247c4b1b8>
{
  Actor *actor;
  const Block *breakBlock;
  const int *x;
  const int *y;
  const int *z;
  BlockSource *region;
};

# BlockBreakSensorComponent::initialize::__l2::<lambda_1b6de276689ee3844025b88c9022f8f6>

struct __cppobj BlockBreakSensorComponent::initialize::__l2::<lambda_1b6de276689ee3844025b88c9022f8f6>
{
  Actor *actor;
};

# BalloonableComponent::getInteraction::__l16::<lambda_4eb329858ee62965ee9c218f5145de0f>

struct __cppobj BalloonableComponent::getInteraction::__l16::<lambda_4eb329858ee62965ee9c218f5145de0f>
{
  Player *player;
  Actor *owner;
  BalloonableComponent *const __this;
};

# BalloonableComponent::getInteraction::__l8::<lambda_88cf98eb28c9260dfe790cfd08438e9d>

struct __cppobj BalloonableComponent::getInteraction::__l8::<lambda_88cf98eb28c9260dfe790cfd08438e9d>
{
  Actor *owner;
  BalloonableComponent *const __this;
  Actor *balloon;
};

# BalloonableDefinition::buildSchema::__l2::<lambda_0d60382c8be5f5bc0dca2a0f426db4a1>

struct __cppobj BalloonableDefinition::buildSchema::__l2::<lambda_0d60382c8be5f5bc0dca2a0f426db4a1>
{
};

# BalloonableDefinition::buildSchema::__l2::<lambda_e55aca88682b256223a20f461ea159b2>

struct __cppobj BalloonableDefinition::buildSchema::__l2::<lambda_e55aca88682b256223a20f461ea159b2>
{
};

# BaseRailBlock

struct __cppobj __declspec(align(8)) BaseRailBlock : BlockLegacy
{
  const bool mUsesDataBit;
};

# BaseRailBlock_vtbl

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

# buildSchemaSpawnActorParameters::__l2::<lambda_f4d58fb7fa9c4857247880a11bbd432f>

struct __cppobj buildSchemaSpawnActorParameters::__l2::<lambda_f4d58fb7fa9c4857247880a11bbd432f>
{
};

# buildSchemaSpawnActorParameters::__l2::<lambda_5f64cd3a4c891918e62801dca2a65523>

struct __cppobj buildSchemaSpawnActorParameters::__l2::<lambda_5f64cd3a4c891918e62801dca2a65523>
{
};

# BehaviorSystem

struct __cppobj BehaviorSystem : ITickingSystem
{
};

# BehaviorSystem_vtbl

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

# BlockBreakSensorSystem

struct __cppobj BlockBreakSensorSystem : ITickingSystem
{
};

# BlockBreakSensorSystem_vtbl

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

# BodyControlComponent

struct __cppobj BodyControlComponent : IEntityComponent
{
  std::unique_ptr<BodyControl> mBodyControl;
};

# BodyControlSystem

struct __cppobj BodyControlSystem : ITickingSystem
{
};

# BodyControlSystem_vtbl

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

# BoostableSystem

struct __cppobj BoostableSystem : ITickingSystem
{
};

# BoostableSystem_vtbl

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

# BreakBlocksSystem

struct __cppobj BreakBlocksSystem : ITickingSystem
{
};

# BreakBlocksSystem_vtbl

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

# BreakDoorAnnotationSystem

struct __cppobj BreakDoorAnnotationSystem : ITickingSystem
{
};

# BreakDoorAnnotationSystem_vtbl

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

# BreathableSystem

struct __cppobj BreathableSystem : ITickingSystem
{
};

# BreathableSystem_vtbl

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

# Bedrock::Threading::ThreadUtil

struct __cppobj Bedrock::Threading::ThreadUtil
{
};

# BatchedNetworkPeer::_startSendTask::__l2::<lambda_bd091a0e94bce2f3d40cd13870786e14>

struct __cppobj BatchedNetworkPeer::_startSendTask::__l2::<lambda_bd091a0e94bce2f3d40cd13870786e14>
{
  std::shared_ptr<std::vector<std::function<void __cdecl(void)>> > sharedCallbackList;
};

# BatchedNetworkPeer::_startSendTask::__l2::<lambda_f57f9e03a6e9b4ead48e0fa8aaeaf5db>

struct __cppobj BatchedNetworkPeer::_startSendTask::__l2::<lambda_f57f9e03a6e9b4ead48e0fa8aaeaf5db>
{
  BatchedNetworkPeer *const __this;
  std::shared_ptr<std::vector<std::function<void __cdecl(void)>> > sharedCallbackList;
};

# BookCloningRecipe

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

# BookCloningRecipe_vtbl

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

# BannerDuplicateRecipe

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

# BannerDuplicateRecipe_vtbl

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

# BannerAddPatternRecipe

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

# BannerAddPatternRecipe_vtbl

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

# BaseGamePackSlices::BaseGameVersionPack

struct __cppobj BaseGamePackSlices::BaseGameVersionPack
{
  BaseGameVersion mBaseGameVersion;
  ResourcePack *mPack;
};

# Bedrock::Threading::ThreadLocalValueAccessor<ResourceLoadManager::ResourceLoadTaskGroup *>

struct __cppobj Bedrock::Threading::ThreadLocalValueAccessor<ResourceLoadManager::ResourceLoadTaskGroup *>
{
};

# Bedrock::Threading::AsyncResult::CompleteResult<std::string >

struct __cppobj Bedrock::Threading::AsyncResult::CompleteResult<std::string > : Bedrock::Threading::IAsyncResult<std::string >
{
  std::string mResult;
};

# Bedrock::Threading::AsyncResult::CompleteResult<std::string >_vtbl

struct /*VFT*/ Bedrock::Threading::AsyncResult::CompleteResult<std::string >_vtbl
{
  void (__fastcall *~IAsyncResult<std::string >)(Bedrock::Threading::IAsyncResult<std::string > *this);
  Bedrock::Threading::AsyncStatus (__fastcall *getStatus)(Bedrock::Threading::IAsyncResult<std::string > *this);
  std::error_code *(__fastcall *getError)(Bedrock::Threading::IAsyncResult<std::string > *this, std::error_code *result);
  std::exception_ptr *(__fastcall *getException)(Bedrock::Threading::IAsyncResult<std::string > *this, std::exception_ptr *result);
  std::string *(__fastcall *getResult)(Bedrock::Threading::IAsyncResult<std::string > *this, std::string *result);
  void (__fastcall *cancel)(Bedrock::Threading::IAsyncResult<std::string > *this);
  void (__fastcall *addOnComplete)(Bedrock::Threading::IAsyncResult<std::string > *this, std::function<void __cdecl(Bedrock::Threading::IAsyncResult<std::string > const &)>);
};

# Bedrock::Threading::AsyncDeferredResultT<std::shared_ptr<mce::Image> >

struct __cppobj Bedrock::Threading::AsyncDeferredResultT<std::shared_ptr<mce::Image> > : Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> >
{
  std::mutex mLock;
  Bedrock::Threading::AsyncDeferredResultT<std::shared_ptr<mce::Image> >::DelayStatus mStatus;
  std::vector<std::function<void __cdecl(Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> > const &)>> mComplete;
  std::optional<std::shared_ptr<mce::Image> > mResult;
};

# Bedrock::Threading::AsyncDeferredResultT<std::shared_ptr<mce::Image> >_vtbl

struct /*VFT*/ Bedrock::Threading::AsyncDeferredResultT<std::shared_ptr<mce::Image> >_vtbl
{
  void (__fastcall *~IAsyncResult<std::shared_ptr<mce::Image> >)(Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> > *this);
  Bedrock::Threading::AsyncStatus (__fastcall *getStatus)(Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> > *this);
  std::error_code *(__fastcall *getError)(Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> > *this, std::error_code *result);
  std::exception_ptr *(__fastcall *getException)(Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> > *this, std::exception_ptr *result);
  std::shared_ptr<mce::Image> *(__fastcall *getResult)(Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> > *this, std::shared_ptr<mce::Image> *result);
  void (__fastcall *cancel)(Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> > *this);
  void (__fastcall *addOnComplete)(Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> > *this, std::function<void __cdecl(Bedrock::Threading::IAsyncResult<std::shared_ptr<mce::Image> > const &)>);
};

# Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> >

struct __cppobj Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > : Bedrock::Threading::AsyncBase
{
  Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> >_vtbl *__vftable /*VFT*/;
};

# Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> >_vtbl

struct /*VFT*/ Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> >_vtbl
{
  void (__fastcall *~IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >,std::allocator<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::basic_string<char,std::char_traits<char)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this);
  Bedrock::Threading::AsyncStatus (__fastcall *getStatus)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this);
  std::error_code *(__fastcall *getError)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this, std::error_code *result);
  std::exception_ptr *(__fastcall *getException)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this, std::exception_ptr *result);
  std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> *(__fastcall *getResult)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this, std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> *result);
  void (__fastcall *cancel)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this);
  void (__fastcall *addOnComplete)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this, std::function<void __cdecl(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > const &)>);
};

# Bedrock::Threading::WhenAll<std::string >

struct __cppobj Bedrock::Threading::WhenAll<std::string > : Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> >
{
  std::mutex mLock;
  Bedrock::Threading::AsyncStatus mStatus;
  unsigned __int64 mPending;
  std::vector<std::function<void __cdecl(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > const &)>> mCallbacks;
  std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> mActions;
};

# Bedrock::Threading::WhenAll<std::string >_vtbl

struct /*VFT*/ Bedrock::Threading::WhenAll<std::string >_vtbl
{
  void (__fastcall *~IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >,std::allocator<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::basic_string<char,std::char_traits<char)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this);
  Bedrock::Threading::AsyncStatus (__fastcall *getStatus)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this);
  std::error_code *(__fastcall *getError)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this, std::error_code *result);
  std::exception_ptr *(__fastcall *getException)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this, std::exception_ptr *result);
  std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> *(__fastcall *getResult)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this, std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> *result);
  void (__fastcall *cancel)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this);
  void (__fastcall *addOnComplete)(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > *this, std::function<void __cdecl(Bedrock::Threading::IAsyncResult<std::vector<std::shared_ptr<Bedrock::Threading::IAsyncResult<std::string > >> > const &)>);
};

# Bedrock::Threading::WhenAll<std::string >::initialize::__l6::<lambda_ea6d99b805a01534f505aa92a5af28d0>

struct __cppobj Bedrock::Threading::WhenAll<std::string >::initialize::__l6::<lambda_ea6d99b805a01534f505aa92a5af28d0>
{
  std::shared_ptr<Bedrock::Threading::WhenAll<std::string > > sharedThis;
};

# BedrockItems

struct __cppobj BedrockItems
{
};

# BlockTickingQueue::HashBlockTick

struct __cppobj BlockTickingQueue::HashBlockTick
{
};

# BossbarCommand

struct __cppobj __declspec(align(4)) BossbarCommand : Command
{
  BossbarCommand::BossbarAction mAction;
  BossbarCommand::BossbarGetOption mGetOption;
  _BYTE mSetOption[4];
  std::string mId;
  Json::Value mName;
  BossBarColor mColor;
  int mMax;
  CommandSelector<Player> mTargets;
  int mValue;
  bool mVisible;
};

# BossbarCommand_vtbl

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

# BidirectionalUnorderedMap<enum ItemAcquisitionMethod,std::string >

struct __cppobj BidirectionalUnorderedMap<enum ItemAcquisitionMethod,std::string >
{
  std::unordered_map<enum ItemAcquisitionMethod,std::string> mRight;
  std::unordered_map<std::string,enum ItemAcquisitionMethod> mLeft;
};

# BidirectionalUnorderedMap<enum ItemUseMethod,std::string >

struct __cppobj BidirectionalUnorderedMap<enum ItemUseMethod,std::string >
{
  std::unordered_map<enum ItemUseMethod,std::string> mRight;
  std::unordered_map<std::string,enum ItemUseMethod> mLeft;
};

# BlockListSerializer

struct __cppobj BlockListSerializer
{
};

# backing_store_struct

struct backing_store_struct
{
  void (__fastcall *read_backing_store)(jpeg_common_struct *, backing_store_struct *, void *, int, int);
  void (__fastcall *write_backing_store)(jpeg_common_struct *, backing_store_struct *, void *, int, int);
  void (__fastcall *close_backing_store)(jpeg_common_struct *, backing_store_struct *);
  _iobuf *temp_file;
  char temp_name[64];
};

# Bedrock::Threading::TLSDetail::DefaultConstructor<Random,void>

struct __cppobj Bedrock::Threading::TLSDetail::DefaultConstructor<Random,void>
{
};

# Bedrock::Threading::TLSDetail::DefaultConstructor<Random,void>::create::__l2::<lambda_c5e437940b24146f2fb7ba5b5af46ca8>

struct __cppobj Bedrock::Threading::TLSDetail::DefaultConstructor<Random,void>::create::__l2::<lambda_c5e437940b24146f2fb7ba5b5af46ca8>
{
};

# BidirectionalUnorderedMap<std::string,enum ActorDamageCause>

struct __cppobj BidirectionalUnorderedMap<std::string,enum ActorDamageCause>
{
  std::unordered_map<std::string,enum ActorDamageCause> mRight;
  std::unordered_map<enum ActorDamageCause,std::string> mLeft;
};

# Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > >

struct __cppobj Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > : Bedrock::Threading::AsyncBase
{
  Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > >_vtbl *__vftable /*VFT*/;
};

# Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > >_vtbl

struct /*VFT*/ Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > >_vtbl
{
  void (__fastcall *~IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > >)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this);
  Bedrock::Threading::AsyncStatus (__fastcall *getStatus)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this);
  std::error_code *(__fastcall *getError)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this, std::error_code *result);
  std::exception_ptr *(__fastcall *getException)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this, std::exception_ptr *result);
  std::pair<Json::Value,Core::PathBuffer<std::string > > *(__fastcall *getResult)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this, std::pair<Json::Value,Core::PathBuffer<std::string > > *result);
  void (__fastcall *cancel)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this);
  void (__fastcall *addOnComplete)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this, std::function<void __cdecl(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > const &)>);
};

# Bedrock::Threading::AsyncDeferredResultT<std::pair<Json::Value,Core::PathBuffer<std::string > > >

struct __cppobj Bedrock::Threading::AsyncDeferredResultT<std::pair<Json::Value,Core::PathBuffer<std::string > > > : Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > >
{
  std::mutex mLock;
  Bedrock::Threading::AsyncDeferredResultT<std::pair<Json::Value,Core::PathBuffer<std::string > > >::DelayStatus mStatus;
  std::vector<std::function<void __cdecl(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > const &)>> mComplete;
  std::optional<std::pair<Json::Value,Core::PathBuffer<std::string > > > mResult;
};

# Bedrock::Threading::AsyncDeferredResultT<std::pair<Json::Value,Core::PathBuffer<std::string > > >_vtbl

struct /*VFT*/ Bedrock::Threading::AsyncDeferredResultT<std::pair<Json::Value,Core::PathBuffer<std::string > > >_vtbl
{
  void (__fastcall *~IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > >)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this);
  Bedrock::Threading::AsyncStatus (__fastcall *getStatus)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this);
  std::error_code *(__fastcall *getError)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this, std::error_code *result);
  std::exception_ptr *(__fastcall *getException)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this, std::exception_ptr *result);
  std::pair<Json::Value,Core::PathBuffer<std::string > > *(__fastcall *getResult)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this, std::pair<Json::Value,Core::PathBuffer<std::string > > *result);
  void (__fastcall *cancel)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this);
  void (__fastcall *addOnComplete)(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > *this, std::function<void __cdecl(Bedrock::Threading::IAsyncResult<std::pair<Json::Value,Core::PathBuffer<std::string > > > const &)>);
};

# BaseGoalDefinition

struct __cppobj BaseGoalDefinition
{
  BaseGoalDefinition_vtbl *__vftable /*VFT*/;
  int mPriority;
  int mControlFlags;
  std::string mName;
};

# BaseGoalDefinition_vtbl

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

# BreatheAirGoal

struct __cppobj __declspec(align(8)) BreatheAirGoal : Goal
{
  Mob *mMob;
  Vec3 mWanted;
  float mSpeedMod;
  int mRadius;
  int mStartBreath;
  bool mEndsInAir;
};

# BreatheAirGoal_vtbl

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

# BaseGoalDefinition::buildSchemaBase::__l2::<lambda_d8612f873e3b81f52251871d1b9a99f9>

struct __cppobj BaseGoalDefinition::buildSchemaBase::__l2::<lambda_d8612f873e3b81f52251871d1b9a99f9>
{
};

# BaseGoalDefinition::buildSchemaBase::__l2::<lambda_5f47e7c4535a8e8b6eb9aa52e1794f25>

struct __cppobj BaseGoalDefinition::buildSchemaBase::__l2::<lambda_5f47e7c4535a8e8b6eb9aa52e1794f25>
{
};

# BaseGoalDefinition::buildSchemaBase::__l2::<lambda_10b1270a68118e20f7f1d196815febb1>

struct __cppobj BaseGoalDefinition::buildSchemaBase::__l2::<lambda_10b1270a68118e20f7f1d196815febb1>
{
};

# BaseGoalDefinition::buildSchemaBase::__l2::<lambda_e7713cd94131b6e804ff7baff09e844c>

struct __cppobj BaseGoalDefinition::buildSchemaBase::__l2::<lambda_e7713cd94131b6e804ff7baff09e844c>
{
};

# BaseGoalDefinition::buildSchemaBase::__l2::<lambda_9fe4dd819da38dc1eae3af426a0fcc90>

struct __cppobj BaseGoalDefinition::buildSchemaBase::__l2::<lambda_9fe4dd819da38dc1eae3af426a0fcc90>
{
};

# BaseGoalDefinition::buildSchemaBase::__l2::<lambda_78da3d7fc4f3f9c053018dec9b623030>

struct __cppobj BaseGoalDefinition::buildSchemaBase::__l2::<lambda_78da3d7fc4f3f9c053018dec9b623030>
{
};

# Bat

struct __cppobj Bat : Mob
{
  bool mWasResting;
  Vec3 mTargetPosition;
};

# Bee

struct __cppobj __declspec(align(8)) Bee : Animal
{
  unsigned __int64 mNormalLoop;
  unsigned __int64 mAggressiveLoop;
  float mLoopSoundSpeed;
};

# Bee::_registerLoopingSounds::__l2::<lambda_8b16ca835b74e115732146567a1e7f3b>

struct __cppobj Bee::_registerLoopingSounds::__l2::<lambda_8b16ca835b74e115732146567a1e7f3b>
{
  Bee *const __this;
};

# Bee::_registerLoopingSounds::__l2::<lambda_fe84468281a4fb95c579b7348cca4739>

struct __cppobj Bee::_registerLoopingSounds::__l2::<lambda_fe84468281a4fb95c579b7348cca4739>
{
  Bee *const __this;
};

# BehaviorData::Data<int>

struct __cppobj __declspec(align(8)) BehaviorData::Data<int> : BehaviorData::DataProxy
{
  int mData;
};

# BehaviorData::Data<int>_vtbl

struct /*VFT*/ BehaviorData::Data<int>_vtbl
{
  void (__fastcall *~DataProxy)(BehaviorData::DataProxy *this);
  std::unique_ptr<BehaviorData::DataProxy> *(__fastcall *copy)(BehaviorData::DataProxy *this, std::unique_ptr<BehaviorData::DataProxy> *result);
};

# BehaviorData::Data<float>

struct __cppobj __declspec(align(8)) BehaviorData::Data<float> : BehaviorData::DataProxy
{
  float mData;
};

# BehaviorData::Data<float>_vtbl

struct /*VFT*/ BehaviorData::Data<float>_vtbl
{
  void (__fastcall *~DataProxy)(BehaviorData::DataProxy *this);
  std::unique_ptr<BehaviorData::DataProxy> *(__fastcall *copy)(BehaviorData::DataProxy *this, std::unique_ptr<BehaviorData::DataProxy> *result);
};

# BehaviorData::Data<bool>

struct __cppobj __declspec(align(8)) BehaviorData::Data<bool> : BehaviorData::DataProxy
{
  bool mData;
};

# BehaviorData::Data<bool>_vtbl

struct /*VFT*/ BehaviorData::Data<bool>_vtbl
{
  void (__fastcall *~DataProxy)(BehaviorData::DataProxy *this);
  std::unique_ptr<BehaviorData::DataProxy> *(__fastcall *copy)(BehaviorData::DataProxy *this, std::unique_ptr<BehaviorData::DataProxy> *result);
};

# BehaviorData::Data<BlockPos>

struct __cppobj __declspec(align(8)) BehaviorData::Data<BlockPos> : BehaviorData::DataProxy
{
  BlockPos mData;
};

# BehaviorData::Data<BlockPos>_vtbl

struct /*VFT*/ BehaviorData::Data<BlockPos>_vtbl
{
  void (__fastcall *~DataProxy)(BehaviorData::DataProxy *this);
  std::unique_ptr<BehaviorData::DataProxy> *(__fastcall *copy)(BehaviorData::DataProxy *this, std::unique_ptr<BehaviorData::DataProxy> *result);
};

# BehaviorData::Data<Vec3>

struct __cppobj __declspec(align(8)) BehaviorData::Data<Vec3> : BehaviorData::DataProxy
{
  Vec3 mData;
};

# BehaviorData::Data<Vec3>_vtbl

struct /*VFT*/ BehaviorData::Data<Vec3>_vtbl
{
  void (__fastcall *~DataProxy)(BehaviorData::DataProxy *this);
  std::unique_ptr<BehaviorData::DataProxy> *(__fastcall *copy)(BehaviorData::DataProxy *this, std::unique_ptr<BehaviorData::DataProxy> *result);
};

# BehaviorData::Data<std::string >

struct __cppobj BehaviorData::Data<std::string > : BehaviorData::DataProxy
{
  std::string mData;
};

# BehaviorData::Data<std::string >_vtbl

struct /*VFT*/ BehaviorData::Data<std::string >_vtbl
{
  void (__fastcall *~DataProxy)(BehaviorData::DataProxy *this);
  std::unique_ptr<BehaviorData::DataProxy> *(__fastcall *copy)(BehaviorData::DataProxy *this, std::unique_ptr<BehaviorData::DataProxy> *result);
};

# BreakBlockNode

struct __cppobj __declspec(align(4)) BreakBlockNode : BehaviorNode
{
  BlockPos mBlockPos;
  int mNumTicksToBreak;
  gsl::not_null<Block const *> mStartingBlock;
  int mNumTicksBreaking;
  bool mPreActionDone;
};

# BreakBlockNode_vtbl

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

# BreakBlockDefinition

struct __cppobj BreakBlockDefinition : BehaviorDefinition
{
  BlockPos mBlockPos;
  std::string mBlockPosId;
  int mNumTicksToBreak;
  std::string mNumTicksToBreakId;
};

# BreakBlockDefinition_vtbl

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

# buildSoundEventSchema::__l2::<lambda_83c1561f5f5169c4af75436371373e5f>

struct __cppobj buildSoundEventSchema::__l2::<lambda_83c1561f5f5169c4af75436371373e5f>
{
};

# buildSoundEventSchema::__l2::<lambda_dbade74c4a1f92bbca03768828a59559>

struct __cppobj buildSoundEventSchema::__l2::<lambda_dbade74c4a1f92bbca03768828a59559>
{
};

# buildParticleEventSchema::__l2::<lambda_bf90f814d09023d3d86bbabfc91b2f2d>

struct __cppobj buildParticleEventSchema::__l2::<lambda_bf90f814d09023d3d86bbabfc91b2f2d>
{
};

# buildParticleEventSchema::__l2::<lambda_c0a41c51a54f56fb665624f94a8c68a4>

struct __cppobj buildParticleEventSchema::__l2::<lambda_c0a41c51a54f56fb665624f94a8c68a4>
{
};

# buildParticleEventSchema::__l2::<lambda_9d0a5b44103b9a4cd09a0f79bdc9c298>

struct __cppobj buildParticleEventSchema::__l2::<lambda_9d0a5b44103b9a4cd09a0f79bdc9c298>
{
};

# buildParticleEventSchema::__l2::<lambda_2d6eded26c009ade9068294c18061152>

struct __cppobj buildParticleEventSchema::__l2::<lambda_2d6eded26c009ade9068294c18061152>
{
};

# buildParticleEventSchema::__l2::<lambda_1f3caa22e3ae22f1f1994ba5630aee65>

struct __cppobj buildParticleEventSchema::__l2::<lambda_1f3caa22e3ae22f1f1994ba5630aee65>
{
};

# buildParticleEventSchema::__l2::<lambda_d68979437fb540ff520a765fa7266f39>

struct __cppobj buildParticleEventSchema::__l2::<lambda_d68979437fb540ff520a765fa7266f39>
{
};

# buildParticleEventSchema::__l2::<lambda_8fe8b599339fd8148421a1fadfa1fb50>

struct __cppobj buildParticleEventSchema::__l2::<lambda_8fe8b599339fd8148421a1fadfa1fb50>
{
};

# buildParticleEventSchema::__l2::<lambda_09e2c5ded9e20b86bf2f8fed4ad9c667>

struct __cppobj buildParticleEventSchema::__l2::<lambda_09e2c5ded9e20b86bf2f8fed4ad9c667>
{
};

# BlockPatternBuilder

struct __cppobj __declspec(align(8)) BlockPatternBuilder
{
  BlockSource *mRegion;
  std::vector<std::string> mPattern;
  std::map<char,std::function<bool __cdecl(BlockSource &,BlockPos const &,Block const &)>> mLookup;
  bool mReadyForMatch;
  int mNumPatterns;
  int mPatternLength;
};

# BrewingStandBlockActor

struct __cppobj __declspec(align(8)) BrewingStandBlockActor : BlockActor, Container
{
  int mBrewTime;
  int mFuelAmount;
  int mFuelTotal;
  bool mFinished;
  const Item *mIngredient;
  ItemStack mItems[5];
  bool mNotifyPlayersOnChange;
};

# BrewingStandBlockActor_vtbl

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

# BarrelBlockActor

struct __cppobj BarrelBlockActor : ChestBlockActor
{
};

# Balloon

struct __cppobj Balloon : PredictableProjectile
{
  std::unique_ptr<MovementInterpolator> mInterpolator;
};

# Balloon_vtbl

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

# Blaze

struct __cppobj Blaze : Monster
{
  float mAllowedHeightOffset;
  int mNextHeightOffsetChangeTick;
};

# BeaconPaymentContainerController

struct __cppobj BeaconPaymentContainerController : ContainerController
{
};

# BeaconPaymentContainerController_vtbl

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

# BlockReducer_vtbl

struct /*VFT*/ BlockReducer_vtbl
{
  void (__fastcall *~BlockReducer)(BlockReducer *this);
  void (__fastcall *_registerBlock)(BlockReducer *this, const ItemStack *, std::vector<ItemStack> *);
};

# Bedrock::NonOwnerPointer<ItemStackRequestActionCraftResults_DEPRECATEDASKTYLAING>

struct __cppobj Bedrock::NonOwnerPointer<ItemStackRequestActionCraftResults_DEPRECATEDASKTYLAING>
{
  std::shared_ptr<Bedrock::EnableNonOwnerReferences::ControlBlock> mControlBlock;
};

# BlockEventTracker

struct __cppobj BlockEventTracker : BlockSourceListener
{
  std::unordered_map<BlockPos,Block const &> mBlockChangesMap;
  std::unordered_map<BlockPos,Block const &> mExtraBlockChangesMap;
  std::mutex mMapMutex;
};

# BlockEventTracker_vtbl

struct /*VFT*/ BlockEventTracker_vtbl
{
  void (__fastcall *~BlockSourceListener)(BlockSourceListener *this);
  void (__fastcall *onSourceCreated)(BlockSourceListener *this, BlockSource *);
  void (__fastcall *onSourceDestroyed)(BlockSourceListener *this, BlockSource *);
  void (__fastcall *onAreaChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *, const BlockPos *);
  void (__fastcall *onBlockChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *, unsigned int, const Block *, const Block *, int, const ActorBlockSyncMessage *);
  void (__fastcall *onBrightnessChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *);
  void (__fastcall *onBlockEntityChanged)(BlockSourceListener *this, BlockSource *, BlockActor *);
  void (__fastcall *onBlockEntityAboutToBeRemoved)(BlockSourceListener *this, BlockSource *, std::shared_ptr<BlockActor>);
  void (__fastcall *onEntityChanged)(BlockSourceListener *this, BlockSource *, Actor *);
  void (__fastcall *onBlockEvent)(BlockSourceListener *this, BlockSource *, int, int, int, int, int);
};

# BlockEventCoordinator::sendUnknownBlockReceived::__l2::<lambda_f6f042af8191ca65bf8adc7717dcf957>

struct __cppobj __declspec(align(8)) BlockEventCoordinator::sendUnknownBlockReceived::__l2::<lambda_f6f042af8191ca65bf8adc7717dcf957>
{
  Level *level;
  const NewBlockID *blockId;
  unsigned __int16 data;
};

# BlockEventCoordinator::sendBlockExploded::__l2::<lambda_848cdfb5e8da833dbc0dcc7f87da5a4f>

struct __cppobj BlockEventCoordinator::sendBlockExploded::__l2::<lambda_848cdfb5e8da833dbc0dcc7f87da5a4f>
{
  const BlockPos *blockPos;
  const Block *destroyedBlock;
  Actor **source;
};

# BlockEventCoordinator::sendBlockInteractedWith::__l2::<lambda_a33e208c0cd2aef60e110b74b695498d>

struct __cppobj BlockEventCoordinator::sendBlockInteractedWith::__l2::<lambda_a33e208c0cd2aef60e110b74b695498d>
{
  Player *player;
  const BlockPos *blockPos;
};

# BlockEventCoordinator::sendBlockDestructionStarted::__l2::<lambda_45a6a2b7778b47f799f30451c24f4705>

struct __cppobj BlockEventCoordinator::sendBlockDestructionStarted::__l2::<lambda_45a6a2b7778b47f799f30451c24f4705>
{
  Player *player;
  const BlockPos *blockPos;
};

# BlockEventCoordinator::sendBlockDestructionStopped::__l2::<lambda_b9d39bcdda4ef5e1d13e651401ee6702>

struct __cppobj BlockEventCoordinator::sendBlockDestructionStopped::__l2::<lambda_b9d39bcdda4ef5e1d13e651401ee6702>
{
  Player *player;
  const BlockPos *blockPos;
  int *progress;
};

# BlockEventCoordinator::sendBlockMovedByPiston::__l2::<lambda_9a6aa89b570a5b9cc497ec2fa821185c>

struct __cppobj BlockEventCoordinator::sendBlockMovedByPiston::__l2::<lambda_9a6aa89b570a5b9cc497ec2fa821185c>
{
  const BlockPos *pistonPos;
  const BlockPos *blockPos;
  const PistonBlockActor::PistonState *action;
};

# BlockEventCoordinator::sendBlockDestroyedByPlayer::__l2::<lambda_b770ae23f89ec602603799970f9877a0>

struct __cppobj BlockEventCoordinator::sendBlockDestroyedByPlayer::__l2::<lambda_b770ae23f89ec602603799970f9877a0>
{
  Player *player;
  const std::string *destroyedBlock;
  const BlockPos *pos;
};

# BlockEventCoordinator::sendBlockPlacedByPlayer::__l2::<lambda_04b45a6d32fc9beb76aef0d7f48ebe01>

struct __cppobj __declspec(align(8)) BlockEventCoordinator::sendBlockPlacedByPlayer::__l2::<lambda_04b45a6d32fc9beb76aef0d7f48ebe01>
{
  Player *player;
  const Block *placedBlock;
  const BlockPos *pos;
  bool isUnderwater;
};

# BlockIsNameTest

struct __cppobj BlockIsNameTest : SimpleHashStringFilterTest
{
};

# BlockIsNameTest_vtbl

struct /*VFT*/ BlockIsNameTest_vtbl
{
  void (__fastcall *~FilterTest)(FilterTest *this);
  bool (__fastcall *setup)(FilterTest *this, const FilterTest::Definition *, const FilterInputs *);
  bool (__fastcall *evaluate)(FilterTest *this, const FilterContext *);
  void (__fastcall *finalizeParsedValue)(FilterTest *this, IWorldRegistriesProvider *);
  gsl::basic_string_span<char const ,-1> *(__fastcall *getName)(FilterTest *this, gsl::basic_string_span<char const ,-1> *result);
  Json::Value *(__fastcall *_serializeDomain)(FilterTest *this, Json::Value *result);
  Json::Value *(__fastcall *_serializeValue)(FilterTest *this, Json::Value *result);
};

# BambooBlockItem

struct __cppobj BambooBlockItem : BlockItem
{
};

# BannerItem

struct __cppobj BannerItem : Item
{
};

# BannerPatternItem

struct __cppobj __declspec(align(8)) BannerPatternItem : Item
{
  BannerPatternItem::Type mType;
};

# BedItem

struct __cppobj BedItem : Item
{
  TextureAtlasItem m_uvTextureItem;
};

# BellBlockItem

struct __cppobj BellBlockItem : BlockItem
{
};

# BellBlock

struct __cppobj BellBlock : ActorBlock
{
};

# BellBlock_vtbl

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

# BoatItem

struct __cppobj BoatItem : Item
{
  WoodType mWoodType;
  TextureAtlasItem m_uvTextureItem;
};

# BottleItem

struct __cppobj BottleItem : Item
{
};

# BlockPlanterItem::_useOn::__l8::<lambda_dafc49cfe85b6ec4610f185da06c6323>

struct __cppobj BlockPlanterItem::_useOn::__l8::<lambda_dafc49cfe85b6ec4610f185da06c6323>
{
  BlockPos *pos;
  const Block *placedBlock;
  const CompoundTag *dataID;
  Actor *entity;
  unsigned __int8 *face;
  bool *canceled;
};

# BlockItem::_useOn::__l61::<lambda_3df6778bcdd597be9284d46d0b403515>

struct __cppobj BlockItem::_useOn::__l61::<lambda_3df6778bcdd597be9284d46d0b403515>
{
  BlockPos *pos;
  const Block **placedBlock;
  const CompoundTag *dataID;
  Actor *entity;
  unsigned __int8 *face;
};

# BlockItem::_useOn::__l17::<lambda_76337a7577d3a09baa0857f2aa986cfe>

struct __cppobj BlockItem::_useOn::__l17::<lambda_76337a7577d3a09baa0857f2aa986cfe>
{
  BlockPos *pos;
  const Block **placedBlock;
  const CompoundTag *dataID;
  Actor *entity;
  unsigned __int8 *face;
  bool *canceled;
};

# BambooBlockItem::_useOn::__l44::<lambda_ceb2dedadc834c479cf92b2081c39bd1>

struct __cppobj BambooBlockItem::_useOn::__l44::<lambda_ceb2dedadc834c479cf92b2081c39bd1>
{
  BlockPos *pos;
  const CompoundTag *dataID;
  Actor *entity;
  unsigned __int8 *face;
  bool *canceled;
};

# BowItem

struct __cppobj BowItem : RangedWeaponItem
{
  TextureUVCoordinateSet mFrame[3];
};

# BowEnchant

struct __cppobj BowEnchant : Enchant
{
};

# BowEnchant_vtbl

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

# BiomeComponentLoading::_buildSchema::__l2::<lambda_2c33b9a3c940e38e331beb3951273cfb>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_2c33b9a3c940e38e331beb3951273cfb>
{
  std::function<ClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_986ad8af33ac3ed9626d4e4c93db052f>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_986ad8af33ac3ed9626d4e4c93db052f>
{
  std::function<ClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_4043dd1967c51e1afe0bf9b59d10806d>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_4043dd1967c51e1afe0bf9b59d10806d>
{
  std::function<ClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_70b1c8711f1412db1910c25a69dbcc73>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_70b1c8711f1412db1910c25a69dbcc73>
{
  std::function<ClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_9f92eafcdd93e111d6dcc461b580b677>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_9f92eafcdd93e111d6dcc461b580b677>
{
  std::function<ClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_74b06c550f1d03282e6811d3a149df1d>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_74b06c550f1d03282e6811d3a149df1d>
{
  std::function<ClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_3de2852c01811dbb30ee8e9819bb06d2>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_3de2852c01811dbb30ee8e9819bb06d2>
{
  std::function<ClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_47d3ebb4fbf9d771bb39ed1ef100b972>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_47d3ebb4fbf9d771bb39ed1ef100b972>
{
  std::function<ClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_0e9e988f4be8fccbf1f02bb6d99a088d>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_0e9e988f4be8fccbf1f02bb6d99a088d>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_a4a8160f33e1a57e394012deaba8bba7>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_a4a8160f33e1a57e394012deaba8bba7>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_24781fac43e82524bfe294929ffcbc02>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_24781fac43e82524bfe294929ffcbc02>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_be3876604811fcef7cc22dea8bb87277>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_be3876604811fcef7cc22dea8bb87277>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_587dadbdd7697181135b67ed601fb42d>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_588cbba04482f56d12cfb2e5c6cae432>::()::__l2::<lambda_587dadbdd7697181135b67ed601fb42d>
{
};

# BiomeMetadata

struct __cppobj BiomeMetadata
{
  std::string mName;
  std::string mInherits;
  Json::Value mLocalComponents;
};

# BiomeRegistryMergeStrategy

struct __cppobj BiomeRegistryMergeStrategy : ResourcePackMergeStrategy
{
  Core::PathBuffer<std::string > mBiomePath;
  Json::Value *mRoot;
};

# BiomeRegistryMergeStrategy_vtbl

struct /*VFT*/ BiomeRegistryMergeStrategy_vtbl
{
  void (__fastcall *~ResourcePackMergeStrategy)(ResourcePackMergeStrategy *this);
  void (__fastcall *mergeFiles)(ResourcePackMergeStrategy *this, const std::vector<LoadedResourceData> *);
};

# BiomeSource_vtbl

struct /*VFT*/ BiomeSource_vtbl
{
  void (__fastcall *~BiomeSource)(BiomeSource *this);
  void (__fastcall *fillBiomes)(BiomeSource *this, LevelChunk *);
  BiomeArea *(__fastcall *getBiomeArea)(BiomeSource *this, BiomeArea *result, const BoundingBox *, unsigned int);
  bool (__fastcall *containsOnly)(BiomeSource *this, int, int, int, gsl::span<int const ,-1>);
  const Biome *(__fastcall *getBiome)(BiomeSource *this, int, int);
};

# BiomeRegistry::initModDimensions::__l6::<lambda_1fcb4717fe6be111942f2205fbc1a668>

struct __cppobj BiomeRegistry::initModDimensions::__l6::<lambda_1fcb4717fe6be111942f2205fbc1a668>
{
};

# BiomeRegistry::_loadOneDimension::__l2::<lambda_c1d36d2c0e755f6d6cc7f448cdf58979>

struct __cppobj BiomeRegistry::_loadOneDimension::__l2::<lambda_c1d36d2c0e755f6d6cc7f448cdf58979>
{
  std::vector<std::string> *biomesToLoad;
};

# BiomeRegistry::_initServerFromInheritanceTree::__l2::<lambda_6c6a66314c67757f5c65376080a34747>

struct __cppobj BiomeRegistry::_initServerFromInheritanceTree::__l2::<lambda_6c6a66314c67757f5c65376080a34747>
{
  BiomeRegistry *const __this;
  InheritanceTree<BiomeRegistry::BiomeParent> *inheritance;
  IWorldRegistriesProvider *worldRegistries;
};

# BiomeRegistry::_mergeDataInheritance::__l5::<lambda_2aa0ea63de42f370212b65a4b11b230e>

struct __cppobj BiomeRegistry::_mergeDataInheritance::__l5::<lambda_2aa0ea63de42f370212b65a4b11b230e>
{
  BiomeRegistry *const __this;
  Json::Value *mergeInto;
  InheritanceTree<BiomeRegistry::BiomeParent> *inheritance;
};

# BiomeRegistry::_buildInheritanceTree::__l4::<lambda_0d4594063b6df1dd593fd643071b49c0>

struct __cppobj BiomeRegistry::_buildInheritanceTree::__l4::<lambda_0d4594063b6df1dd593fd643071b49c0>
{
  std::vector<std::string> *biomesToLoad;
};

# BiomeRegistry::_buildInheritanceTree::__l2::<lambda_3891362f1148dfaff1fd5eb8cc4a95f6>

struct __cppobj BiomeRegistry::_buildInheritanceTree::__l2::<lambda_3891362f1148dfaff1fd5eb8cc4a95f6>
{
  std::vector<std::string> *biomesToLoad;
};

# BiomeRegistry::initClientFromPacks::__l16::<lambda_12d4c7037bf9214c92b1365a74424493>

struct __cppobj BiomeRegistry::initClientFromPacks::__l16::<lambda_12d4c7037bf9214c92b1365a74424493>
{
  const Json::Value *root;
  const Json::Value *defaultJson;
  gsl::not_null<Bedrock::NonOwnerPointer<FogDefinitionRegistry> > *fogRegistry;
};

# BiomeRegistry::getMergeStrategy::__l2::<lambda_a54dc79f09743eeb2de26dc51679844e>

struct __cppobj BiomeRegistry::getMergeStrategy::__l2::<lambda_a54dc79f09743eeb2de26dc51679844e>
{
};

# BiomeComponentFactory::registrationFinished::__l2::<lambda_14fdba31cb0ef81d6cd5c2760c9d1928>

struct __cppobj BiomeComponentFactory::registrationFinished::__l2::<lambda_14fdba31cb0ef81d6cd5c2760c9d1928>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_9cae496891550c5a044677317c96b590>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_9cae496891550c5a044677317c96b590>
{
  std::function<WorldGenMultiNoiseClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_31f6d7ef5e86b9004496c6c5438bebc3>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_31f6d7ef5e86b9004496c6c5438bebc3>
{
  std::function<WorldGenMultiNoiseClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_d5c8386347dd70773df6f7b0e51aa0f4>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_d5c8386347dd70773df6f7b0e51aa0f4>
{
  std::function<WorldGenMultiNoiseClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_e62c1925c1af6d050260328ca3a20417>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_e62c1925c1af6d050260328ca3a20417>
{
  std::function<WorldGenMultiNoiseClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_fdb3f7f0568767171627b654bfa20245>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_fdb3f7f0568767171627b654bfa20245>
{
  std::function<WorldGenMultiNoiseClimateAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_00c3dfeb26715b95f766f45ae45a4b8a>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_00c3dfeb26715b95f766f45ae45a4b8a>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_1c9a498ad1009e5bb757ec0164b4df00>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_1c9a498ad1009e5bb757ec0164b4df00>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_4b8343632b080be1f205b1998080acc9>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_4b8343632b080be1f205b1998080acc9>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_de44ce577397417461fc346b323847d9>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_de44ce577397417461fc346b323847d9>
{
  std::function<WorldGenClimateMappingAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_a7b07a0bb8678bcc8099e3b5561ab8de>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_a7b07a0bb8678bcc8099e3b5561ab8de>
{
  std::function<OverworldHeightAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_6f5dd31b8d509c3ea58a2e27e5121198>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_6f5dd31b8d509c3ea58a2e27e5121198>
{
  std::function<OverworldHeightAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_647b9dafc48ef4fe7d2bc246cd3fa37f>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_647b9dafc48ef4fe7d2bc246cd3fa37f>
{
  std::function<OverworldHeightAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_071d75551199967bfd308b1ccaeba427>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_071d75551199967bfd308b1ccaeba427>
{
  std::function<OverworldHeightAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_13fcf2973c4f4959793e47b98a4fe16d>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_13fcf2973c4f4959793e47b98a4fe16d>
{
  std::function<SurfaceMaterialAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_ebf5a741828bce024289db8a9317073c>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_ebf5a741828bce024289db8a9317073c>
{
  std::function<SurfaceMaterialAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_6702ad38bcdce54fbd866d895e5bdde3>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_6702ad38bcdce54fbd866d895e5bdde3>
{
  std::function<SurfaceMaterialAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_7c35618b9151048fb5f40c044803f09b>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_7c35618b9151048fb5f40c044803f09b>
{
  std::function<SurfaceMaterialAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_5573650260b13fa6c75ed850cb3b791d>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_5573650260b13fa6c75ed850cb3b791d>
{
  std::function<SurfaceMaterialAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_079223d09d7929335bbdc5ee3051db02>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_079223d09d7929335bbdc5ee3051db02>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_317f0cb0ca88680b14d95e0d23e2b481>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_317f0cb0ca88680b14d95e0d23e2b481>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_521c942abe59445dc605c74e5770790b>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_521c942abe59445dc605c74e5770790b>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_14139a2735e3e592c1254ac860a3050e>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_14139a2735e3e592c1254ac860a3050e>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_79909220629f22558cb770a16046cdb7>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_79909220629f22558cb770a16046cdb7>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_f88a4512ffe5a7d91ed9ab1ed8900771>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_f88a4512ffe5a7d91ed9ab1ed8900771>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_aa5cfd92a64dfd72bd49549d0bd77884>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_aa5cfd92a64dfd72bd49549d0bd77884>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_7c49cd51b0ff49fc379b3c623d7100e7>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_7c49cd51b0ff49fc379b3c623d7100e7>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_8ade96da80901bc7101fd7b815724e12>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_8ade96da80901bc7101fd7b815724e12>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_0f0f789fcabd05839a8f4072bdd5b7a1>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_0f0f789fcabd05839a8f4072bdd5b7a1>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_7c0b138f98f9658636c148b465c6d818>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_7c0b138f98f9658636c148b465c6d818>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_12f9dbe7b6fca75e36a0974e7b639bd6>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_12f9dbe7b6fca75e36a0974e7b639bd6>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_1958774ba91c2a8a8e7c0da9e5e1d4fa>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_1958774ba91c2a8a8e7c0da9e5e1d4fa>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_1a7595583583d62ba48aea65aa95d936>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_1a7595583583d62ba48aea65aa95d936>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_bea0759ff1a264047c5afddfde4ec3fd>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_bea0759ff1a264047c5afddfde4ec3fd>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_f2ce1ff6ee67b84720bcb09ebf7fea04>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_f2ce1ff6ee67b84720bcb09ebf7fea04>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_225167b354dd44524961a932de0b7a51>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_225167b354dd44524961a932de0b7a51>
{
  std::function<SurfaceMaterialAdjustmentAttributes & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> componentAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_971455b9357b3536ff5dad3d9c75c370>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_971455b9357b3536ff5dad3d9c75c370>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_100aefda7a177bed57c3ee89f1a167b9>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_100aefda7a177bed57c3ee89f1a167b9>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_ec658f3ed0ee9fcb77be3770ebe27063>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_ec658f3ed0ee9fcb77be3770ebe27063>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_f5b63f54e8163365fbc4fd41abd61dbc>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_f5b63f54e8163365fbc4fd41abd61dbc>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_c3bd4d2c9b8db0215a27d95f588f01dd>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_c3bd4d2c9b8db0215a27d95f588f01dd>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_8cc184e2f1c5afd59ee37440bc7e558d>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_8cc184e2f1c5afd59ee37440bc7e558d>
{
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_d2561560f3ee380d0ec045cd18e2c99f>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_d2561560f3ee380d0ec045cd18e2c99f>
{
  std::function<std::vector<std::pair<Biome *,unsigned int>> & __cdecl(std::pair<std::reference_wrapper<Biome>,std::reference_wrapper<IWorldRegistriesProvider> > *)> biomeVectorAccessor;
};

# BiomeComponentLoading::_buildSchema::__l2::<lambda_909cc6b1dd127ca9c80909ce62807b61>

struct __cppobj BiomeComponentLoading::_buildSchema::__l2::<lambda_909cc6b1dd127ca9c80909ce62807b61>
{
};

# BiomeDecorationAttributes<ConsolidatedFeatures>

struct __cppobj BiomeDecorationAttributes<ConsolidatedFeatures>
{
  std::vector<BiomeDecorationFeature *> mFeatures;
  std::unordered_set<HashedString> mFeatureRuleNameSet;
};

# BiomeDecorationAttributes<ImplicitFeatures>

struct __cppobj BiomeDecorationAttributes<ImplicitFeatures>
{
  std::vector<BiomeDecorationFeature *> mFeatures;
  std::unordered_set<HashedString> mFeatureRuleNameSet;
};

# BaseRailTransporter

struct __cppobj __declspec(align(8)) BaseRailTransporter : BaseCircuitComponent
{
  BaseRailTransporter::RailType mRailType;
};

# BaseRailTransporter_vtbl

struct /*VFT*/ BaseRailTransporter_vtbl
{
  void (__fastcall *~BaseCircuitComponent)(BaseCircuitComponent *this);
  int (__fastcall *getStrength)(BaseCircuitComponent *this);
  int (__fastcall *getDirection)(BaseCircuitComponent *this);
  void (__fastcall *setStrength)(BaseCircuitComponent *this, int);
  void (__fastcall *setDirection)(BaseCircuitComponent *this, unsigned __int8);
  bool (__fastcall *consumePowerAnyDirection)(BaseCircuitComponent *this);
  bool (__fastcall *canConsumerPower)(BaseCircuitComponent *this);
  bool (__fastcall *canStopPower)(BaseCircuitComponent *this);
  void (__fastcall *setStopPower)(BaseCircuitComponent *this, bool);
  unsigned __int64 (__fastcall *getBaseType)(BaseCircuitComponent *this);
  unsigned __int64 (__fastcall *getInstanceType)(BaseCircuitComponent *this);
  bool (__fastcall *removeSource)(BaseCircuitComponent *this, const BlockPos *, const BaseCircuitComponent *);
  bool (__fastcall *addSource)(BaseCircuitComponent *this, CircuitSceneGraph *, const CircuitTrackingInfo *, int *, bool *);
  bool (__fastcall *allowConnection)(BaseCircuitComponent *this, CircuitSceneGraph *, const CircuitTrackingInfo *, bool *);
  void (__fastcall *checkLock)(BaseCircuitComponent *this, CircuitSystem *, const BlockPos *);
  bool (__fastcall *evaluate)(BaseCircuitComponent *this, CircuitSystem *, const BlockPos *);
  void (__fastcall *cacheValues)(BaseCircuitComponent *this, CircuitSystem *, const BlockPos *);
  void (__fastcall *updateDependencies)(BaseCircuitComponent *this, CircuitSceneGraph *, const BlockPos *);
  bool (__fastcall *allowIndirect)(BaseCircuitComponent *this);
  bool (__fastcall *isHalfPulse)(BaseCircuitComponent *this);
  bool (__fastcall *hasSource)(BaseCircuitComponent *this, BaseCircuitComponent *);
  bool (__fastcall *hasChildrenSource)(BaseCircuitComponent *this);
  bool (__fastcall *isSecondaryPowered)(BaseCircuitComponent *this);
};

# BiomeDecorationSystem::consolidateDecorationFeatures::__l2::<lambda_931762908d800d263659cffde2a0977f>

struct __cppobj BiomeDecorationSystem::consolidateDecorationFeatures::__l2::<lambda_931762908d800d263659cffde2a0977f>
{
};

# BarrelBlock

struct __cppobj BarrelBlock : FaceDirectionalBlock
{
};

# BarrelBlock_vtbl

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

# BlastFurnaceBlockActor

struct __cppobj BlastFurnaceBlockActor : FurnaceBlockActor
{
};

# BlastFurnaceBlockActor_vtbl

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

# BlockActorFactory

struct __cppobj BlockActorFactory
{
};

# BeehiveBlockActor::tick::__l2::<lambda_b392b9a4f8c12bc74b03b27e80b70a94>

struct __cppobj BeehiveBlockActor::tick::__l2::<lambda_b392b9a4f8c12bc74b03b27e80b70a94>
{
  BeehiveBlockActor *const __this;
  BlockSource *region;
};

# BeaconBlockActor::_applyEffects::__l14::<lambda_b5cf0b164fc3fb877a74bed916b0b10e>

struct __cppobj BeaconBlockActor::_applyEffects::__l14::<lambda_b5cf0b164fc3fb877a74bed916b0b10e>
{
  const Vec3 *posBeacon;
  const float *halfExtent;
  std::vector<Player *> *playersInRange;
};

# BeaconBlockActor::checkShapeAndAchievement::__l20::<lambda_36931bbf3f3b12ac54c465f8cbab0fe5>

struct __cppobj BeaconBlockActor::checkShapeAndAchievement::__l20::<lambda_36931bbf3f3b12ac54c465f8cbab0fe5>
{
  AABB *area;
};

# BeaconBlockActor::_onUpdatePacket::__l5::<lambda_41531286337530fe5a4ae271b716e292>

struct __cppobj BeaconBlockActor::_onUpdatePacket::__l5::<lambda_41531286337530fe5a4ae271b716e292>
{
};

# BurstReactionComponent

struct __cppobj __declspec(align(4)) BurstReactionComponent : LabTableReactionComponent
{
  ParticleType mParticleType;
  HashedString mNewParticleType;
  Vec3 mDims;
  Vec3 mDirRange;
  int mCount;
  int mDataMin;
  int mDataMax;
  bool mDirOneWay;
};

# BurstReactionComponent_vtbl

struct /*VFT*/ BurstReactionComponent_vtbl
{
  void (__fastcall *~LabTableReactionComponent)(LabTableReactionComponent *this);
  void (__fastcall *_onStart)(LabTableReactionComponent *this, LabTableReaction *, BlockSource *);
  void (__fastcall *_onTick)(LabTableReactionComponent *this, LabTableReaction *, BlockSource *);
  void (__fastcall *_onEnd)(LabTableReactionComponent *this, LabTableReaction *, BlockSource *);
};

# BambooBlock

struct __cppobj BambooBlock : BlockLegacy
{
};

# BambooBlock_vtbl

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

# BambooSapling

struct __cppobj BambooSapling : Sapling
{
};

# BambooSapling_vtbl

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

# BannerBlock

struct __cppobj __declspec(align(8)) BannerBlock : ActorBlock
{
  bool mOnGround;
};

# BannerBlock_vtbl

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

# BarrierBlock

struct __cppobj BarrierBlock : BlockLegacy
{
};

# BarrierBlock_vtbl

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

# BasePressurePlateBlock

struct __cppobj BasePressurePlateBlock : BlockLegacy
{
  std::string texture;
};

# BasePressurePlateBlock_vtbl

struct /*VFT*/ BasePressurePlateBlock_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 *);
  int (__fastcall *getTickDelay)(BasePressurePlateBlock *this);
  int (__fastcall *getSignalStrength)(BasePressurePlateBlock *this, BlockSource *, const BlockPos *);
  int (__fastcall *getSignalForData)(BasePressurePlateBlock *this, int);
  int (__fastcall *getRedstoneSignal)(BasePressurePlateBlock *this, int);
  const AABB *(__fastcall *getSensitiveAABB)(BasePressurePlateBlock *this, const AABB *result, const BlockPos *);
};

# BeaconBlock

struct __cppobj BeaconBlock : ActorBlock
{
};

# BeaconBlock_vtbl

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

# BasePressurePlateBlock::entityInside::__l17::<lambda_e218216a8f7135fcc6348d1cf3645f7b>

struct __cppobj BasePressurePlateBlock::entityInside::__l17::<lambda_e218216a8f7135fcc6348d1cf3645f7b>
{
  Actor *entity;
  const BasePressurePlateBlock *const __this;
  const BlockPos *pos;
  BlockSource *region;
};

# BedrockBlock

struct __cppobj BedrockBlock : BlockLegacy
{
};

# BedrockBlock_vtbl

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

# BeetrootBlock

struct __cppobj BeetrootBlock : CropBlock
{
};

# BeetrootBlock_vtbl

struct /*VFT*/ BeetrootBlock_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 *);
  const ItemInstance *(__fastcall *getBaseSeed)(CropBlock *this, const ItemInstance *result);
  const ItemInstance *(__fastcall *getBaseCrop)(CropBlock *this, const ItemInstance *result);
  int (__fastcall *getSeedNum)(CropBlock *this, Random *, int, int, bool);
  int (__fastcall *getCropNum)(CropBlock *this, Random *, int, int, bool);
};

# BlastFurnaceBlock

struct __cppobj BlastFurnaceBlock : FurnaceBlock
{
};

# BlastFurnaceBlock_vtbl

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

# BlockActorComponentDescription

struct __cppobj __declspec(align(8)) BlockActorComponentDescription : BlockComponentDescription
{
  bool mListenTick;
  bool mIsMovable;
};

# BlockActorComponentDescription_vtbl

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

# BlockActorComponent

struct BlockActorComponent
{
  bool mListenTick;
  bool mIsMovable;
};

# BlockSerializationUtils::<lambda_6fdc15de22a520ca156369c24e880172>

struct __cppobj BlockSerializationUtils::<lambda_6fdc15de22a520ca156369c24e880172>
{
};

# BlockSerializationUtils::<lambda_eec5f314ab07ecb90fdbd203ea1346af>

struct __cppobj BlockSerializationUtils::<lambda_eec5f314ab07ecb90fdbd203ea1346af>
{
};

# BlockSerializationUtils::<lambda_a1110cc62a51982954179bd25bf77129>

struct __cppobj BlockSerializationUtils::<lambda_a1110cc62a51982954179bd25bf77129>
{
};

# BlockSerializationUtils::<lambda_d0a6215a0f7bc9986b97d84c5e60ffac>

struct __cppobj BlockSerializationUtils::<lambda_d0a6215a0f7bc9986b97d84c5e60ffac>
{
};

# BlockSerializationUtils::<lambda_983915c06c07d38b7eeb9b007ba5973c>

struct __cppobj BlockSerializationUtils::<lambda_983915c06c07d38b7eeb9b007ba5973c>
{
};

# BlockSerializationUtils::<lambda_c4f1d652ffa81f41c47c703fce7f06f9>

struct __cppobj BlockSerializationUtils::<lambda_c4f1d652ffa81f41c47c703fce7f06f9>
{
};

# BlockSerializationUtils::<lambda_7523242e50f57937d64b42feb6b56a14>

struct __cppobj BlockSerializationUtils::<lambda_7523242e50f57937d64b42feb6b56a14>
{
};

# BlockSerializationUtils::<lambda_74a5a603128082ca82f2f8d0cd88766a>

struct __cppobj BlockSerializationUtils::<lambda_74a5a603128082ca82f2f8d0cd88766a>
{
};

# BlockSerializationUtils::<lambda_32e40a35da8c3294f43732418fde296e>

struct __cppobj BlockSerializationUtils::<lambda_32e40a35da8c3294f43732418fde296e>
{
};

# BlockSerializationUtils::<lambda_bb35ed5f5ef5cb1ffbbfa69a4d3c6326>

struct __cppobj BlockSerializationUtils::<lambda_bb35ed5f5ef5cb1ffbbfa69a4d3c6326>
{
};

# BlockSerializationUtils::<lambda_f0cc804bef9fa0dd72b808dfae7386bd>

struct __cppobj BlockSerializationUtils::<lambda_f0cc804bef9fa0dd72b808dfae7386bd>
{
};

# BlockSerializationUtils::<lambda_4e3010ef0db32b85e6ee2e6852546fdf>

struct __cppobj BlockSerializationUtils::<lambda_4e3010ef0db32b85e6ee2e6852546fdf>
{
};

# BlockSerializationUtils::<lambda_33409d97eef6295cc053556720fcdef0>

struct __cppobj BlockSerializationUtils::<lambda_33409d97eef6295cc053556720fcdef0>
{
};

# BlockSerializationUtils::<lambda_b671c635c1771fef52af19473cfe7ad9>

struct __cppobj BlockSerializationUtils::<lambda_b671c635c1771fef52af19473cfe7ad9>
{
};

# BlockSerializationUtils::<lambda_6e2477e4b65052724097b3043b39f74e>

struct __cppobj BlockSerializationUtils::<lambda_6e2477e4b65052724097b3043b39f74e>
{
};

# BlockSerializationUtils::<lambda_44c104413fc5ea03e5c27b8a7b40cff9>

struct __cppobj BlockSerializationUtils::<lambda_44c104413fc5ea03e5c27b8a7b40cff9>
{
};

# BlockSerializationUtils::<lambda_2793c93a8f04d82b30d40cd963fb3419>

struct __cppobj BlockSerializationUtils::<lambda_2793c93a8f04d82b30d40cd963fb3419>
{
};

# BlockSerializationUtils::<lambda_d58fa707dc3a10518dac5dcb7ddbe677>

struct __cppobj BlockSerializationUtils::<lambda_d58fa707dc3a10518dac5dcb7ddbe677>
{
};

# BlockSerializationUtils::<lambda_ab5229346ce48dd02810d3cfb2d04c26>

struct __cppobj BlockSerializationUtils::<lambda_ab5229346ce48dd02810d3cfb2d04c26>
{
};

# BlockSerializationUtils::<lambda_1af544942bf3d7d818e66af9eb8cdff1>

struct __cppobj BlockSerializationUtils::<lambda_1af544942bf3d7d818e66af9eb8cdff1>
{
};

# BlockSerializationUtils::<lambda_85712aad558f95b090474f511201e2e7>

struct __cppobj BlockSerializationUtils::<lambda_85712aad558f95b090474f511201e2e7>
{
};

# BlockSerializationUtils::<lambda_1cd52a4d357ff67d3c4df9b88d9fd919>

struct __cppobj BlockSerializationUtils::<lambda_1cd52a4d357ff67d3c4df9b88d9fd919>
{
};

# BlockSerializationUtils::<lambda_4886fcdffb1232a180350714b5ae36ed>

struct __cppobj BlockSerializationUtils::<lambda_4886fcdffb1232a180350714b5ae36ed>
{
};

# BlockSerializationUtils::<lambda_649f988dd6e7f09896e7d241a734c864>

struct __cppobj BlockSerializationUtils::<lambda_649f988dd6e7f09896e7d241a734c864>
{
};

# BlockSerializationUtils::<lambda_5991a7d46158b816eea851b55503ad9b>

struct __cppobj BlockSerializationUtils::<lambda_5991a7d46158b816eea851b55503ad9b>
{
};

# BlockSerializationUtils::<lambda_d7206e335b67aeba01b09fed7d5611a0>

struct __cppobj BlockSerializationUtils::<lambda_d7206e335b67aeba01b09fed7d5611a0>
{
};

# BlockSerializationUtils::<lambda_2cf8b0d99804c4cd0fc88a4a5d905a1d>

struct __cppobj BlockSerializationUtils::<lambda_2cf8b0d99804c4cd0fc88a4a5d905a1d>
{
};

# BlockSerializationUtils::<lambda_ac8200090f7b5a7b0d59a74faff7340e>

struct __cppobj BlockSerializationUtils::<lambda_ac8200090f7b5a7b0d59a74faff7340e>
{
};

# BlockSerializationUtils::<lambda_baf6a5dfea72ac67a7eaf2b0c7ad75ba>

struct __cppobj BlockSerializationUtils::<lambda_baf6a5dfea72ac67a7eaf2b0c7ad75ba>
{
};

# BlockSerializationUtils::<lambda_f829a2f0efcb053c6a1a24e77a7adabc>

struct __cppobj BlockSerializationUtils::<lambda_f829a2f0efcb053c6a1a24e77a7adabc>
{
};

# BlockSerializationUtils::<lambda_cf5f9de946c2870c5eb438da65e83ff5>

struct __cppobj BlockSerializationUtils::<lambda_cf5f9de946c2870c5eb438da65e83ff5>
{
};

# BlockSerializationUtils::<lambda_2c607cc9cce0494718d74689c2e81e23>

struct __cppobj BlockSerializationUtils::<lambda_2c607cc9cce0494718d74689c2e81e23>
{
};

# BlockSerializationUtils::<lambda_11801299155af1503d46179ae9105a8c>

struct __cppobj BlockSerializationUtils::<lambda_11801299155af1503d46179ae9105a8c>
{
};

# BlockSerializationUtils::<lambda_8aeaa4b2dbbc370eb42715c4738e9776>

struct __cppobj BlockSerializationUtils::<lambda_8aeaa4b2dbbc370eb42715c4738e9776>
{
};

# BlockSerializationUtils::<lambda_9162d39776f698a2f0ba606e4e270ec7>

struct __cppobj BlockSerializationUtils::<lambda_9162d39776f698a2f0ba606e4e270ec7>
{
};

# BlockSerializationUtils::<lambda_2803c18f812d4f4b2b92030797283b5f>

struct __cppobj BlockSerializationUtils::<lambda_2803c18f812d4f4b2b92030797283b5f>
{
};

# BlockSerializationUtils::<lambda_32f5ac5757bf39bcc1afe354ef82f89d>

struct __cppobj BlockSerializationUtils::<lambda_32f5ac5757bf39bcc1afe354ef82f89d>
{
};

# BlockSerializationUtils::<lambda_b2a8a73e6cc8989dc74ab8201791eda0>

struct __cppobj BlockSerializationUtils::<lambda_b2a8a73e6cc8989dc74ab8201791eda0>
{
};

# BlockSerializationUtils::<lambda_7b1eb2b2353b7ab47b5165a14bc7e71b>

struct __cppobj BlockSerializationUtils::<lambda_7b1eb2b2353b7ab47b5165a14bc7e71b>
{
};

# BlockSerializationUtils::<lambda_de5cb65c165db3ab320bde30c00532ab>

struct __cppobj BlockSerializationUtils::<lambda_de5cb65c165db3ab320bde30c00532ab>
{
};

# BlockSerializationUtils::<lambda_463e99393e64e816cb77ba56aadd83ba>

struct __cppobj BlockSerializationUtils::<lambda_463e99393e64e816cb77ba56aadd83ba>
{
};

# BlockSerializationUtils::<lambda_5f5d23befb5501f9de8b466b56e153c4>

struct __cppobj BlockSerializationUtils::<lambda_5f5d23befb5501f9de8b466b56e153c4>
{
};

# BlockSerializationUtils::<lambda_b9900bd6cdf5f758cf670f56b0b537e6>

struct __cppobj BlockSerializationUtils::<lambda_b9900bd6cdf5f758cf670f56b0b537e6>
{
};

# BlockSerializationUtils::<lambda_a359a906504ea464babfa36eb3058d03>

struct __cppobj BlockSerializationUtils::<lambda_a359a906504ea464babfa36eb3058d03>
{
};

# BlockSerializationUtils::<lambda_caed70072474ed1910ab2bfbc542a6ce>

struct __cppobj BlockSerializationUtils::<lambda_caed70072474ed1910ab2bfbc542a6ce>
{
};

# BlockSerializationUtils::<lambda_f55516643c745c324938ddfd0a1a863b>

struct __cppobj BlockSerializationUtils::<lambda_f55516643c745c324938ddfd0a1a863b>
{
};

# BlockSerializationUtils::<lambda_f8c7dadd1bbef2461d5dd674e68da0e6>

struct __cppobj BlockSerializationUtils::<lambda_f8c7dadd1bbef2461d5dd674e68da0e6>
{
};

# BlockSerializationUtils::<lambda_c96f7ac2a43505e3d39aa02f59be8b9a>

struct __cppobj BlockSerializationUtils::<lambda_c96f7ac2a43505e3d39aa02f59be8b9a>
{
};

# BlockSerializationUtils::<lambda_a4526e648df3660ceab1a72087cd2fac>

struct __cppobj BlockSerializationUtils::<lambda_a4526e648df3660ceab1a72087cd2fac>
{
};

# BlockSerializationUtils::<lambda_aa1b013aa4c6322f14796cd81f42b5cd>

struct __cppobj BlockSerializationUtils::<lambda_aa1b013aa4c6322f14796cd81f42b5cd>
{
};

# BlockSerializationUtils::<lambda_86b2c16786202c2a0126cc0817bbf393>

struct __cppobj BlockSerializationUtils::<lambda_86b2c16786202c2a0126cc0817bbf393>
{
};

# BlockSerializationUtils::<lambda_fd524c11c78dee318673618cf6d1bedb>

struct __cppobj BlockSerializationUtils::<lambda_fd524c11c78dee318673618cf6d1bedb>
{
};

# BlockSerializationUtils::<lambda_bd0c6af5812dd5f22c4cf33464b05ca8>

struct __cppobj BlockSerializationUtils::<lambda_bd0c6af5812dd5f22c4cf33464b05ca8>
{
};

# BlockSerializationUtils::<lambda_120724d97a1a0b780536216a55a12907>

struct __cppobj BlockSerializationUtils::<lambda_120724d97a1a0b780536216a55a12907>
{
};

# BlockSerializationUtils::<lambda_afe3986df72b54efdd35597efee6368a>

struct __cppobj BlockSerializationUtils::<lambda_afe3986df72b54efdd35597efee6368a>
{
};

# BlockSerializationUtils::<lambda_6fa0e5e321ce32175536bef513af4097>

struct __cppobj BlockSerializationUtils::<lambda_6fa0e5e321ce32175536bef513af4097>
{
};

# BlockSerializationUtils::<lambda_356e117505dc1c8c0527834f0213d4d4>

struct __cppobj BlockSerializationUtils::<lambda_356e117505dc1c8c0527834f0213d4d4>
{
};

# BlockSerializationUtils::<lambda_f58139ce1a15611cdb8d24fb5f331dfc>

struct __cppobj BlockSerializationUtils::<lambda_f58139ce1a15611cdb8d24fb5f331dfc>
{
};

# BlockSerializationUtils::<lambda_bfd98adef72dec2bcf0c23e534b4cc5c>

struct __cppobj BlockSerializationUtils::<lambda_bfd98adef72dec2bcf0c23e534b4cc5c>
{
};

# BlockSerializationUtils::<lambda_1a3286eb4837fe9da6660a6f6b9fe35e>

struct __cppobj BlockSerializationUtils::<lambda_1a3286eb4837fe9da6660a6f6b9fe35e>
{
};

# BlockSerializationUtils::<lambda_0286863a89754b1ddff522b25ac0a1c5>

struct __cppobj BlockSerializationUtils::<lambda_0286863a89754b1ddff522b25ac0a1c5>
{
};

# BlockSerializationUtils::<lambda_482394891ab632a56cf0ec6d92adbde4>

struct __cppobj BlockSerializationUtils::<lambda_482394891ab632a56cf0ec6d92adbde4>
{
};

# BlockSerializationUtils::<lambda_952fab1cdca066de4ac0daeda27ce3e3>

struct __cppobj BlockSerializationUtils::<lambda_952fab1cdca066de4ac0daeda27ce3e3>
{
};

# BlockSerializationUtils::<lambda_6536a8fa2b2fdbd0c5c7a184201b2549>

struct __cppobj BlockSerializationUtils::<lambda_6536a8fa2b2fdbd0c5c7a184201b2549>
{
};

# BlockSerializationUtils::<lambda_deb10ec0c7a9ddefde8ab21d2c35c767>

struct __cppobj BlockSerializationUtils::<lambda_deb10ec0c7a9ddefde8ab21d2c35c767>
{
};

# BlockSerializationUtils::<lambda_49dcdd42820e764c1f2b338ba8b16de8>

struct __cppobj BlockSerializationUtils::<lambda_49dcdd42820e764c1f2b338ba8b16de8>
{
};

# BlockSerializationUtils::<lambda_961f66577b3125927f56c21e1f6a4f9a>

struct __cppobj BlockSerializationUtils::<lambda_961f66577b3125927f56c21e1f6a4f9a>
{
};

# BlockSerializationUtils::<lambda_a11d431fef459d3df413f4eb2617c8b7>

struct __cppobj BlockSerializationUtils::<lambda_a11d431fef459d3df413f4eb2617c8b7>
{
};

# BlockSerializationUtils::<lambda_1c707fa07b1ff7c717e025eea5542e5d>

struct __cppobj BlockSerializationUtils::<lambda_1c707fa07b1ff7c717e025eea5542e5d>
{
};

# BlockSerializationUtils::<lambda_76c28052043f4402e41e4506e9833791>

struct __cppobj BlockSerializationUtils::<lambda_76c28052043f4402e41e4506e9833791>
{
};

# BlockSerializationUtils::<lambda_2504fee695490b12d4af8f1e10410d9e>

struct __cppobj BlockSerializationUtils::<lambda_2504fee695490b12d4af8f1e10410d9e>
{
};

# BlockSerializationUtils::<lambda_1364fa5bf15868d8c11c786949cf3cb7>

struct __cppobj BlockSerializationUtils::<lambda_1364fa5bf15868d8c11c786949cf3cb7>
{
};

# BlockSerializationUtils::<lambda_688d1708202b2c1b91ad3445756d1731>

struct __cppobj BlockSerializationUtils::<lambda_688d1708202b2c1b91ad3445756d1731>
{
};

# BlockSerializationUtils::<lambda_f9a2a48e95ae986b8f1f31d8b4b07007>

struct __cppobj BlockSerializationUtils::<lambda_f9a2a48e95ae986b8f1f31d8b4b07007>
{
};

# BlockSerializationUtils::<lambda_e3ed33be2a558f2791743a8a07f27c1a>

struct __cppobj BlockSerializationUtils::<lambda_e3ed33be2a558f2791743a8a07f27c1a>
{
};

# BlockSerializationUtils::<lambda_2f4365bdc54b6da9acdb3bde1fadef86>

struct __cppobj BlockSerializationUtils::<lambda_2f4365bdc54b6da9acdb3bde1fadef86>
{
};

# BlockSerializationUtils::<lambda_8c60ea3a92969cc1c0b6a6899ca2a32e>

struct __cppobj BlockSerializationUtils::<lambda_8c60ea3a92969cc1c0b6a6899ca2a32e>
{
};

# BlockSerializationUtils::<lambda_726975e58168013c5385d2e7610013e5>

struct __cppobj BlockSerializationUtils::<lambda_726975e58168013c5385d2e7610013e5>
{
};

# BlockSerializationUtils::<lambda_9d3dbb6d6bce2cb555178c19c453a08b>

struct __cppobj BlockSerializationUtils::<lambda_9d3dbb6d6bce2cb555178c19c453a08b>
{
};

# BlockSerializationUtils::<lambda_0fe75d0e25cee86e8ff52a8713ef77ae>

struct __cppobj BlockSerializationUtils::<lambda_0fe75d0e25cee86e8ff52a8713ef77ae>
{
};

# BlockSerializationUtils::<lambda_2c03e7c8e15d88d893cd88bdbf82f8ca>

struct __cppobj BlockSerializationUtils::<lambda_2c03e7c8e15d88d893cd88bdbf82f8ca>
{
};

# BlockSerializationUtils::<lambda_909dcd7ce6d171f2544da41d7f521cbe>

struct __cppobj BlockSerializationUtils::<lambda_909dcd7ce6d171f2544da41d7f521cbe>
{
};

# BlockSerializationUtils::<lambda_2861872706d1618ff6c5540b9522c333>

struct __cppobj BlockSerializationUtils::<lambda_2861872706d1618ff6c5540b9522c333>
{
};

# BlockSerializationUtils::<lambda_9c81cca2bc07f493f58b7ad575637daa>

struct __cppobj BlockSerializationUtils::<lambda_9c81cca2bc07f493f58b7ad575637daa>
{
};

# BlockSerializationUtils::<lambda_e4ffe1915cdb08948830b8ae67eddf8c>

struct __cppobj BlockSerializationUtils::<lambda_e4ffe1915cdb08948830b8ae67eddf8c>
{
};

# BlockSerializationUtils::<lambda_8f95b6dcff13443a45b56973d05613ad>

struct __cppobj BlockSerializationUtils::<lambda_8f95b6dcff13443a45b56973d05613ad>
{
};

# BlockSerializationUtils::<lambda_9bf14eafc7038d1e8115f55f6616c527>

struct __cppobj BlockSerializationUtils::<lambda_9bf14eafc7038d1e8115f55f6616c527>
{
};

# BlockSerializationUtils::<lambda_08de8f02cd1235cb91db8d72b5330a40>

struct __cppobj BlockSerializationUtils::<lambda_08de8f02cd1235cb91db8d72b5330a40>
{
};

# BlockSerializationUtils::<lambda_989a564efee623cd3ddd0f72bf988e57>

struct __cppobj BlockSerializationUtils::<lambda_989a564efee623cd3ddd0f72bf988e57>
{
};

# BlockSerializationUtils::<lambda_50edb6a334ed8e799210e99afd191fc6>

struct __cppobj BlockSerializationUtils::<lambda_50edb6a334ed8e799210e99afd191fc6>
{
};

# BlockSerializationUtils::<lambda_a228982349169ce148712dfe490ae519>

struct __cppobj BlockSerializationUtils::<lambda_a228982349169ce148712dfe490ae519>
{
};

# BlockSerializationUtils::<lambda_c51626a2d86135e2ac70650eee7fe552>

struct __cppobj BlockSerializationUtils::<lambda_c51626a2d86135e2ac70650eee7fe552>
{
};

# BlockSerializationUtils::<lambda_2bfa752f547e87ed344ce74e19fecb96>

struct __cppobj BlockSerializationUtils::<lambda_2bfa752f547e87ed344ce74e19fecb96>
{
};

# BlockSerializationUtils::<lambda_896cd9dcb0f02b56f1ad2efb8a567ff0>

struct __cppobj BlockSerializationUtils::<lambda_896cd9dcb0f02b56f1ad2efb8a567ff0>
{
};

# BlockSerializationUtils::<lambda_d113438834d0614839bba2c528b53b3f>

struct __cppobj BlockSerializationUtils::<lambda_d113438834d0614839bba2c528b53b3f>
{
};

# BlockSerializationUtils::<lambda_d55872600daa00ea84d46752f8149052>

struct __cppobj BlockSerializationUtils::<lambda_d55872600daa00ea84d46752f8149052>
{
};

# BlockSerializationUtils::<lambda_b59cc2a447e78643ca0b4d0215f568ee>

struct __cppobj BlockSerializationUtils::<lambda_b59cc2a447e78643ca0b4d0215f568ee>
{
};

# BlockSerializationUtils::<lambda_7efda1a3afc251a60489e70e6fee043a>

struct __cppobj BlockSerializationUtils::<lambda_7efda1a3afc251a60489e70e6fee043a>
{
};

# BlockSerializationUtils::<lambda_a8aea26d4affce3a7cff8c83479a984e>

struct __cppobj BlockSerializationUtils::<lambda_a8aea26d4affce3a7cff8c83479a984e>
{
};

# BlockSerializationUtils::<lambda_7c111c639de802ed8f3f595c199786b1>

struct __cppobj BlockSerializationUtils::<lambda_7c111c639de802ed8f3f595c199786b1>
{
};

# BlockSerializationUtils::<lambda_78e8ca433d9f14fb7e86c1b77a21e900>

struct __cppobj BlockSerializationUtils::<lambda_78e8ca433d9f14fb7e86c1b77a21e900>
{
};

# BlockSerializationUtils::<lambda_8257867c58fed36c81b682f912a6b281>

struct __cppobj BlockSerializationUtils::<lambda_8257867c58fed36c81b682f912a6b281>
{
};

# BlockSerializationUtils::<lambda_dc56b327c9e0705d4ad5ef7abc2b1cf2>

struct __cppobj BlockSerializationUtils::<lambda_dc56b327c9e0705d4ad5ef7abc2b1cf2>
{
};

# BlockSerializationUtils::<lambda_4d325f6d56fc641a1e1f6102241f9213>

struct __cppobj BlockSerializationUtils::<lambda_4d325f6d56fc641a1e1f6102241f9213>
{
};

# BlockSerializationUtils::<lambda_fa3600bd56a1534f63666da7b3cfbd7b>

struct __cppobj BlockSerializationUtils::<lambda_fa3600bd56a1534f63666da7b3cfbd7b>
{
};

# BlockSerializationUtils::<lambda_244ef704eea5aa63cb1f9d18883bc534>

struct __cppobj BlockSerializationUtils::<lambda_244ef704eea5aa63cb1f9d18883bc534>
{
};

# BlockSerializationUtils::<lambda_d91658c8cc09b0339182c5a1a9e87015>

struct __cppobj BlockSerializationUtils::<lambda_d91658c8cc09b0339182c5a1a9e87015>
{
};

# BlockSerializationUtils::<lambda_4a62419ca4a02c449b017cd0fce13986>

struct __cppobj BlockSerializationUtils::<lambda_4a62419ca4a02c449b017cd0fce13986>
{
};

# BlockSerializationUtils::<lambda_e778efc78cc8ddf4d370f7912963d6eb>

struct __cppobj BlockSerializationUtils::<lambda_e778efc78cc8ddf4d370f7912963d6eb>
{
};

# BlockSerializationUtils::<lambda_886224d4082bdf8c086dd2f61e422482>

struct __cppobj BlockSerializationUtils::<lambda_886224d4082bdf8c086dd2f61e422482>
{
};

# BlockSerializationUtils::<lambda_5904a2917e55a67f8a253b60b6f8fd36>

struct __cppobj BlockSerializationUtils::<lambda_5904a2917e55a67f8a253b60b6f8fd36>
{
};

# BlockSerializationUtils::<lambda_f1ed6f48f9a7b639a231f501856d019f>

struct __cppobj BlockSerializationUtils::<lambda_f1ed6f48f9a7b639a231f501856d019f>
{
};

# BlockSerializationUtils::<lambda_2ef117843c80acd549be97116c8dde90>

struct __cppobj BlockSerializationUtils::<lambda_2ef117843c80acd549be97116c8dde90>
{
};

# BlockSerializationUtils::<lambda_213dc2d94875495d5097ea3dd15d9a1e>

struct __cppobj BlockSerializationUtils::<lambda_213dc2d94875495d5097ea3dd15d9a1e>
{
};

# BlockSerializationUtils::<lambda_417d1e96c37e1ca48f2dafb6a9c6228d>

struct __cppobj BlockSerializationUtils::<lambda_417d1e96c37e1ca48f2dafb6a9c6228d>
{
};

# BlockSerializationUtils::<lambda_2f9e6b501bab06c9271a912361d42fed>

struct __cppobj BlockSerializationUtils::<lambda_2f9e6b501bab06c9271a912361d42fed>
{
};

# BlockSerializationUtils::<lambda_67a63e26aa15305377f26047eb0a56df>

struct __cppobj BlockSerializationUtils::<lambda_67a63e26aa15305377f26047eb0a56df>
{
};

# BlockSerializationUtils::<lambda_9f43e194fb0ac5e519d42e530b4e9b8f>

struct __cppobj BlockSerializationUtils::<lambda_9f43e194fb0ac5e519d42e530b4e9b8f>
{
};

# BlockSerializationUtils::<lambda_798a04fd2847211a026b83a1d7a042d8>

struct __cppobj BlockSerializationUtils::<lambda_798a04fd2847211a026b83a1d7a042d8>
{
};

# BlockSerializationUtils::<lambda_62546bb4a527560d6418061ae8df526d>

struct __cppobj BlockSerializationUtils::<lambda_62546bb4a527560d6418061ae8df526d>
{
};

# BlockSerializationUtils::<lambda_132571df59eb34a18f760a98fba05206>

struct __cppobj BlockSerializationUtils::<lambda_132571df59eb34a18f760a98fba05206>
{
};

# BlockSerializationUtils::<lambda_0c468b720adc7c9254e30817f3890b7a>

struct __cppobj BlockSerializationUtils::<lambda_0c468b720adc7c9254e30817f3890b7a>
{
};

# BlockSerializationUtils::<lambda_e7120cd4e9b688165b9aa1e73b0f809f>

struct __cppobj BlockSerializationUtils::<lambda_e7120cd4e9b688165b9aa1e73b0f809f>
{
};

# BlockSerializationUtils::<lambda_52d008f53c49bd081219984e761fb544>

struct __cppobj BlockSerializationUtils::<lambda_52d008f53c49bd081219984e761fb544>
{
};

# BlockSerializationUtils::<lambda_9f343462091d01c098a6fa28e542a2bf>

struct __cppobj BlockSerializationUtils::<lambda_9f343462091d01c098a6fa28e542a2bf>
{
};

# BlockSerializationUtils::<lambda_17da692630b94393008544e8f2c1073e>

struct __cppobj BlockSerializationUtils::<lambda_17da692630b94393008544e8f2c1073e>
{
};

# BlockSerializationUtils::<lambda_58c3360145a5c1ffbc17058e4903fce0>

struct __cppobj BlockSerializationUtils::<lambda_58c3360145a5c1ffbc17058e4903fce0>
{
};

# BlockSerializationUtils::<lambda_6d291b38ad7503b1063a69c4c4a0d373>

struct __cppobj BlockSerializationUtils::<lambda_6d291b38ad7503b1063a69c4c4a0d373>
{
};

# BlockSerializationUtils::<lambda_77b3bba338ba37df6b8f39abb11f2e84>

struct __cppobj BlockSerializationUtils::<lambda_77b3bba338ba37df6b8f39abb11f2e84>
{
};

# BlockSerializationUtils::<lambda_9c8777d21e42fef9d68ac5391cb9bece>

struct __cppobj BlockSerializationUtils::<lambda_9c8777d21e42fef9d68ac5391cb9bece>
{
};

# BlockSerializationUtils::<lambda_83daccaee1122b8327ff046e252a2042>

struct __cppobj BlockSerializationUtils::<lambda_83daccaee1122b8327ff046e252a2042>
{
};

# BlockSerializationUtils::<lambda_f7c3c8206c88a2520e27451ff1392891>

struct __cppobj BlockSerializationUtils::<lambda_f7c3c8206c88a2520e27451ff1392891>
{
};

# BlockSerializationUtils::<lambda_25a90d9c4ebba7333b67781be8b3c122>

struct __cppobj BlockSerializationUtils::<lambda_25a90d9c4ebba7333b67781be8b3c122>
{
};

# BlockSerializationUtils::<lambda_dfe2b161b80c37784e81cfdd60a64fd7>

struct __cppobj BlockSerializationUtils::<lambda_dfe2b161b80c37784e81cfdd60a64fd7>
{
};

# BlockSerializationUtils::<lambda_e8b6d3924e6395d5c61e9f6a88daff3a>

struct __cppobj BlockSerializationUtils::<lambda_e8b6d3924e6395d5c61e9f6a88daff3a>
{
};

# BlockSerializationUtils::<lambda_e1b39284fb325a9fc5fee4db216ede87>

struct __cppobj BlockSerializationUtils::<lambda_e1b39284fb325a9fc5fee4db216ede87>
{
};

# BlockSerializationUtils::<lambda_514eaf3e167c4cc40851d43fedcdc402>

struct __cppobj BlockSerializationUtils::<lambda_514eaf3e167c4cc40851d43fedcdc402>
{
};

# BlockSerializationUtils::<lambda_4870085a47b514f0533913c903dcd1a9>

struct __cppobj BlockSerializationUtils::<lambda_4870085a47b514f0533913c903dcd1a9>
{
};

# BlockSerializationUtils::<lambda_5ed417f39bd98751db56e791ece7cb10>

struct __cppobj BlockSerializationUtils::<lambda_5ed417f39bd98751db56e791ece7cb10>
{
};

# BlockSerializationUtils::<lambda_633bd25265605641a8f9cb5d1ccab560>

struct __cppobj BlockSerializationUtils::<lambda_633bd25265605641a8f9cb5d1ccab560>
{
};

# BlockSerializationUtils::<lambda_39fbcccb7c7bf029cb18111282f8c368>

struct __cppobj BlockSerializationUtils::<lambda_39fbcccb7c7bf029cb18111282f8c368>
{
};

# BlockSerializationUtils::<lambda_f7865132b42f5c8f7cf98bddaf9fc08c>

struct __cppobj BlockSerializationUtils::<lambda_f7865132b42f5c8f7cf98bddaf9fc08c>
{
};

# BlockSerializationUtils::<lambda_5a919aa231f9ba1f4b63a9263fce778d>

struct __cppobj BlockSerializationUtils::<lambda_5a919aa231f9ba1f4b63a9263fce778d>
{
};

# BlockSerializationUtils::<lambda_4acab81f8277b78b0d65320d8303db54>

struct __cppobj BlockSerializationUtils::<lambda_4acab81f8277b78b0d65320d8303db54>
{
};

# BlockSerializationUtils::<lambda_9dc5fe5c9fa7b26ea354e190fe5ee983>

struct __cppobj BlockSerializationUtils::<lambda_9dc5fe5c9fa7b26ea354e190fe5ee983>
{
};

# BlockSerializationUtils::<lambda_7c4774d03f6bdfef7d3c09c34cb90361>

struct __cppobj BlockSerializationUtils::<lambda_7c4774d03f6bdfef7d3c09c34cb90361>
{
};

# BlockSerializationUtils::<lambda_87e3ca8383c2e6c0d80d8f86a30404a3>

struct __cppobj BlockSerializationUtils::<lambda_87e3ca8383c2e6c0d80d8f86a30404a3>
{
};

# BlockSerializationUtils::<lambda_8ee582a5d5ef889ae713440f7b568db1>

struct __cppobj BlockSerializationUtils::<lambda_8ee582a5d5ef889ae713440f7b568db1>
{
};

# BlockSerializationUtils::<lambda_8f3aec30a2b85700b60a88197cc2c0d7>

struct __cppobj BlockSerializationUtils::<lambda_8f3aec30a2b85700b60a88197cc2c0d7>
{
};

# BlockSerializationUtils::<lambda_37374d23cdd4b05e89d1f8c2ab538dc6>

struct __cppobj BlockSerializationUtils::<lambda_37374d23cdd4b05e89d1f8c2ab538dc6>
{
};

# BlockSerializationUtils::<lambda_b69e0b83aa82a8115c8a8f6395157c66>

struct __cppobj BlockSerializationUtils::<lambda_b69e0b83aa82a8115c8a8f6395157c66>
{
};

# BlockSerializationUtils::<lambda_92cbd13327c65817b8da5515f319827f>

struct __cppobj BlockSerializationUtils::<lambda_92cbd13327c65817b8da5515f319827f>
{
};

# BlockSerializationUtils::<lambda_fc03a6576434cddee2bbf3252d500c7c>

struct __cppobj BlockSerializationUtils::<lambda_fc03a6576434cddee2bbf3252d500c7c>
{
};

# BlockSerializationUtils::<lambda_46dec10d01150c8df455d6443728e9e9>

struct __cppobj BlockSerializationUtils::<lambda_46dec10d01150c8df455d6443728e9e9>
{
};

# BlockSerializationUtils::<lambda_cc2ff158363c3e4cad7786e84d0574c9>

struct __cppobj BlockSerializationUtils::<lambda_cc2ff158363c3e4cad7786e84d0574c9>
{
};

# BlockSerializationUtils::<lambda_0da51c364bdadd59bc27fa537a15e0d4>

struct __cppobj BlockSerializationUtils::<lambda_0da51c364bdadd59bc27fa537a15e0d4>
{
};

# BlockSerializationUtils::<lambda_ea10f2191d60813c2f7f96b0b907e7dd>

struct __cppobj BlockSerializationUtils::<lambda_ea10f2191d60813c2f7f96b0b907e7dd>
{
};

# BlockSerializationUtils::<lambda_4fb3118920b9164aaf8908c5eb1b951a>

struct __cppobj BlockSerializationUtils::<lambda_4fb3118920b9164aaf8908c5eb1b951a>
{
};

# BlockSerializationUtils::<lambda_894121c1bdb7e464b30645e16073fd2b>

struct __cppobj BlockSerializationUtils::<lambda_894121c1bdb7e464b30645e16073fd2b>
{
};

# BlockSerializationUtils::<lambda_21f90e89907a39f26e33d0138efabc5f>

struct __cppobj BlockSerializationUtils::<lambda_21f90e89907a39f26e33d0138efabc5f>
{
};

# BlockSerializationUtils::<lambda_bfb1de0b875d4d43bf37f438dbee6a4e>

struct __cppobj BlockSerializationUtils::<lambda_bfb1de0b875d4d43bf37f438dbee6a4e>
{
};

# BlockSerializationUtils::<lambda_7541b4dfa2ac6a7db09ac2e8a7eecb0e>

struct __cppobj BlockSerializationUtils::<lambda_7541b4dfa2ac6a7db09ac2e8a7eecb0e>
{
};

# BlockSerializationUtils::<lambda_a89591253bb4bab0ca5c6b449e90dc86>

struct __cppobj BlockSerializationUtils::<lambda_a89591253bb4bab0ca5c6b449e90dc86>
{
};

# BlockSerializationUtils::<lambda_cec701a19c5f9f5bc36dfdf03c642ceb>

struct __cppobj BlockSerializationUtils::<lambda_cec701a19c5f9f5bc36dfdf03c642ceb>
{
};

# BlockSerializationUtils::<lambda_c9d612fbfad9699669f760f0160a02db>

struct __cppobj BlockSerializationUtils::<lambda_c9d612fbfad9699669f760f0160a02db>
{
};

# BlockSerializationUtils::<lambda_956cdab44be66d5197e22c3a855e5b69>

struct __cppobj BlockSerializationUtils::<lambda_956cdab44be66d5197e22c3a855e5b69>
{
};

# BlockSerializationUtils::<lambda_b5ec29e6aa1a63684dd74e8901379a71>

struct __cppobj BlockSerializationUtils::<lambda_b5ec29e6aa1a63684dd74e8901379a71>
{
};

# BlockSerializationUtils::<lambda_7a4b7ad1b18e5ad29c5dcd63724ec623>

struct __cppobj BlockSerializationUtils::<lambda_7a4b7ad1b18e5ad29c5dcd63724ec623>
{
};

# BlockSerializationUtils::<lambda_953f8970144e1c7e010b1bf50aceb858>

struct __cppobj BlockSerializationUtils::<lambda_953f8970144e1c7e010b1bf50aceb858>
{
};

# BlockSerializationUtils::<lambda_3be53f580cd60341de483f3b38e95be4>

struct __cppobj BlockSerializationUtils::<lambda_3be53f580cd60341de483f3b38e95be4>
{
};

# BlockSerializationUtils::<lambda_072e20da3c3546077ad9fac18aff268f>

struct __cppobj BlockSerializationUtils::<lambda_072e20da3c3546077ad9fac18aff268f>
{
};

# BlockSerializationUtils::<lambda_c33fa34117d50e6d84953ee6ac15f21f>

struct __cppobj BlockSerializationUtils::<lambda_c33fa34117d50e6d84953ee6ac15f21f>
{
};

# BlockSerializationUtils::<lambda_3ba8d13556d0208451be9f301b20488f>

struct __cppobj BlockSerializationUtils::<lambda_3ba8d13556d0208451be9f301b20488f>
{
};

# BlockSerializationUtils::<lambda_ad220bcab3fa600f37cd234a06c2f562>

struct __cppobj BlockSerializationUtils::<lambda_ad220bcab3fa600f37cd234a06c2f562>
{
};

# BlockSerializationUtils::<lambda_55a996f326e9bd25d76cd6345f632a7a>

struct __cppobj BlockSerializationUtils::<lambda_55a996f326e9bd25d76cd6345f632a7a>
{
};

# BlockSerializationUtils::<lambda_846c4b8abb6ba7fcac664aa7377aa006>

struct __cppobj BlockSerializationUtils::<lambda_846c4b8abb6ba7fcac664aa7377aa006>
{
};

# BlockSerializationUtils::<lambda_8f29401e704da5e05ec9734a207f563b>

struct __cppobj BlockSerializationUtils::<lambda_8f29401e704da5e05ec9734a207f563b>
{
};

# BlockSerializationUtils::<lambda_004be5b6fa5b78c9b8adeaf94069d601>

struct __cppobj BlockSerializationUtils::<lambda_004be5b6fa5b78c9b8adeaf94069d601>
{
};

# BlockSerializationUtils::<lambda_19eaaaa315c8a15378bed5bb1897da50>

struct __cppobj BlockSerializationUtils::<lambda_19eaaaa315c8a15378bed5bb1897da50>
{
};

# BlockSerializationUtils::<lambda_b86e514372db9652b8fa3805b0df3a1e>

struct __cppobj BlockSerializationUtils::<lambda_b86e514372db9652b8fa3805b0df3a1e>
{
};

# BlockSerializationUtils::<lambda_a8fca6a99b2e989d529019f6a8656001>

struct __cppobj BlockSerializationUtils::<lambda_a8fca6a99b2e989d529019f6a8656001>
{
};

# BlockSerializationUtils::<lambda_bbd8a0dea13b4a27264cab0ddabc331c>

struct __cppobj BlockSerializationUtils::<lambda_bbd8a0dea13b4a27264cab0ddabc331c>
{
};

# BlockSerializationUtils::<lambda_7238f1484e2fe70ac6df34442375cd94>

struct __cppobj BlockSerializationUtils::<lambda_7238f1484e2fe70ac6df34442375cd94>
{
};

# BlockSerializationUtils::<lambda_77a9d01c9329a5b267133cb97b47b40b>

struct __cppobj BlockSerializationUtils::<lambda_77a9d01c9329a5b267133cb97b47b40b>
{
};

# BlockSerializationUtils::<lambda_38a9b0207bb3fc83a8770b5470c79eec>

struct __cppobj BlockSerializationUtils::<lambda_38a9b0207bb3fc83a8770b5470c79eec>
{
};

# BlockSerializationUtils::<lambda_f8ef20131a7fca5fb97d6e361fc3943f>

struct __cppobj BlockSerializationUtils::<lambda_f8ef20131a7fca5fb97d6e361fc3943f>
{
};

# BlockSerializationUtils::<lambda_004685af1a11991fd7dfcf021cdaa64d>

struct __cppobj BlockSerializationUtils::<lambda_004685af1a11991fd7dfcf021cdaa64d>
{
};

# BlockSerializationUtils::<lambda_dcea529a71bef71f14749d8c90f399b2>

struct __cppobj BlockSerializationUtils::<lambda_dcea529a71bef71f14749d8c90f399b2>
{
};

# BlockSerializationUtils::<lambda_3b9d5e9eacb1a1a865c43b51fed2a2e3>

struct __cppobj BlockSerializationUtils::<lambda_3b9d5e9eacb1a1a865c43b51fed2a2e3>
{
};

# BlockSerializationUtils::<lambda_d091ef4edf66be00a00642c2bd2a97f0>

struct __cppobj BlockSerializationUtils::<lambda_d091ef4edf66be00a00642c2bd2a97f0>
{
};

# BlockSerializationUtils::<lambda_48bdc52667a74a9cba6ac48bb060c4e7>

struct __cppobj BlockSerializationUtils::<lambda_48bdc52667a74a9cba6ac48bb060c4e7>
{
};

# BlockSerializationUtils::<lambda_3d9136b72324b1c1e85620fb476ccb3f>

struct __cppobj BlockSerializationUtils::<lambda_3d9136b72324b1c1e85620fb476ccb3f>
{
};

# BlockSerializationUtils::<lambda_79d10e13b89dd9fab80a33352fdb1e3b>

struct __cppobj BlockSerializationUtils::<lambda_79d10e13b89dd9fab80a33352fdb1e3b>
{
};

# BlockSerializationUtils::<lambda_77c84c148e95142eb75c7826f6649bc0>

struct __cppobj BlockSerializationUtils::<lambda_77c84c148e95142eb75c7826f6649bc0>
{
};

# BlockSerializationUtils::<lambda_d6987d7bf7fd30400e4b9256bf31af66>

struct __cppobj BlockSerializationUtils::<lambda_d6987d7bf7fd30400e4b9256bf31af66>
{
};

# BlockSerializationUtils::<lambda_52a9006590c0e7dda0c284315f59f3e1>

struct __cppobj BlockSerializationUtils::<lambda_52a9006590c0e7dda0c284315f59f3e1>
{
};

# BlockSerializationUtils::<lambda_a13fe0e459ff7fe0ecc915115cb98f36>

struct __cppobj BlockSerializationUtils::<lambda_a13fe0e459ff7fe0ecc915115cb98f36>
{
};

# BlockSerializationUtils::<lambda_a77974a6853122b76d5c74fd39c59957>

struct __cppobj BlockSerializationUtils::<lambda_a77974a6853122b76d5c74fd39c59957>
{
};

# BlockSerializationUtils::<lambda_6ea1eca1adcae043c74a11f68b3da135>

struct __cppobj BlockSerializationUtils::<lambda_6ea1eca1adcae043c74a11f68b3da135>
{
};

# BlockSerializationUtils::<lambda_e2859667c953321c444c777bdef35622>

struct __cppobj BlockSerializationUtils::<lambda_e2859667c953321c444c777bdef35622>
{
};

# BlockSerializationUtils::<lambda_a92e69a4c04f92cbf1e8e19b0c12fa2d>

struct __cppobj BlockSerializationUtils::<lambda_a92e69a4c04f92cbf1e8e19b0c12fa2d>
{
};

# BlockSerializationUtils::<lambda_8428118b34244b71b887a59143e7a9fa>

struct __cppobj BlockSerializationUtils::<lambda_8428118b34244b71b887a59143e7a9fa>
{
};

# BlockSerializationUtils::<lambda_6cf682a8d95c29558beca2661793f8ed>

struct __cppobj BlockSerializationUtils::<lambda_6cf682a8d95c29558beca2661793f8ed>
{
};

# BlockSerializationUtils::<lambda_d8fa2f79c98b9dc97e1d575cb7c91879>

struct __cppobj BlockSerializationUtils::<lambda_d8fa2f79c98b9dc97e1d575cb7c91879>
{
};

# BlockSerializationUtils::<lambda_c9e8b0aa6a78d42c6312471d06b8516c>

struct __cppobj BlockSerializationUtils::<lambda_c9e8b0aa6a78d42c6312471d06b8516c>
{
};

# BlockSerializationUtils::<lambda_4cf77149a2917fde5bfaeb7a88f03e29>

struct __cppobj BlockSerializationUtils::<lambda_4cf77149a2917fde5bfaeb7a88f03e29>
{
};

# BlockSerializationUtils::<lambda_46501efeb038e1117703698f94186212>

struct __cppobj BlockSerializationUtils::<lambda_46501efeb038e1117703698f94186212>
{
};

# BlockSerializationUtils::<lambda_d3ae9a9d053e9156ececa7b5569c3736>

struct __cppobj BlockSerializationUtils::<lambda_d3ae9a9d053e9156ececa7b5569c3736>
{
};

# BlockSerializationUtils::<lambda_0730084efe72c8be9d237570b2a7fcc3>

struct __cppobj BlockSerializationUtils::<lambda_0730084efe72c8be9d237570b2a7fcc3>
{
};

# BlockSerializationUtils::<lambda_f33152037d93e168ee2daf602f847cbf>

struct __cppobj BlockSerializationUtils::<lambda_f33152037d93e168ee2daf602f847cbf>
{
};

# BlockSerializationUtils::<lambda_dbb7c86e78cb4d856820de1cdef3d9ad>

struct __cppobj BlockSerializationUtils::<lambda_dbb7c86e78cb4d856820de1cdef3d9ad>
{
};

# BlockSerializationUtils::<lambda_65363a572086fb22ab5ec06a3afe3853>

struct __cppobj BlockSerializationUtils::<lambda_65363a572086fb22ab5ec06a3afe3853>
{
};

# BlockSerializationUtils::<lambda_b83d5145f9711a48958f86f683c3e703>

struct __cppobj BlockSerializationUtils::<lambda_b83d5145f9711a48958f86f683c3e703>
{
};

# BlockSerializationUtils::<lambda_6bb229817dc72b323ebfe9ff605e00b8>

struct __cppobj BlockSerializationUtils::<lambda_6bb229817dc72b323ebfe9ff605e00b8>
{
};

# BlockSerializationUtils::<lambda_537f727195b63c5e49d00b56a3af7cc6>

struct __cppobj BlockSerializationUtils::<lambda_537f727195b63c5e49d00b56a3af7cc6>
{
};

# BlockSerializationUtils::<lambda_9dd905b5dcc2c2ce02cf416f0354ae2a>

struct __cppobj BlockSerializationUtils::<lambda_9dd905b5dcc2c2ce02cf416f0354ae2a>
{
};

# BlockSerializationUtils::<lambda_cd9dafb2469335aa35b0b5f5aeac25b9>

struct __cppobj BlockSerializationUtils::<lambda_cd9dafb2469335aa35b0b5f5aeac25b9>
{
};

# BlockSerializationUtils::<lambda_a39287cc5453d8bd8270c603aa4a2ed4>

struct __cppobj BlockSerializationUtils::<lambda_a39287cc5453d8bd8270c603aa4a2ed4>
{
};

# BlockSerializationUtils::<lambda_880eb1662c280a9a54fc30e52c108db1>

struct __cppobj BlockSerializationUtils::<lambda_880eb1662c280a9a54fc30e52c108db1>
{
};

# BlockSerializationUtils::<lambda_c1930eb8f1d3d87d6c21d78c5b5af506>

struct __cppobj BlockSerializationUtils::<lambda_c1930eb8f1d3d87d6c21d78c5b5af506>
{
};

# BlockSerializationUtils::<lambda_9b6ae55357330423f18f3e6ff446dd1c>

struct __cppobj BlockSerializationUtils::<lambda_9b6ae55357330423f18f3e6ff446dd1c>
{
};

# BlockSerializationUtils::<lambda_2f0f08543c10cb0afdfa867616f57f57>

struct __cppobj BlockSerializationUtils::<lambda_2f0f08543c10cb0afdfa867616f57f57>
{
};

# BlockSerializationUtils::<lambda_5c7b3f99b943689ca2cd428c9fbd4bea>

struct __cppobj BlockSerializationUtils::<lambda_5c7b3f99b943689ca2cd428c9fbd4bea>
{
};

# BlockSerializationUtils::<lambda_0cf65595139336f3e89cbbf78e78c9b0>

struct __cppobj BlockSerializationUtils::<lambda_0cf65595139336f3e89cbbf78e78c9b0>
{
};

# BlockSerializationUtils::<lambda_0a6f5383d730dd8b92e1159be66ec376>

struct __cppobj BlockSerializationUtils::<lambda_0a6f5383d730dd8b92e1159be66ec376>
{
};

# BlockSerializationUtils::<lambda_6d9740f9d85b8fe0fe2fcd3ac015d095>

struct __cppobj BlockSerializationUtils::<lambda_6d9740f9d85b8fe0fe2fcd3ac015d095>
{
};

# BlockSerializationUtils::<lambda_e81423d5a7ebefcd0e55b180efc99dd4>

struct __cppobj BlockSerializationUtils::<lambda_e81423d5a7ebefcd0e55b180efc99dd4>
{
};

# BlockSerializationUtils::<lambda_976efd94a5f0085b9dad031f49cf7e0e>

struct __cppobj BlockSerializationUtils::<lambda_976efd94a5f0085b9dad031f49cf7e0e>
{
};

# BlockSerializationUtils::<lambda_e7edf058f6cdd8704ff56c1b7651c98b>

struct __cppobj BlockSerializationUtils::<lambda_e7edf058f6cdd8704ff56c1b7651c98b>
{
};

# BlockSerializationUtils::<lambda_de1b9469f49bd9cbf443affd2dce3bfc>

struct __cppobj BlockSerializationUtils::<lambda_de1b9469f49bd9cbf443affd2dce3bfc>
{
};

# BlockSerializationUtils::<lambda_9ad0876a6b34d7d84a87821c07ad588f>

struct __cppobj BlockSerializationUtils::<lambda_9ad0876a6b34d7d84a87821c07ad588f>
{
};

# BlockSerializationUtils::<lambda_8c29a74f21ea5c343fef298b3f2b0872>

struct __cppobj BlockSerializationUtils::<lambda_8c29a74f21ea5c343fef298b3f2b0872>
{
};

# BlockSerializationUtils::<lambda_7af4031d2b0a9e035cd44eb97fc216ce>

struct __cppobj BlockSerializationUtils::<lambda_7af4031d2b0a9e035cd44eb97fc216ce>
{
};

# BlockSerializationUtils::<lambda_3f5b2342cf87bbafc2a8943847a51b18>

struct __cppobj BlockSerializationUtils::<lambda_3f5b2342cf87bbafc2a8943847a51b18>
{
};

# BlockSerializationUtils::<lambda_9fa357ecc7ef5bef6d2d0ff4eea8f1ac>

struct __cppobj BlockSerializationUtils::<lambda_9fa357ecc7ef5bef6d2d0ff4eea8f1ac>
{
};

# BlockSerializationUtils::<lambda_51c4cccda65e8f8640e0a6cda2f5a5a2>

struct __cppobj BlockSerializationUtils::<lambda_51c4cccda65e8f8640e0a6cda2f5a5a2>
{
};

# BlockSerializationUtils::<lambda_e0dac7234f50d867291491a20b5d2f14>

struct __cppobj BlockSerializationUtils::<lambda_e0dac7234f50d867291491a20b5d2f14>
{
};

# BlockSerializationUtils::<lambda_dd23a837fd20abc0d0c0c8deba79c056>

struct __cppobj BlockSerializationUtils::<lambda_dd23a837fd20abc0d0c0c8deba79c056>
{
};

# BlockSerializationUtils::<lambda_7084b57e619eb27e60cacefd434af631>

struct __cppobj BlockSerializationUtils::<lambda_7084b57e619eb27e60cacefd434af631>
{
};

# BlockSerializationUtils::<lambda_8ace8b70b8924be52d731e7bcb93ce54>

struct __cppobj BlockSerializationUtils::<lambda_8ace8b70b8924be52d731e7bcb93ce54>
{
};

# BlockSerializationUtils::<lambda_395376adf60bee2159de113e8b4d30e2>

struct __cppobj BlockSerializationUtils::<lambda_395376adf60bee2159de113e8b4d30e2>
{
};

# BlockSerializationUtils::<lambda_153d23d352602ec24cff82763dab3f73>

struct __cppobj BlockSerializationUtils::<lambda_153d23d352602ec24cff82763dab3f73>
{
};

# BlockSerializationUtils::<lambda_992b07d152f9524e793f0ee752eaf4db>

struct __cppobj BlockSerializationUtils::<lambda_992b07d152f9524e793f0ee752eaf4db>
{
};

# BlockSerializationUtils::<lambda_d9a3a0f3e48e5c4dd98e17e014eb08c0>

struct __cppobj BlockSerializationUtils::<lambda_d9a3a0f3e48e5c4dd98e17e014eb08c0>
{
};

# BlockSerializationUtils::<lambda_7095affb4e5945ed9f44bd67398d0cf0>

struct __cppobj BlockSerializationUtils::<lambda_7095affb4e5945ed9f44bd67398d0cf0>
{
};

# BlockSerializationUtils::<lambda_cc9497af8781284fa59c10670c38f11a>

struct __cppobj BlockSerializationUtils::<lambda_cc9497af8781284fa59c10670c38f11a>
{
};

# BlockSerializationUtils::<lambda_3cef73b50357c121285c3a6191b13e25>

struct __cppobj BlockSerializationUtils::<lambda_3cef73b50357c121285c3a6191b13e25>
{
};

# BlockSerializationUtils::<lambda_6bdae7ef3ade7d293d80a28ff70aef7e>

struct __cppobj BlockSerializationUtils::<lambda_6bdae7ef3ade7d293d80a28ff70aef7e>
{
};

# BlockSerializationUtils::<lambda_910d614436e4bc1f78188f9f3dfe3b3a>

struct __cppobj BlockSerializationUtils::<lambda_910d614436e4bc1f78188f9f3dfe3b3a>
{
};

# BlockSerializationUtils::<lambda_0d92256ccb9d888aa7cb78ecfd5bb865>

struct __cppobj BlockSerializationUtils::<lambda_0d92256ccb9d888aa7cb78ecfd5bb865>
{
};

# BlockSerializationUtils::<lambda_519a254294a692c54630dcea2ba973c4>

struct __cppobj BlockSerializationUtils::<lambda_519a254294a692c54630dcea2ba973c4>
{
};

# BlockSerializationUtils::<lambda_079767928ff9a283b9b7705874e4ecbd>

struct __cppobj BlockSerializationUtils::<lambda_079767928ff9a283b9b7705874e4ecbd>
{
};

# BlockSerializationUtils::<lambda_2f9df7967aa8d6f004fd5c3bff3ea19e>

struct __cppobj BlockSerializationUtils::<lambda_2f9df7967aa8d6f004fd5c3bff3ea19e>
{
};

# BlockSerializationUtils::<lambda_fbedc31c5d4c0956f04251234851414e>

struct __cppobj BlockSerializationUtils::<lambda_fbedc31c5d4c0956f04251234851414e>
{
};

# BlockSerializationUtils::<lambda_6872e4b36780ab15bb3ab0e34f56849a>

struct __cppobj BlockSerializationUtils::<lambda_6872e4b36780ab15bb3ab0e34f56849a>
{
};

# BlockSerializationUtils::<lambda_8085dcaef47b52aa22ab669ad03399e9>

struct __cppobj BlockSerializationUtils::<lambda_8085dcaef47b52aa22ab669ad03399e9>
{
};

# BlockSerializationUtils::<lambda_e147176d4a2f90ea786d5c583afa519f>

struct __cppobj BlockSerializationUtils::<lambda_e147176d4a2f90ea786d5c583afa519f>
{
};

# BlockSerializationUtils::<lambda_dd137991a6886a22c6644ffc6c55af1d>

struct __cppobj BlockSerializationUtils::<lambda_dd137991a6886a22c6644ffc6c55af1d>
{
};

# BlockSerializationUtils::<lambda_078e28398be7c95fdde00677d660e3b6>

struct __cppobj BlockSerializationUtils::<lambda_078e28398be7c95fdde00677d660e3b6>
{
};

# BlockSerializationUtils::<lambda_53b3394ae5179fecc6a12c1fd473e4e8>

struct __cppobj BlockSerializationUtils::<lambda_53b3394ae5179fecc6a12c1fd473e4e8>
{
};

# BlockSerializationUtils::<lambda_1b31d9c8eb125087f2302b69f119f287>

struct __cppobj BlockSerializationUtils::<lambda_1b31d9c8eb125087f2302b69f119f287>
{
};

# BlockSerializationUtils::<lambda_b2a67c9e23dd0e630f7d8fbb6b480293>

struct __cppobj BlockSerializationUtils::<lambda_b2a67c9e23dd0e630f7d8fbb6b480293>
{
};

# BlockSerializationUtils::<lambda_1c94a60dbf2a625ac0033030fda0ba05>

struct __cppobj BlockSerializationUtils::<lambda_1c94a60dbf2a625ac0033030fda0ba05>
{
};

# BlockSerializationUtils::<lambda_5a68674f1a3517c6c0fcd038bd5fe6e4>

struct __cppobj BlockSerializationUtils::<lambda_5a68674f1a3517c6c0fcd038bd5fe6e4>
{
};

# BlockSerializationUtils::<lambda_d3eed8840205e457507d8b28b4bdcfd9>

struct __cppobj BlockSerializationUtils::<lambda_d3eed8840205e457507d8b28b4bdcfd9>
{
};

# BlockSerializationUtils::<lambda_40789fddd04686ba9830e71fa2bd92c3>

struct __cppobj BlockSerializationUtils::<lambda_40789fddd04686ba9830e71fa2bd92c3>
{
};

# BlockSerializationUtils::<lambda_c6e007ebb1adb882ad51375fc56095fb>

struct __cppobj BlockSerializationUtils::<lambda_c6e007ebb1adb882ad51375fc56095fb>
{
};

# BlockSerializationUtils::<lambda_95079b4ec55f954c0b7558155e6c9aa5>

struct __cppobj BlockSerializationUtils::<lambda_95079b4ec55f954c0b7558155e6c9aa5>
{
};

# BlockSerializationUtils::<lambda_3f3d2908ded9142320b8159948eefa96>

struct __cppobj BlockSerializationUtils::<lambda_3f3d2908ded9142320b8159948eefa96>
{
};

# BlockSerializationUtils::<lambda_1cc70504779daa11198f8918a7f05f0a>

struct __cppobj BlockSerializationUtils::<lambda_1cc70504779daa11198f8918a7f05f0a>
{
};

# BlockSerializationUtils::<lambda_a86ba1034d7be72cffab510bd562b738>

struct __cppobj BlockSerializationUtils::<lambda_a86ba1034d7be72cffab510bd562b738>
{
};

# BlockSerializationUtils::<lambda_94b388d3e55ad1773f279a5246e39d6b>

struct __cppobj BlockSerializationUtils::<lambda_94b388d3e55ad1773f279a5246e39d6b>
{
};

# BlockSerializationUtils::<lambda_3df30e04482179476cce1b4994a8bdda>

struct __cppobj BlockSerializationUtils::<lambda_3df30e04482179476cce1b4994a8bdda>
{
};

# BlockSerializationUtils::<lambda_ba18e5cb7301b95f93caf86de1c7bc2f>

struct __cppobj BlockSerializationUtils::<lambda_ba18e5cb7301b95f93caf86de1c7bc2f>
{
};

# BlockSerializationUtils::<lambda_6c52f7f4cb6c8f798fbeda07f28bd1e5>

struct __cppobj BlockSerializationUtils::<lambda_6c52f7f4cb6c8f798fbeda07f28bd1e5>
{
};

# BlockSerializationUtils::<lambda_c4d2a6f1190fa0fb976b7655c0ee6dd2>

struct __cppobj BlockSerializationUtils::<lambda_c4d2a6f1190fa0fb976b7655c0ee6dd2>
{
};

# BlockSerializationUtils::<lambda_1ff600a0163b53a0c3aacd7cadc86776>

struct __cppobj BlockSerializationUtils::<lambda_1ff600a0163b53a0c3aacd7cadc86776>
{
};

# BlockSerializationUtils::<lambda_286029a71ffa1f14653bacf7c0697e4f>

struct __cppobj BlockSerializationUtils::<lambda_286029a71ffa1f14653bacf7c0697e4f>
{
};

# BlockSerializationUtils::<lambda_9cd28e0f75edbdae525cf70c55f2db89>

struct __cppobj BlockSerializationUtils::<lambda_9cd28e0f75edbdae525cf70c55f2db89>
{
};

# BlockSerializationUtils::<lambda_e8b4f668f54201cd3709a54bdaf9c430>

struct __cppobj BlockSerializationUtils::<lambda_e8b4f668f54201cd3709a54bdaf9c430>
{
};

# BlockSerializationUtils::<lambda_69f4c8651dedfd511daccf8814a6e210>

struct __cppobj BlockSerializationUtils::<lambda_69f4c8651dedfd511daccf8814a6e210>
{
};

# BlockSerializationUtils::<lambda_0db45da1a1eb846d9bfc1b0e1fa7e06e>

struct __cppobj BlockSerializationUtils::<lambda_0db45da1a1eb846d9bfc1b0e1fa7e06e>
{
};

# BlockSerializationUtils::<lambda_aa672cd002332cdb0211e3d1501f8231>

struct __cppobj BlockSerializationUtils::<lambda_aa672cd002332cdb0211e3d1501f8231>
{
};

# BlockSerializationUtils::<lambda_8fe8d9c20f8b73440c650b54cdfc8b49>

struct __cppobj BlockSerializationUtils::<lambda_8fe8d9c20f8b73440c650b54cdfc8b49>
{
};

# BlockSerializationUtils::<lambda_829aafbfc7349c3b12733f2fcdb1b440>

struct __cppobj BlockSerializationUtils::<lambda_829aafbfc7349c3b12733f2fcdb1b440>
{
};

# BlockSerializationUtils::<lambda_7f72b5723c115bb2f4ac0b7c17989e02>

struct __cppobj BlockSerializationUtils::<lambda_7f72b5723c115bb2f4ac0b7c17989e02>
{
};

# BlockSerializationUtils::<lambda_28bce0213573e981d8496bc59ef25a39>

struct __cppobj BlockSerializationUtils::<lambda_28bce0213573e981d8496bc59ef25a39>
{
};

# BlockSerializationUtils::<lambda_a7b5eff23447e9db48b1aca54c835b5e>

struct __cppobj BlockSerializationUtils::<lambda_a7b5eff23447e9db48b1aca54c835b5e>
{
};

# BlockSerializationUtils::<lambda_4b32584e5a89e19541299f9bfd397ca8>

struct __cppobj BlockSerializationUtils::<lambda_4b32584e5a89e19541299f9bfd397ca8>
{
};

# BlockSerializationUtils::<lambda_d4498dd8704ab60c900bcedbd359c5ff>

struct __cppobj BlockSerializationUtils::<lambda_d4498dd8704ab60c900bcedbd359c5ff>
{
};

# BlockSerializationUtils::<lambda_cc0b8eeee0034935b8cc7bfa61369244>

struct __cppobj BlockSerializationUtils::<lambda_cc0b8eeee0034935b8cc7bfa61369244>
{
};

# BlockSerializationUtils::<lambda_50d6bdbae09ef7526f42e04802e3d9ce>

struct __cppobj BlockSerializationUtils::<lambda_50d6bdbae09ef7526f42e04802e3d9ce>
{
};

# BlockSerializationUtils::<lambda_65d8bf2a47d12c2db3557340b5b507dd>

struct __cppobj BlockSerializationUtils::<lambda_65d8bf2a47d12c2db3557340b5b507dd>
{
};

# BlockSerializationUtils::<lambda_a74442faabc957bf146f5e75908b39f4>

struct __cppobj BlockSerializationUtils::<lambda_a74442faabc957bf146f5e75908b39f4>
{
};

# BlockSerializationUtils::<lambda_0b380bf2d0055ddea198adcf459af685>

struct __cppobj BlockSerializationUtils::<lambda_0b380bf2d0055ddea198adcf459af685>
{
};

# BlockSerializationUtils::<lambda_93133e4ec108c7abdd10c4236b87cbf3>

struct __cppobj BlockSerializationUtils::<lambda_93133e4ec108c7abdd10c4236b87cbf3>
{
};

# BlockLegacy::onRemove::__l8::<lambda_7800bbdc4cb23d1438ff620c65b45a41>

struct __cppobj BlockLegacy::onRemove::__l8::<lambda_7800bbdc4cb23d1438ff620c65b45a41>
{
  BlockSource *region;
  const BlockPos *pos;
  const BlockLegacy *const __this;
};

# BlockLegacy::DEPRECATEDcallOnGraphicsModeChanged::__l2::<lambda_18b6b7d71f34cb1c3cabd20e7fb6e537>

struct __cppobj BlockLegacy::DEPRECATEDcallOnGraphicsModeChanged::__l2::<lambda_18b6b7d71f34cb1c3cabd20e7fb6e537>
{
  const BlockGraphicsModeChangeContext *context;
};

# Block::sendShearsDestoryClientEventAndReturnWhetherCancel::__l2::<lambda_9a411960c4f05cc7270251b3a7552d4c>

struct __cppobj Block::sendShearsDestoryClientEventAndReturnWhetherCancel::__l2::<lambda_9a411960c4f05cc7270251b3a7552d4c>
{
  const BlockPos *pos;
  const Block *const __this;
  const std::string *dropName;
  const int *dropCount;
  const Player *player;
};

# Block::sendShearsDestoryEventAndReturnWhetherCancel::__l2::<lambda_7f82bfb32741affe50ae92294b4b4459>

struct __cppobj Block::sendShearsDestoryEventAndReturnWhetherCancel::__l2::<lambda_7f82bfb32741affe50ae92294b4b4459>
{
  const BlockPos *pos;
  const Block *const __this;
  const std::string *dropName;
  const int *dropCount;
  const Player *player;
};

# Block::sendShearsUseEventAndReturnWhetherCancel::__l2::<lambda_4aea5b65e5091f5d8b1b0bc41688f382>

struct __cppobj Block::sendShearsUseEventAndReturnWhetherCancel::__l2::<lambda_4aea5b65e5091f5d8b1b0bc41688f382>
{
  const BlockPos *pos;
  const Block *const __this;
  const std::string *dropName;
  const int *dropCount;
  const Actor *entity;
};

# Block::use::__l28::<lambda_f0190cd8f8393a15d907c1657001ce97>

struct __cppobj Block::use::__l28::<lambda_f0190cd8f8393a15d907c1657001ce97>
{
  Player *player;
  const Block *const __this;
  const BlockPos *pos;
  bool *cancel;
};

# Block::use::__l20::<lambda_d1e2ab651db4318ad3859856883ccd8a>

struct __cppobj Block::use::__l20::<lambda_d1e2ab651db4318ad3859856883ccd8a>
{
  Player *player;
  const Block *const __this;
  const BlockPos *pos;
  bool *cancel;
};

# Block::use::__l8::<lambda_7422f341742097701f32fd419aa24ddf>

struct __cppobj Block::use::__l8::<lambda_7422f341742097701f32fd419aa24ddf>
{
  Player *player;
  const Block *const __this;
  const BlockPos *pos;
  bool *cancel;
};

# Block::tickInternal::__l8::<lambda_7d31a6c885ce46283e31ada2fbdac636>

struct __cppobj Block::tickInternal::__l8::<lambda_7d31a6c885ce46283e31ada2fbdac636>
{
  const BlockPos *pos;
  const Block *const __this;
  BlockSource *region;
};

# BedBlock::use::__l20::<lambda_0949a301607bf01f6b80e2a23970522f>

struct __cppobj BedBlock::use::__l20::<lambda_0949a301607bf01f6b80e2a23970522f>
{
  Player **sleepingPlayer;
  BlockPos *offset;
};

# BlueFireBlock

struct __cppobj __declspec(align(8)) BlueFireBlock : BlockLegacy
{
  AABB mAabb;
};

# BlueFireBlock_vtbl

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

# BlueIceBlock

struct __cppobj BlueIceBlock : BlockLegacy
{
};

# BlueIceBlock_vtbl

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

# BookshelfBlock

struct __cppobj BookshelfBlock : BlockLegacy
{
};

# BookshelfBlock_vtbl

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

# BorderBlock

struct __cppobj BorderBlock : WallBlock
{
};

# BorderBlock_vtbl

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

# BrewingStandBlock

struct __cppobj BrewingStandBlock : ActorBlock
{
};

# BrewingStandBlock_vtbl

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

# BubbleColumnBlock

struct __cppobj __declspec(align(8)) BubbleColumnBlock : BlockLegacy
{
  bool mFancyBubbles;
};

# BubbleColumnBlock_vtbl

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