# S~2

# Slime

struct __cppobj Slime : Monster
{
  float mTargetSquish;
  ParticleType mParticleType;
  float mSquish;
  float mOldSquish;
};

# Sheep

struct __cppobj __declspec(align(8)) Sheep : Animal
{
  int mEatAnimationTick;
};

# Signal

struct __cppobj Signal
{
  bool mIsSet;
};

# Strider

struct __cppobj Strider : Animal
{
};

# SkinHash

struct SkinHash
{
  unsigned __int64 geoLength;
  unsigned __int64 shaData[8];
};

# ServerAuthServerGameModeMessenger

struct __cppobj ServerAuthServerGameModeMessenger : CommonGameModeMessenger
{
  std::function<void __cdecl(ItemStack const &,ItemStack const &,BlockPos const &)> mBlockBreakCallback;
};

# ServerGameModeMessenger

struct __cppobj ServerGameModeMessenger : CommonGameModeMessenger
{
};

# ServerAuthClientGameModeMessenger

struct __cppobj ServerAuthClientGameModeMessenger : ClientGameModeMessenger
{
};

# ServerAuthServerGameModeMessenger::createBlockBreakCaptureScope::__l2::<lambda_f6b7299cd63e471e46afe91dc2ee098d>

struct __cppobj ServerAuthServerGameModeMessenger::createBlockBreakCaptureScope::__l2::<lambda_f6b7299cd63e471e46afe91dc2ee098d>
{
  ServerAuthServerGameModeMessenger *const __this;
};

# ServerGameModeTimer

struct __cppobj ServerGameModeTimer : IGameModeTimer
{
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mCurrentTime;
};

# ScreenHandlerBase

struct __cppobj ScreenHandlerBase
{
  ScreenHandlerBase_vtbl *__vftable /*VFT*/;
  ItemStackRequestActionHandler *mRequestHandler;
};

# ScreenHandlerBase_vtbl

struct /*VFT*/ ScreenHandlerBase_vtbl
{
  void (__fastcall *~ScreenHandlerBase)(ScreenHandlerBase *this);
  bool (__fastcall *canDestroy)(ScreenHandlerBase *this, const ContainerEnumName, unsigned __int8);
  ItemStackNetResult (__fastcall *handleAction)(ScreenHandlerBase *this, const ItemStackRequestAction *);
  ItemStackNetResult (__fastcall *endRequest)(ScreenHandlerBase *this);
  void (__fastcall *endRequestBatch)(ScreenHandlerBase *this);
  void (__fastcall *postRequest)(ScreenHandlerBase *this, const bool);
};

# ScreenHandlerHUD

struct __cppobj ScreenHandlerHUD : ScreenHandlerBase
{
};

# ScreenHandlerHUD_vtbl

struct /*VFT*/ ScreenHandlerHUD_vtbl
{
  void (__fastcall *~ScreenHandlerBase)(ScreenHandlerBase *this);
  bool (__fastcall *canDestroy)(ScreenHandlerBase *this, const ContainerEnumName, unsigned __int8);
  ItemStackNetResult (__fastcall *handleAction)(ScreenHandlerBase *this, const ItemStackRequestAction *);
  ItemStackNetResult (__fastcall *endRequest)(ScreenHandlerBase *this);
  void (__fastcall *endRequestBatch)(ScreenHandlerBase *this);
  void (__fastcall *postRequest)(ScreenHandlerBase *this, const bool);
};

# SharedCounter<ActorPlacerItem>

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

# SharedPtr<ActorPlacerItem>

struct __cppobj SharedPtr<ActorPlacerItem>
{
  SharedCounter<ActorPlacerItem> *pc;
};

# SuspiciousStewItem

struct __cppobj SuspiciousStewItem : Item
{
};

# SoulSpeedEnchant

struct __cppobj SoulSpeedEnchant : Enchant
{
};

# SoulSpeedEnchant_vtbl

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

# SetBlockProperty

struct __cppobj SetBlockProperty : EventResponse
{
  std::vector<std::pair<std::string,ExpressionNode>> mPropertyExpressions;
};

# SetBlockProperty_vtbl

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

# ShootEventResponse

struct __cppobj ShootEventResponse : EventResponse
{
  ActorDefinitionIdentifier mProjectile;
  _BYTE mTarget[2];
  ExpressionNode mLaunchPower;
  ExpressionNode mAngleOffset;
};

# ShootEventResponse_vtbl

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

# SwingEventResponse

struct __cppobj SwingEventResponse : EventResponse
{
};

# SwingEventResponse_vtbl

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

# SharedCounter<ComponentItem>

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

# SharedPtr<ComponentItem>

struct __cppobj SharedPtr<ComponentItem>
{
  SharedCounter<ComponentItem> *pc;
};

# SharedCounter<MicroBlockItem>

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

# SharedPtr<MicroBlockItem>

struct __cppobj SharedPtr<MicroBlockItem>
{
  SharedCounter<MicroBlockItem> *pc;
};

# SharedCounter<BlockItem>

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

# SharedPtr<BlockItem>

struct __cppobj SharedPtr<BlockItem>
{
  SharedCounter<BlockItem> *pc;
};

# SeedItemComponentLegacy::{ctor}::__l2::<lambda_9c31492be6db0c24d35d860832044b24>

struct __cppobj SeedItemComponentLegacy::{ctor}::__l2::<lambda_9c31492be6db0c24d35d860832044b24>
{
  SeedItemComponentLegacy *const __this;
};

# SetBlock

struct __cppobj SetBlock : EventResponse
{
  BlockDescriptor mBlockType;
};

# SetBlock_vtbl

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

# SetBlockAtPos

struct __cppobj __declspec(align(8)) SetBlockAtPos : EventResponse
{
  BlockDescriptor mBlockType;
  Vec3 mBlockOffset;
};

# SetBlockAtPos_vtbl

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

# SpawnLootEventResponse

struct __cppobj SpawnLootEventResponse : EventResponse
{
  std::string lootTablePath;
};

# SpawnLootEventResponse_vtbl

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

# SetBlock::buildSchema::__l2::<lambda_fb6c95bcf5f6a3e454adc69b40b96363>

struct __cppobj SetBlock::buildSchema::__l2::<lambda_fb6c95bcf5f6a3e454adc69b40b96363>
{
};

# SetBlock::buildSchema::__l2::<lambda_a4eb933d8ac5def857f217dae02521c9>

struct __cppobj SetBlock::buildSchema::__l2::<lambda_a4eb933d8ac5def857f217dae02521c9>
{
  const Factory<EventResponse> *factory;
};

# SetBlockAtPos::buildSchema::__l2::<lambda_8bd0ffd9b03caf98d125dc3ade444940>

struct __cppobj SetBlockAtPos::buildSchema::__l2::<lambda_8bd0ffd9b03caf98d125dc3ade444940>
{
};

# SetBlockAtPos::buildSchema::__l2::<lambda_376efa937c41ed09cddcc1ab2db3a256>

struct __cppobj SetBlockAtPos::buildSchema::__l2::<lambda_376efa937c41ed09cddcc1ab2db3a256>
{
};

# SetBlockAtPos::buildSchema::__l2::<lambda_fb76d4b0f01721830d0506a9b3cc03f9>

struct __cppobj SetBlockAtPos::buildSchema::__l2::<lambda_fb76d4b0f01721830d0506a9b3cc03f9>
{
  const Factory<EventResponse> *factory;
};

# SetBlockProperty::buildSchema::__l2::<lambda_e9a212d37fbba15ddc85f70dfa20a2f8>

struct __cppobj SetBlockProperty::buildSchema::__l2::<lambda_e9a212d37fbba15ddc85f70dfa20a2f8>
{
};

# SetBlockProperty::buildSchema::__l2::<lambda_f2ddc82fac0c032b61526112bfea8e0c>

struct __cppobj SetBlockProperty::buildSchema::__l2::<lambda_f2ddc82fac0c032b61526112bfea8e0c>
{
  const Factory<EventResponse> *factory;
};

# SharedCounter<UnknownBlock>

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

# SharedPtr<UnknownBlock>

struct __cppobj SharedPtr<UnknownBlock>
{
  SharedCounter<UnknownBlock> *pc;
};

# SmithingTableBlock

struct __cppobj SmithingTableBlock : BlockLegacy
{
};

# SmithingTableBlock_vtbl

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

# ServerCommandOrigin

struct __cppobj ServerCommandOrigin : CommandOrigin
{
  ServerLevel *mServerLevel;
  std::string mRequestId;
  _BYTE mCommandPermissionLevel[1];
  Bedrock::NonOwnerPointer<Dimension> mDimension;
};

# ServerCommandOrigin_vtbl

struct /*VFT*/ ServerCommandOrigin_vtbl
{
  void (__fastcall *~CommandOrigin)(CommandOrigin *this);
  const std::string *(__fastcall *getRequestId)(CommandOrigin *this);
  std::string *(__fastcall *getName)(CommandOrigin *this, std::string *result);
  BlockPos *(__fastcall *getBlockPosition)(CommandOrigin *this, BlockPos *result);
  Vec3 *(__fastcall *getWorldPosition)(CommandOrigin *this, Vec3 *result);
  Level *(__fastcall *getLevel)(CommandOrigin *this);
  Dimension *(__fastcall *getDimension)(CommandOrigin *this);
  Actor *(__fastcall *getEntity)(CommandOrigin *this);
  CommandPermissionLevel (__fastcall *getPermissionsLevel)(CommandOrigin *this);
  std::unique_ptr<CommandOrigin> *(__fastcall *clone)(CommandOrigin *this, std::unique_ptr<CommandOrigin> *result);
  std::optional<BlockPos> *(__fastcall *getCursorHitBlockPos)(CommandOrigin *this, std::optional<BlockPos> *result);
  std::optional<Vec3> *(__fastcall *getCursorHitPos)(CommandOrigin *this, std::optional<Vec3> *result);
  bool (__fastcall *hasChatPerms)(CommandOrigin *this);
  bool (__fastcall *hasTellPerms)(CommandOrigin *this);
  bool (__fastcall *canUseAbility)(CommandOrigin *this, AbilitiesIndex);
  bool (__fastcall *isWorldBuilder)(CommandOrigin *this);
  bool (__fastcall *canUseCommandsWithoutCheatsEnabled)(CommandOrigin *this);
  bool (__fastcall *isSelectorExpansionAllowed)(CommandOrigin *this);
  const NetworkIdentifier *(__fastcall *getSourceId)(CommandOrigin *this);
  unsigned __int8 (__fastcall *getSourceSubId)(CommandOrigin *this);
  const CommandOrigin *(__fastcall *getOutputReceiver)(CommandOrigin *this);
  CommandOriginType (__fastcall *getOriginType)(CommandOrigin *this);
  CommandOriginData *(__fastcall *toCommandOriginData)(CommandOrigin *this, CommandOriginData *result);
  const mce::UUID *(__fastcall *getUUID)(CommandOrigin *this);
  void (__fastcall *handleCommandOutputCallback)(CommandOrigin *this, Json::Value *);
  void (__fastcall *_setUUID)(CommandOrigin *this, const mce::UUID *);
};

# StructurePiece_vtbl

struct /*VFT*/ StructurePiece_vtbl
{
  void (__fastcall *~StructurePiece)(StructurePiece *this);
  void (__fastcall *moveBoundingBox)(StructurePiece *this, int, int, int);
  PoolElementStructurePiece *(__fastcall *asPoolElement)(StructurePiece *this);
  StructurePieceType (__fastcall *getType)(StructurePiece *this);
  void (__fastcall *addChildren)(StructurePiece *this, StructurePiece *, std::vector<std::unique_ptr<StructurePiece>> *, Random *);
  bool (__fastcall *postProcess)(StructurePiece *this, BlockSource *, Random *, const BoundingBox *);
  void (__fastcall *postProcessMobsAt)(StructurePiece *this, BlockSource *, Random *, const BoundingBox *);
  int (__fastcall *getWorldX)(StructurePiece *this, int, int);
  int (__fastcall *getWorldZ)(StructurePiece *this, int, int);
  void (__fastcall *placeBlock)(StructurePiece *this, BlockSource *, const Block *, int, int, int, const BoundingBox *);
  void (__fastcall *generateBox)(StructurePiece *this, BlockSource *, const BoundingBox *, int, int, int, int, int, int, const Block *, const Block *, bool);
  void (__fastcall *addHardcodedSpawnAreas)(StructurePiece *this, LevelChunk *);
};

# SpawnFinder

struct __cppobj SpawnFinder
{
};

# serialize<Experiments>

struct __cppobj serialize<Experiments>
{
};

# ShootEventResponse::buildSchema::__l2::<lambda_19350144506871a1d57106cf566d1640>

struct __cppobj ShootEventResponse::buildSchema::__l2::<lambda_19350144506871a1d57106cf566d1640>
{
};

# ShootEventResponse::buildSchema::__l2::<lambda_8bc366944c347476d8875f968f59c1ed>

struct __cppobj ShootEventResponse::buildSchema::__l2::<lambda_8bc366944c347476d8875f968f59c1ed>
{
};

# ShootEventResponse::buildSchema::__l2::<lambda_9331e260c25404adb2b14dbe4036e06d>

struct __cppobj ShootEventResponse::buildSchema::__l2::<lambda_9331e260c25404adb2b14dbe4036e06d>
{
};

# ShootEventResponse::buildSchema::__l2::<lambda_f492fd5c807d36533be9a7a55c91c376>

struct __cppobj ShootEventResponse::buildSchema::__l2::<lambda_f492fd5c807d36533be9a7a55c91c376>
{
};

# ShootEventResponse::buildSchema::__l2::<lambda_a07d7f2467df61d4942135c7df2f8c7f>

struct __cppobj ShootEventResponse::buildSchema::__l2::<lambda_a07d7f2467df61d4942135c7df2f8c7f>
{
  const Factory<EventResponse> *factory;
};

# SpawnLootEventResponse::buildSchema::__l2::<lambda_eecf640185af2093a0089a221cdde11c>

struct __cppobj SpawnLootEventResponse::buildSchema::__l2::<lambda_eecf640185af2093a0089a221cdde11c>
{
};

# SpawnLootEventResponse::buildSchema::__l2::<lambda_477ad35597e5f110689618f024ae0d34>

struct __cppobj SpawnLootEventResponse::buildSchema::__l2::<lambda_477ad35597e5f110689618f024ae0d34>
{
  const Factory<EventResponse> *factory;
};

# SwingEventResponse::buildSchema::__l2::<lambda_072f99ed3eb8ec24bcae44b093e8f0ea>

struct __cppobj SwingEventResponse::buildSchema::__l2::<lambda_072f99ed3eb8ec24bcae44b093e8f0ea>
{
  const Factory<EventResponse> *factory;
};

# StructureDataLoadHelper

struct __cppobj StructureDataLoadHelper : DataLoadHelper
{
  BlockPos mStructurePlacementLocation;
  BlockPos mStructureWorldOrigin;
  Vec3 mPivot;
  ActorUniqueID mOwner;
  Rotation mRotation;
  Mirror mMirror;
  Level *mLevel;
  std::unordered_map<ActorUniqueID,ActorUniqueID> mOldIDToNewID;
};

# StructureDataLoadHelper_vtbl

struct /*VFT*/ StructureDataLoadHelper_vtbl
{
  void (__fastcall *~DataLoadHelper)(DataLoadHelper *this);
  Vec3 *(__fastcall *loadPosition)(DataLoadHelper *this, Vec3 *result, const Vec3 *);
  BlockPos *(__fastcall *loadBlockPosition)(DataLoadHelper *this, BlockPos *result, const BlockPos *);
  BlockPos *(__fastcall *loadBlockPositionOffset)(DataLoadHelper *this, BlockPos *result, const BlockPos *);
  float (__fastcall *loadRotationDegreesX)(DataLoadHelper *this, float);
  float (__fastcall *loadRotationDegreesY)(DataLoadHelper *this, float);
  float (__fastcall *loadRotationRadiansX)(DataLoadHelper *this, float);
  float (__fastcall *loadRotationRadiansY)(DataLoadHelper *this, float);
  unsigned __int8 (__fastcall *loadFacingID)(DataLoadHelper *this, unsigned __int8);
  Direction::Type (__fastcall *loadDirection)(DataLoadHelper *this, Direction::Type);
  Vec3 *(__fastcall *loadDirection)(DataLoadHelper *this, Vec3 *result, const Vec3 *);
  Rotation (__fastcall *loadRotation)(DataLoadHelper *this, Rotation);
  Mirror (__fastcall *loadMirror)(DataLoadHelper *this, Mirror);
  ActorUniqueID *(__fastcall *loadActorUniqueID)(DataLoadHelper *this, ActorUniqueID *result, ActorUniqueID);
  ActorUniqueID *(__fastcall *loadOwnerID)(DataLoadHelper *this, ActorUniqueID *result, ActorUniqueID);
  DataLoadHelperType (__fastcall *getType)(DataLoadHelper *this);
  bool (__fastcall *shouldResetTime)(DataLoadHelper *this);
  ActorUniqueID *(__fastcall *_generateNewID)(StructureDataLoadHelper *this, ActorUniqueID *result);
};

# SensingComponent

struct __cppobj SensingComponent : IEntityComponent
{
  std::unordered_set<ActorUniqueID> mSeen;
  std::unordered_set<ActorUniqueID> mUnseen;
};

# SwimMoveControl

struct __cppobj SwimMoveControl : MoveControl
{
};

# SwimMoveControl_vtbl

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

# SlimeMoveControl

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

# SlimeMoveControl_vtbl

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

# ScaffoldingClimberDefinition

struct __cppobj ScaffoldingClimberDefinition
{
};

# ScaffoldingClimberComponent

struct __cppobj ScaffoldingClimberComponent : IEntityComponent
{
};

# ScaleByAgeDefinition

struct __cppobj ScaleByAgeDefinition
{
  float mStartScale;
  float mEndScale;
};

# ScaleByAgeComponent

struct __cppobj ScaleByAgeComponent : IEntityComponent
{
  float mStartScale;
  float mEndScale;
};

# SchedulerDefinition

struct __cppobj SchedulerDefinition
{
  std::vector<DefinitionTrigger> mTriggerDefs;
  unsigned int mMinDelayTicks;
  unsigned int mMaxDelayTicks;
};

# SchedulerComponent

struct __cppobj SchedulerComponent : IEntityComponent
{
  int mCurrentEventIndex;
};

# Shareable

struct __cppobj Shareable
{
  int itemId;
  int itemAux;
  int wantAmount;
  int surplusAmount;
  int maxAmount;
  int pickupLimit;
  int craftIntoItem;
  int craftIntoItemAux;
  int itemPriority;
  bool admire;
  bool barter;
  bool storedInInventory;
  bool consumeItem;
};

# ShareableDefinition

struct __cppobj ShareableDefinition
{
  std::vector<Shareable> mItems;
  bool mShareAllItems;
  int mAllItemWantAmount;
  int mAllItemSurplusAmount;
  int mAllItemMaxAmount;
};

# ShareableComponent

struct __cppobj ShareableComponent : IEntityComponent
{
};

# ShooterDefinition

struct __cppobj __declspec(align(8)) ShooterDefinition
{
  ActorDefinitionIdentifier mActorDef;
  int mAuxValue;
};

# ShooterComponent

struct __cppobj __declspec(align(8)) ShooterComponent : IEntityComponent
{
  ActorDefinitionIdentifier mActorDef;
  int mAuxValue;
};

# SittableDefinition

struct __cppobj SittableDefinition
{
  DefinitionTrigger mOnSit;
  DefinitionTrigger mOnStand;
};

# SitComponent

struct __cppobj SitComponent : IEntityComponent
{
  bool mTraverse;
};

# SpawnActorEntry

struct __cppobj __declspec(align(4)) SpawnActorEntry
{
  SpawnActorParameters mParams;
  int mSpawnTimer;
  bool mStopSpawning;
};

# SpawnActorComponent

struct __cppobj SpawnActorComponent : IEntityComponent
{
  std::vector<SpawnActorEntry> mSpawnEntries;
};

# SpawnActorDefinition::buildSchema::__l2::<lambda_a3cf0033b17a49badf8bc06e6ccbfe84>

struct __cppobj SpawnActorDefinition::buildSchema::__l2::<lambda_a3cf0033b17a49badf8bc06e6ccbfe84>
{
};

# SpawnActorDefinition::buildSchema::__l2::<lambda_02afd87c6a6687bf381f8b87ba806020>

struct __cppobj SpawnActorDefinition::buildSchema::__l2::<lambda_02afd87c6a6687bf381f8b87ba806020>
{
};

# SpawnActorDefinition::buildSchema::__l2::<lambda_44d48df874838fb2ed6545037799ac73>

struct __cppobj SpawnActorDefinition::buildSchema::__l2::<lambda_44d48df874838fb2ed6545037799ac73>
{
};

# SitComponent::getInteraction::__l13::<lambda_9fd3c3ecb2a4697503f4fa6f020cc20a>

struct __cppobj SitComponent::getInteraction::__l13::<lambda_9fd3c3ecb2a4697503f4fa6f020cc20a>
{
  Actor *actor;
  Player *player;
  bool isOrphaned;
  SitComponent *const __this;
};

# ShareableDefinition::buildSchema::__l2::<lambda_8ed179bc778cb73647c4a1df96837d22>

struct __cppobj ShareableDefinition::buildSchema::__l2::<lambda_8ed179bc778cb73647c4a1df96837d22>
{
};

# SchedulerSystem

struct __cppobj SchedulerSystem : ITickingSystem
{
};

# SchedulerSystem_vtbl

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

# SensingSystem

struct __cppobj SensingSystem : ITickingSystem
{
};

# SensingSystem_vtbl

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

# SpawnActorInfo

struct __cppobj SpawnActorInfo
{
  Actor *mActor;
  SpawnActorParameters mParams;
};

# SpawnActorSystem

struct __cppobj SpawnActorSystem : ITickingSystem
{
};

# SpawnActorSystem_vtbl

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

# Social::Events::BrazeEventListener

struct __cppobj __declspec(align(8)) Social::Events::BrazeEventListener : Social::Events::AggregationEventListener
{
  int totalBlocksBroken;
  const int maxBlocksBrokenToSendToBraze;
  int totalMetersTravelled;
  const int maxMetersTravelledToSendToBraze;
  bool hasObtainedACraftingTable;
  bool hasSmeltedSomething;
};

# Social::Events::BrazeEventListener_vtbl

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

# Social::Events::MaelstromEventLogger

struct __cppobj __declspec(align(8)) Social::Events::MaelstromEventLogger : Social::Events::AggregationEventListener
{
  unsigned int mSequenceId;
};

# Social::Events::MaelstromEventLogger_vtbl

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

# Social::Events::HttpTelemetry

struct __cppobj Social::Events::HttpTelemetry : Social::Events::AggregationEventListener
{
  unsigned int mSequenceId;
  std::string mPlayerSessionID;
  std::string mMaelstromUrlWithSessionID;
  std::unique_ptr<TaskGroup> mTaskGroup;
  std::unique_ptr<HTTPRequestCancelSource> mCancelSource;
};

# Social::Events::HttpTelemetry_vtbl

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

# Social::<lambda_925b989e8d3b0d04547ce01ae22eba40>

struct __cppobj Social::<lambda_925b989e8d3b0d04547ce01ae22eba40>
{
};

# Social::<lambda_ff200fee91c9d4c8ac1bbb250b725a8f>

struct __cppobj Social::<lambda_ff200fee91c9d4c8ac1bbb250b725a8f>
{
};

# Social::Events::PlayFabInsightsEventListener

struct __cppobj Social::Events::PlayFabInsightsEventListener : Social::Events::AggregationEventListener
{
};

# Social::Events::PlayFabInsightsEventListener_vtbl

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

# Social::Events::PlayStreamEventListener

struct __cppobj __declspec(align(8)) Social::Events::PlayStreamEventListener : Social::Events::AggregationEventListener
{
  const int eventTagsWhitelist;
};

# Social::Events::PlayStreamEventListener_vtbl

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

# serialize<CompoundTag>

struct __cppobj serialize<CompoundTag>
{
};

# SPSCQueue<BatchedNetworkPeer::DataCallback,512>::Block

struct __cppobj SPSCQueue<BatchedNetworkPeer::DataCallback,512>::Block
{
  Lockless::WeakAtomic<unsigned __int64> front;
  unsigned __int64 localTail;
  char cachelineFiller0[48];
  Lockless::WeakAtomic<unsigned __int64> tail;
  unsigned __int64 localFront;
  char cachelineFiller1[48];
  Lockless::WeakAtomic<SPSCQueue<BatchedNetworkPeer::DataCallback,512>::Block *> next;
  char *data;
  const unsigned __int64 sizeMask;
  char *rawThis;
};

# SPSCQueue<std::string,512>::Block

struct __cppobj SPSCQueue<std::string,512>::Block
{
  Lockless::WeakAtomic<unsigned __int64> front;
  unsigned __int64 localTail;
  char cachelineFiller0[48];
  Lockless::WeakAtomic<unsigned __int64> tail;
  unsigned __int64 localFront;
  char cachelineFiller1[48];
  Lockless::WeakAtomic<SPSCQueue<std::string,512>::Block *> next;
  char *data;
  const unsigned __int64 sizeMask;
  char *rawThis;
};

# serialize<ShapedRecipe>

struct __cppobj serialize<ShapedRecipe>
{
};

# serialize<ShapelessRecipe>

struct __cppobj serialize<ShapelessRecipe>
{
};

# serialize<ShulkerBoxRecipe>

struct __cppobj serialize<ShulkerBoxRecipe>
{
};

# ShulkerBoxRecipe

struct __cppobj ShulkerBoxRecipe : ShapelessRecipe
{
  std::vector<ItemInstance> mResults;
};

# ShulkerBoxRecipe_vtbl

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

# serialize<ShapelessChemistryRecipe>

struct __cppobj serialize<ShapelessChemistryRecipe>
{
};

# ShapelessChemistryRecipe

struct __cppobj ShapelessChemistryRecipe : ShapelessRecipe
{
};

# ShapelessChemistryRecipe_vtbl

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

# serialize<ShapedChemistryRecipe>

struct __cppobj serialize<ShapedChemistryRecipe>
{
};

# ShapedChemistryRecipe

struct __cppobj ShapedChemistryRecipe : ShapedRecipe
{
};

# ShapedChemistryRecipe_vtbl

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

# serialize<RecipeIngredient>

struct __cppobj serialize<RecipeIngredient>
{
};

# serialize<ItemInstance>

struct __cppobj serialize<ItemInstance>
{
};

# serialize<TypedServerNetId<RecipeNetIdTag,unsigned int,0> >

struct __cppobj serialize<TypedServerNetId<RecipeNetIdTag,unsigned int,0> >
{
};

# serialize<TypedServerNetId<CreativeItemNetIdTag,unsigned int,0> >

struct __cppobj serialize<TypedServerNetId<CreativeItemNetIdTag,unsigned int,0> >
{
};

# serialize<ShapedChemistryRecipe>::read::__l2::<lambda_8cc55bdd82d132d15ae01a3c039db9fc>

struct __cppobj serialize<ShapedChemistryRecipe>::read::__l2::<lambda_8cc55bdd82d132d15ae01a3c039db9fc>
{
};

# serialize<ShapedChemistryRecipe>::write::__l2::<lambda_04121ca0891763663970523da81b6f2c>

struct __cppobj serialize<ShapedChemistryRecipe>::write::__l2::<lambda_04121ca0891763663970523da81b6f2c>
{
};

# serialize<ShapelessChemistryRecipe>::read::__l2::<lambda_58ff04ea28f49596806248f23c211ce9>

struct __cppobj serialize<ShapelessChemistryRecipe>::read::__l2::<lambda_58ff04ea28f49596806248f23c211ce9>
{
};

# serialize<ShapelessChemistryRecipe>::read::__l2::<lambda_dd7573f1701fba4030723f95944c9844>

struct __cppobj serialize<ShapelessChemistryRecipe>::read::__l2::<lambda_dd7573f1701fba4030723f95944c9844>
{
};

# serialize<ShapelessChemistryRecipe>::write::__l2::<lambda_29b0807aa33596551a6829fa69f3b830>

struct __cppobj serialize<ShapelessChemistryRecipe>::write::__l2::<lambda_29b0807aa33596551a6829fa69f3b830>
{
};

# serialize<ShapelessChemistryRecipe>::write::__l2::<lambda_357920dee65ba02257984f0633fcd798>

struct __cppobj serialize<ShapelessChemistryRecipe>::write::__l2::<lambda_357920dee65ba02257984f0633fcd798>
{
};

# serialize<ShulkerBoxRecipe>::read::__l2::<lambda_adbe882be2d4373bfd8b8476e70d3c77>

struct __cppobj serialize<ShulkerBoxRecipe>::read::__l2::<lambda_adbe882be2d4373bfd8b8476e70d3c77>
{
};

# serialize<ShulkerBoxRecipe>::read::__l2::<lambda_72629fa7c9132244fd32c126980ba93b>

struct __cppobj serialize<ShulkerBoxRecipe>::read::__l2::<lambda_72629fa7c9132244fd32c126980ba93b>
{
};

# serialize<ShulkerBoxRecipe>::write::__l2::<lambda_ba54317311f682a5419dfca7b3f4303e>

struct __cppobj serialize<ShulkerBoxRecipe>::write::__l2::<lambda_ba54317311f682a5419dfca7b3f4303e>
{
};

# serialize<ShulkerBoxRecipe>::write::__l2::<lambda_edf358234f033454f8b486aa698c0357>

struct __cppobj serialize<ShulkerBoxRecipe>::write::__l2::<lambda_edf358234f033454f8b486aa698c0357>
{
};

# serialize<ShapelessRecipe>::read::__l2::<lambda_c87ea80f82a3e598f0590eb90c6abb1b>

struct __cppobj serialize<ShapelessRecipe>::read::__l2::<lambda_c87ea80f82a3e598f0590eb90c6abb1b>
{
};

# serialize<ShapelessRecipe>::read::__l2::<lambda_acf6feba7ee470cb8087d71efe102118>

struct __cppobj serialize<ShapelessRecipe>::read::__l2::<lambda_acf6feba7ee470cb8087d71efe102118>
{
};

# serialize<ShapelessRecipe>::write::__l2::<lambda_8c50ec9b1146ae4bb03c27b78f07b5f2>

struct __cppobj serialize<ShapelessRecipe>::write::__l2::<lambda_8c50ec9b1146ae4bb03c27b78f07b5f2>
{
};

# serialize<ShapelessRecipe>::write::__l2::<lambda_f0d04646976b78551413bb5291af8433>

struct __cppobj serialize<ShapelessRecipe>::write::__l2::<lambda_f0d04646976b78551413bb5291af8433>
{
};

# serialize<ShapedRecipe>::read::__l2::<lambda_4b116fb74ee847aab300b322982e1679>

struct __cppobj serialize<ShapedRecipe>::read::__l2::<lambda_4b116fb74ee847aab300b322982e1679>
{
};

# serialize<ShapedRecipe>::write::__l2::<lambda_2d8b53c4d852dfdf6cbdb0c284f1c84c>

struct __cppobj serialize<ShapedRecipe>::write::__l2::<lambda_2d8b53c4d852dfdf6cbdb0c284f1c84c>
{
};

# serialize<ItemStackResponseSlotInfo>

struct __cppobj serialize<ItemStackResponseSlotInfo>
{
};

# serialize<ItemStackResponseContainerInfo>

struct __cppobj serialize<ItemStackResponseContainerInfo>
{
};

# serialize<ItemStackResponseInfo>

struct __cppobj serialize<ItemStackResponseInfo>
{
};

# serialize<TypedServerNetId<ItemStackNetIdTag,int,0> >

struct __cppobj serialize<TypedServerNetId<ItemStackNetIdTag,int,0> >
{
};

# serialize<TypedClientNetId<ItemStackRequestIdTag,int,0> >

struct __cppobj serialize<TypedClientNetId<ItemStackRequestIdTag,int,0> >
{
};

# serialize<ItemStackResponseInfo>::read::__l5::<lambda_5bd7df314d9845f5f743063918fce237>

struct __cppobj serialize<ItemStackResponseInfo>::read::__l5::<lambda_5bd7df314d9845f5f743063918fce237>
{
};

# serialize<ItemStackResponseInfo>::write::__l5::<lambda_9711328969dfd1b56ba6d4fe6a8799e3>

struct __cppobj serialize<ItemStackResponseInfo>::write::__l5::<lambda_9711328969dfd1b56ba6d4fe6a8799e3>
{
};

# serialize<ItemStackResponseContainerInfo>::read::__l2::<lambda_47e445847f7dd5610ad4b967d5816918>

struct __cppobj serialize<ItemStackResponseContainerInfo>::read::__l2::<lambda_47e445847f7dd5610ad4b967d5816918>
{
};

# serialize<ItemStackResponseContainerInfo>::write::__l2::<lambda_9600efe862ce3461ff6691f465faf458>

struct __cppobj serialize<ItemStackResponseContainerInfo>::write::__l2::<lambda_9600efe862ce3461ff6691f465faf458>
{
};

# SerializeDelegate<PlayerBlockActions>

struct __cppobj SerializeDelegate<PlayerBlockActions>
{
};

# serialize<ItemEnchants>

struct __cppobj serialize<ItemEnchants>
{
};

# SetScorePacket::read::__l2::<lambda_2c38f00818ba5fd1193825142b6fb643>

struct __cppobj SetScorePacket::read::__l2::<lambda_2c38f00818ba5fd1193825142b6fb643>
{
  ScorePacketType *type;
};

# SetScorePacket::write::__l2::<lambda_0e9cc50c0fc12c1b5bf92fbe56603a1f>

struct __cppobj SetScorePacket::write::__l2::<lambda_0e9cc50c0fc12c1b5bf92fbe56603a1f>
{
  const ScorePacketType *type;
};

# SetScoreboardIdentityPacket::read::__l2::<lambda_ee9c33ef05f30590f714b60bc7de7c5f>

struct __cppobj SetScoreboardIdentityPacket::read::__l2::<lambda_ee9c33ef05f30590f714b60bc7de7c5f>
{
  ScoreboardIdentityPacketType *type;
};

# SetScoreboardIdentityPacket::write::__l2::<lambda_327ea3c6671154979870011151800f9a>

struct __cppobj SetScoreboardIdentityPacket::write::__l2::<lambda_327ea3c6671154979870011151800f9a>
{
  const ScoreboardIdentityPacketType *type;
};

# serialize<LevelSettings>

struct __cppobj serialize<LevelSettings>
{
};

# StartGamePacket::read::__l42::<lambda_77e6fcffad7734ac639d0ec8f9b7016e>

struct __cppobj StartGamePacket::read::__l42::<lambda_77e6fcffad7734ac639d0ec8f9b7016e>
{
};

# StartGamePacket::read::__l42::<lambda_3e0e8a2b00aca4a6ebd93b0507207d80>

struct __cppobj StartGamePacket::read::__l42::<lambda_3e0e8a2b00aca4a6ebd93b0507207d80>
{
};

# StartGamePacket::read::__l2::<lambda_003970e6fa99eefca69e9faba666485e>

struct __cppobj StartGamePacket::read::__l2::<lambda_003970e6fa99eefca69e9faba666485e>
{
};

# StartGamePacket::read::__l2::<lambda_46dc260f157069ab33038440a2281179>

struct __cppobj StartGamePacket::read::__l2::<lambda_46dc260f157069ab33038440a2281179>
{
};

# StartGamePacket::write::__l2::<lambda_a3cfd15572df6fe91ae28d03d40f16ff>

struct __cppobj StartGamePacket::write::__l2::<lambda_a3cfd15572df6fe91ae28d03d40f16ff>
{
};

# StartGamePacket::write::__l2::<lambda_b8e3016baf98aa287d7984b827fef37d>

struct __cppobj StartGamePacket::write::__l2::<lambda_b8e3016baf98aa287d7984b827fef37d>
{
};

# StartGamePacket::write::__l2::<lambda_b4f9a5183cc527471ddea16742219e09>

struct __cppobj StartGamePacket::write::__l2::<lambda_b4f9a5183cc527471ddea16742219e09>
{
};

# StartGamePacket::write::__l2::<lambda_74fd232f5acc8d95983bb8e612d80791>

struct __cppobj StartGamePacket::write::__l2::<lambda_74fd232f5acc8d95983bb8e612d80791>
{
};

# ServiceLocator<ServerInstance>

struct __cppobj ServiceLocator<ServerInstance>
{
};

# ServiceLocator<EducationOptions>

struct __cppobj ServiceLocator<EducationOptions>
{
};

# SpatialActorNetworkData::_findRelevantPlayersToSendUpdate::__l2::<lambda_6565fd94cce4c994104953a2d53e69ee>

struct __cppobj SpatialActorNetworkData::_findRelevantPlayersToSendUpdate::__l2::<lambda_6565fd94cce4c994104953a2d53e69ee>
{
  std::vector<NetworkIdentifierWithSubId> *ids;
  Dimension *dimension;
  SpatialActorNetworkData *const __this;
};

# ServerNetworkHandler::_loadNewPlayer::__l2::<lambda_d0ea1886851fb143137bced3544d7049>

struct __cppobj ServerNetworkHandler::_loadNewPlayer::__l2::<lambda_d0ea1886851fb143137bced3544d7049>
{
  ServerNetworkHandler *const __this;
  ServerPlayer *newPlayer;
  std::unique_ptr<CompoundTag> *playerTag;
};

# ServerNetworkHandler::_loadNewPlayer::__l2::<lambda_a84000fd9ba8cf002ade78eaa8ba96c4>

struct __cppobj ServerNetworkHandler::_loadNewPlayer::__l2::<lambda_a84000fd9ba8cf002ade78eaa8ba96c4>
{
};

# ServerNetworkHandler::_createNewPlayer::__l2::<lambda_0f5bb024faee8b95f4d6b7e409a46be4>

struct __cppobj ServerNetworkHandler::_createNewPlayer::__l2::<lambda_0f5bb024faee8b95f4d6b7e409a46be4>
{
  ServerNetworkHandler *const __this;
};

# ServerNetworkHandler::_sendLevelData::__l2::<lambda_947af0233a3dbf41da7a976799fd2887>

struct __cppobj ServerNetworkHandler::_sendLevelData::__l2::<lambda_947af0233a3dbf41da7a976799fd2887>
{
  ServerNetworkHandler *const __this;
  BiomeDefinitionListPacket *biomePacket;
};

# ServerNetworkHandler::_sendLevelData::__l31::<lambda_45c3197c60b8b23122a24033fc1e08ae>

struct __cppobj ServerNetworkHandler::_sendLevelData::__l31::<lambda_45c3197c60b8b23122a24033fc1e08ae>
{
  ServerPlayer *newPlayer;
  std::vector<std::pair<std::string,std::string >> *skinsToConfirm;
};

# ServerNetworkHandler::handle::__l11::<lambda_ec1f996d12a482097b196d02f093c7fb>

struct __cppobj ServerNetworkHandler::handle::__l11::<lambda_ec1f996d12a482097b196d02f093c7fb>
{
  ServerPlayer **player;
  GameType *oldDefaultGameType;
  const SetDefaultGameTypePacket *packet;
};

# ServerNetworkHandler::handle::__l13::<lambda_6f47785e8479592da2c6ddef02f73172>

struct __cppobj ServerNetworkHandler::handle::__l13::<lambda_6f47785e8479592da2c6ddef02f73172>
{
  ServerPlayer **player;
  std::shared_ptr<BlockActorDataPacket> *packet;
};

# ServerNetworkHandler::handle::__l8::<lambda_c2daee1a03774d399d3207f049d2ffc3>

struct __cppobj ServerNetworkHandler::handle::__l8::<lambda_c2daee1a03774d399d3207f049d2ffc3>
{
  ServerNetworkHandler::handle::__l2::<lambda_9d52b3aa3d855da2c243e137c204abab> callback;
};

# ServerNetworkHandler::handle::__l62::<lambda_35526416a022e2a68420dd2ce37ff392>

struct __cppobj ServerNetworkHandler::handle::__l62::<lambda_35526416a022e2a68420dd2ce37ff392>
{
  const PlayerActionPacket *packet;
  const Block *block;
  ServerPlayer **player;
};

# ServerNetworkHandler::handle::__l37::<lambda_5e461df78a77fe1f48aa72baa8a49ca2>

struct __cppobj ServerNetworkHandler::handle::__l37::<lambda_5e461df78a77fe1f48aa72baa8a49ca2>
{
  ServerPlayer **player;
};

# ServerNetworkHandler::handle::__l23::<lambda_3e4948e914048d10b1f1e2e45f1a9462>

struct __cppobj ServerNetworkHandler::handle::__l23::<lambda_3e4948e914048d10b1f1e2e45f1a9462>
{
  ItemStack *item;
  ServerPlayer **player;
  Actor **entity;
};

# ServerNetworkHandler::onReady_ClientGeneration::__l2::<lambda_4f9001fdf3036344eef42201615f569d>

struct __cppobj ServerNetworkHandler::onReady_ClientGeneration::__l2::<lambda_4f9001fdf3036344eef42201615f569d>
{
  Player *newPlayer;
};

# ServerNetworkHandler::createNewPlayer::__l2::<lambda_ddc6cea459d3a54a6213453d259d6c15>

struct __cppobj ServerNetworkHandler::createNewPlayer::__l2::<lambda_ddc6cea459d3a54a6213453d259d6c15>
{
  ServerNetworkHandler *const __this;
};

# ServerNetworkHandler::_onPlayerLeft::__l22::<lambda_372fb9d1ba4dd7ccc2ebebddc117d9f8>

struct __cppobj ServerNetworkHandler::_onPlayerLeft::__l22::<lambda_372fb9d1ba4dd7ccc2ebebddc117d9f8>
{
  ServerPlayer **player;
};

# ServerNetworkHandler::_onPlayerLeft::__l2::<lambda_10bab70df29084cbee03fbce55d052ae>

struct __cppobj ServerNetworkHandler::_onPlayerLeft::__l2::<lambda_10bab70df29084cbee03fbce55d052ae>
{
  ServerPlayer **player;
};

# ServerNetworkHandler::handle::__l2::<lambda_3bf4003c98c81be56c058f504434b77d>

struct __cppobj ServerNetworkHandler::handle::__l2::<lambda_3bf4003c98c81be56c058f504434b77d>
{
  ServerNetworkHandler *const __this;
  const NetworkIdentifier *source;
};

# ServerNetworkHandler::handle::__l5::<lambda_888fe51009c8790bde79b22a3c93ee5f>

struct __cppobj ServerNetworkHandler::handle::__l5::<lambda_888fe51009c8790bde79b22a3c93ee5f>
{
  ServerNetworkHandler::handle::__l2::<lambda_3bf4003c98c81be56c058f504434b77d> callback;
};

# ServerNetworkHandler::handle::__l30::<lambda_39d78f3c61226f5541e59a5b88a141dd>

struct __cppobj ServerNetworkHandler::handle::__l30::<lambda_39d78f3c61226f5541e59a5b88a141dd>
{
  ServerPlayer **player;
  __int64 *int64_uid;
  const CommandBlockUpdatePacket *packet;
  Actor **opActor;
};

# ServerNetworkHandler::handle::__l17::<lambda_b9e213e92331935a37f19a2bbbe15937>

struct __cppobj ServerNetworkHandler::handle::__l17::<lambda_b9e213e92331935a37f19a2bbbe15937>
{
  const CommandBlockUpdatePacket packet;
  ServerPlayer *player;
};

# ServerNetworkHandler::handle::__l11::<lambda_e6181fd7963a84ce7e5198c3c8647ea6>

struct __cppobj ServerNetworkHandler::handle::__l11::<lambda_e6181fd7963a84ce7e5198c3c8647ea6>
{
  ServerPlayer **player;
  __int64 *int64_uid;
  const CommandBlockUpdatePacket *packet;
};

# ServerNetworkHandler::handle::__l2::<lambda_1e6277439b9f9b35b6be23d21aa373c0>

struct __cppobj ServerNetworkHandler::handle::__l2::<lambda_1e6277439b9f9b35b6be23d21aa373c0>
{
  __int64 *playerId;
  std::unique_ptr<CommandContext> *context;
};

# ServerNetworkHandler::handle::__l8::<lambda_3d1daa2800fd57ff1ad66a5962829020>

struct __cppobj ServerNetworkHandler::handle::__l8::<lambda_3d1daa2800fd57ff1ad66a5962829020>
{
  std::string *playerId;
  const TextPacket *packet;
  bool *messageValid;
};

# static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &)>::SubscriptionBody>,32>::iterator

struct __cppobj static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &)>::SubscriptionBody>,32>::iterator
{
  std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &)>::SubscriptionBody> *mPtr;
};

# static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &)>::SubscriptionBody>,32>

struct __cppobj static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &)>::SubscriptionBody>,32>
{
  std::_Align_type<double,16> mArray[32];
  unsigned __int64 mSize;
};

# static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &,enum InputMode)>::SubscriptionBody>,32>::iterator

struct __cppobj static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &,enum InputMode)>::SubscriptionBody>,32>::iterator
{
  std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &,enum InputMode)>::SubscriptionBody> *mPtr;
};

# static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &,enum InputMode)>::SubscriptionBody>,32>

struct __cppobj static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(Option const &,enum InputMode)>::SubscriptionBody>,32>
{
  std::_Align_type<double,16> mArray[32];
  unsigned __int64 mSize;
};

# static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(bool &)>::SubscriptionBody>,32>::iterator

struct __cppobj static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(bool &)>::SubscriptionBody>,32>::iterator
{
  std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(bool &)>::SubscriptionBody> *mPtr;
};

# static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(bool &)>::SubscriptionBody>,32>

struct __cppobj static_vector<std::weak_ptr<Bedrock::PubSub::Detail::PublisherBase<Bedrock::PubSub::ThreadModel::MultiThreaded,void,void __cdecl(bool &)>::SubscriptionBody>,32>
{
  std::_Align_type<double,16> mArray[32];
  unsigned __int64 mSize;
};

# ServiceLocator<ContentTierManager::ValidatorRegistry>

struct __cppobj ServiceLocator<ContentTierManager::ValidatorRegistry>
{
};

# ServiceLocator<PackManifest::CapabilityRegistry>

struct __cppobj ServiceLocator<PackManifest::CapabilityRegistry>
{
};

# ScriptDimensionBinderComponent

struct __cppobj ScriptDimensionBinderComponent : ScriptBinderComponent
{
  std::string mDimension;
};

# ScriptDimensionBinderComponent_vtbl

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

# ScriptEventDataBinderComponent

struct __cppobj __declspec(align(8)) ScriptEventDataBinderComponent : ScriptBinderComponent
{
  ScriptApi::ScriptObjectHandle mData;
};

# ScriptEventDataBinderComponent_vtbl

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

# ScriptItemStackBinderComponent

struct __cppobj ScriptItemStackBinderComponent : ScriptBinderComponent
{
  entt::entity mEcsId;
  int mCount;
  std::string mItemIdentifier;
};

# ScriptItemStackBinderComponent_vtbl

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

# ScriptCommandFactory

struct __cppobj ScriptCommandFactory
{
};

# ScriptQueryComponent

struct __cppobj ScriptQueryComponent
{
  std::unordered_set<std::string> mFilters;
  ScriptQueryComponent::ViewType mType;
  std::string mSpatialTag;
  std::string mCoordinateTags[3];
};

# ScriptApi::WORKAROUNDS::cacheActors::__l2::<lambda_a9d32a9a214c22282856c0341155681d>

struct __cppobj ScriptApi::WORKAROUNDS::cacheActors::__l2::<lambda_a9d32a9a214c22282856c0341155681d>
{
  std::map<ActorUniqueID,__scriptCacheEntity> *actorMap;
  entt::basic_registry<enum entt::entity> *registry;
};

# ScriptApi::WORKAROUNDS::cacheActors::__l2::<lambda_a9d32a9a214c22282856c0341155681d>::()::__l2::<lambda_9ee38d493ad4639e73677006a8295a99>

struct __cppobj ScriptApi::WORKAROUNDS::cacheActors::__l2::<lambda_a9d32a9a214c22282856c0341155681d>::()::__l2::<lambda_9ee38d493ad4639e73677006a8295a99>
{
  std::map<ActorUniqueID,__scriptCacheEntity> *actorMap;
  entt::basic_registry<enum entt::entity> *registry;
};

# ServerCommand

struct __cppobj ServerCommand : Command
{
};

# ServerCommand_vtbl

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

# StackRefResultT<FeatureRefTraits>

struct __cppobj StackRefResultT<FeatureRefTraits> : StackResultStorageFeature
{
};

# ScriptCommandOrigin

struct __cppobj ScriptCommandOrigin : CommandOrigin
{
  ServerLevel *mServerLevel;
  const bool mHandleCommandOutput;
  const unsigned int mScriptCommandId;
  ScriptEngine *mEngine;
};

# ScriptCommandOrigin_vtbl

struct /*VFT*/ ScriptCommandOrigin_vtbl
{
  void (__fastcall *~CommandOrigin)(CommandOrigin *this);
  const std::string *(__fastcall *getRequestId)(CommandOrigin *this);
  std::string *(__fastcall *getName)(CommandOrigin *this, std::string *result);
  BlockPos *(__fastcall *getBlockPosition)(CommandOrigin *this, BlockPos *result);
  Vec3 *(__fastcall *getWorldPosition)(CommandOrigin *this, Vec3 *result);
  Level *(__fastcall *getLevel)(CommandOrigin *this);
  Dimension *(__fastcall *getDimension)(CommandOrigin *this);
  Actor *(__fastcall *getEntity)(CommandOrigin *this);
  CommandPermissionLevel (__fastcall *getPermissionsLevel)(CommandOrigin *this);
  std::unique_ptr<CommandOrigin> *(__fastcall *clone)(CommandOrigin *this, std::unique_ptr<CommandOrigin> *result);
  std::optional<BlockPos> *(__fastcall *getCursorHitBlockPos)(CommandOrigin *this, std::optional<BlockPos> *result);
  std::optional<Vec3> *(__fastcall *getCursorHitPos)(CommandOrigin *this, std::optional<Vec3> *result);
  bool (__fastcall *hasChatPerms)(CommandOrigin *this);
  bool (__fastcall *hasTellPerms)(CommandOrigin *this);
  bool (__fastcall *canUseAbility)(CommandOrigin *this, AbilitiesIndex);
  bool (__fastcall *isWorldBuilder)(CommandOrigin *this);
  bool (__fastcall *canUseCommandsWithoutCheatsEnabled)(CommandOrigin *this);
  bool (__fastcall *isSelectorExpansionAllowed)(CommandOrigin *this);
  const NetworkIdentifier *(__fastcall *getSourceId)(CommandOrigin *this);
  unsigned __int8 (__fastcall *getSourceSubId)(CommandOrigin *this);
  const CommandOrigin *(__fastcall *getOutputReceiver)(CommandOrigin *this);
  CommandOriginType (__fastcall *getOriginType)(CommandOrigin *this);
  CommandOriginData *(__fastcall *toCommandOriginData)(CommandOrigin *this, CommandOriginData *result);
  const mce::UUID *(__fastcall *getUUID)(CommandOrigin *this);
  void (__fastcall *handleCommandOutputCallback)(CommandOrigin *this, Json::Value *);
  void (__fastcall *_setUUID)(CommandOrigin *this, const mce::UUID *);
};

# SayCommand

struct __cppobj SayCommand : MessagingCommand
{
  CommandMessage mMessage;
};

# SayCommand_vtbl

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

# ScoreboardCommand::InitProxy

struct __cppobj ScoreboardCommand::InitProxy
{
  Scoreboard *mScoreboard;
};

# ScoreboardCommand

struct __cppobj __declspec(align(8)) ScoreboardCommand : Command
{
  ScoreboardCommand::Category mCategory;
  ScoreboardCommand::Action mAction;
  std::string mObjective;
  std::string mSourceObjective;
  _BYTE mOrder[1];
  std::string mCriteria;
  std::string mName;
  std::string mDisplayName;
  WildcardCommandSelector<Actor> mTargets;
  WildcardCommandSelector<Actor> mSources;
  _BYTE mOperator[1];
  CommandWildcardInt mMin;
  CommandWildcardInt mMax;
  int mRandMin;
  int mRandMax;
  int mValue;
  bool mTargetsSet;
};

# ScoreboardCommand_vtbl

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

# SetBlockCommand

struct __cppobj SetBlockCommand : Command
{
  CommandPosition mPosition;
  const Block *mBlock;
  int mData;
  SetBlockCommand::SetBlockMode mMode;
};

# SetBlockCommand_vtbl

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

# SetMaxPlayersCommand

struct __cppobj __declspec(align(8)) SetMaxPlayersCommand : ServerCommand
{
  int mMaxPlayers;
};

# SetMaxPlayersCommand_vtbl

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

# SetWorldSpawnCommand

struct __cppobj __declspec(align(8)) SetWorldSpawnCommand : Command
{
  CommandPositionFloat mSpawnPoint;
  bool mSpawnPointSet;
};

# SetWorldSpawnCommand_vtbl

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

# SpawnPointCommand

struct __cppobj __declspec(align(8)) SpawnPointCommand : Command
{
  CommandSelector<Player> mTargets;
  CommandPositionFloat mSpawnPos;
  bool mSpawnPosSet;
};

# SpawnPointCommand_vtbl

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

# SpreadPlayersCommand

struct __cppobj SpreadPlayersCommand : Command
{
  CommandSelector<Actor> mTargets;
  RelativeFloat mX;
  RelativeFloat mZ;
  float mDistance;
  float mMaxRange;
};

# SpreadPlayersCommand_vtbl

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

# StopSoundCommand

struct __cppobj StopSoundCommand : Command
{
  CommandSelector<Player> mTargets;
  std::string mSound;
};

# StopSoundCommand_vtbl

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

# SummonCommand

struct __cppobj __declspec(align(8)) SummonCommand : Command
{
  const ActorDefinitionIdentifier *mActorId;
  CommandPositionFloat mPosition;
  std::string mEventName;
  std::string mActorName;
  bool mNameSet;
};

# SummonCommand_vtbl

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

# SpreadPlayersCommand::setPlayerPositions::__l6::<lambda_ed9ef02601c1432ba24acedbb5156ad5>

struct __cppobj SpreadPlayersCommand::setPlayerPositions::__l6::<lambda_ed9ef02601c1432ba24acedbb5156ad5>
{
  Actor *entity;
  Vec3 *tpPos;
};

# ScoreboardCommand::players::__l2::<lambda_e1ad99c3c2a693c325310b7e197bb579>

struct __cppobj ScoreboardCommand::players::__l2::<lambda_e1ad99c3c2a693c325310b7e197bb579>
{
  const Level *levelPtr;
};

# ScoreboardCommand::players::__l2::<lambda_e1ad99c3c2a693c325310b7e197bb579>::()::__l2::<lambda_26ca045f0f707add387209e128167629>

struct __cppobj ScoreboardCommand::players::__l2::<lambda_e1ad99c3c2a693c325310b7e197bb579>::()::__l2::<lambda_26ca045f0f707add387209e128167629>
{
  ActorUniqueID playerId;
};

# ScoreboardCommand::setup::__l2::<lambda_a3e9d854a4d0fc98a9db43812c9e7186>

struct __cppobj ScoreboardCommand::setup::__l2::<lambda_a3e9d854a4d0fc98a9db43812c9e7186>
{
  Scoreboard *scoreboard;
};

# ScriptAttackComponent

struct __cppobj ScriptAttackComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptAttackComponent_vtbl

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

# ScriptAttackComponent::<lambda_4c4573f1478bc7a9ffd254216c7200d9>::()::__l2::Literal

struct __cppobj ScriptAttackComponent::<lambda_4c4573f1478bc7a9ffd254216c7200d9>::()::__l2::Literal
{
};

# ScriptAttackComponent::<lambda_4c4573f1478bc7a9ffd254216c7200d9>

struct __cppobj ScriptAttackComponent::<lambda_4c4573f1478bc7a9ffd254216c7200d9>
{
};

# ScriptContainerComponentBase

struct __cppobj ScriptContainerComponentBase : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptContainerComponentBase_vtbl

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

# ScriptInventoryContainerComponent

struct __cppobj ScriptInventoryContainerComponent : ScriptContainerComponentBase
{
};

# ScriptInventoryContainerComponent_vtbl

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

# ScriptArmorContainerComponent

struct __cppobj ScriptArmorContainerComponent : ScriptContainerComponentBase
{
};

# ScriptArmorContainerComponent_vtbl

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

# ScriptHandContainerComponent

struct __cppobj ScriptHandContainerComponent : ScriptContainerComponentBase
{
};

# ScriptHandContainerComponent_vtbl

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

# ScriptHotbarContainerComponent

struct __cppobj ScriptHotbarContainerComponent : ScriptContainerComponentBase
{
};

# ScriptHotbarContainerComponent_vtbl

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

# ScriptBlockContainerComponent

struct __cppobj ScriptBlockContainerComponent : ScriptContainerComponentBase
{
};

# ScriptBlockContainerComponent_vtbl

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

# ScriptInventoryContainerComponent::<lambda_5ef24b0cf186be8c0e5ae718fe552fd3>::()::__l2::Literal

struct __cppobj ScriptInventoryContainerComponent::<lambda_5ef24b0cf186be8c0e5ae718fe552fd3>::()::__l2::Literal
{
};

# ScriptInventoryContainerComponent::<lambda_5ef24b0cf186be8c0e5ae718fe552fd3>

struct __cppobj ScriptInventoryContainerComponent::<lambda_5ef24b0cf186be8c0e5ae718fe552fd3>
{
};

# ScriptArmorContainerComponent::<lambda_d0aec1365034c2f677b9acfa28565cb8>::()::__l2::Literal

struct __cppobj ScriptArmorContainerComponent::<lambda_d0aec1365034c2f677b9acfa28565cb8>::()::__l2::Literal
{
};

# ScriptArmorContainerComponent::<lambda_d0aec1365034c2f677b9acfa28565cb8>

struct __cppobj ScriptArmorContainerComponent::<lambda_d0aec1365034c2f677b9acfa28565cb8>
{
};

# ScriptHandContainerComponent::<lambda_7a299a928e58df49ff9cd0eef586d17a>::()::__l2::Literal

struct __cppobj ScriptHandContainerComponent::<lambda_7a299a928e58df49ff9cd0eef586d17a>::()::__l2::Literal
{
};

# ScriptHandContainerComponent::<lambda_7a299a928e58df49ff9cd0eef586d17a>

struct __cppobj ScriptHandContainerComponent::<lambda_7a299a928e58df49ff9cd0eef586d17a>
{
};

# ScriptHotbarContainerComponent::<lambda_f3624aeba82a76d0aa56f85edc561184>::()::__l2::Literal

struct __cppobj ScriptHotbarContainerComponent::<lambda_f3624aeba82a76d0aa56f85edc561184>::()::__l2::Literal
{
};

# ScriptHotbarContainerComponent::<lambda_f3624aeba82a76d0aa56f85edc561184>

struct __cppobj ScriptHotbarContainerComponent::<lambda_f3624aeba82a76d0aa56f85edc561184>
{
};

# ScriptBlockContainerComponent::<lambda_d01edcc90f4f77a9a99320e247337060>::()::__l2::Literal

struct __cppobj ScriptBlockContainerComponent::<lambda_d01edcc90f4f77a9a99320e247337060>::()::__l2::Literal
{
};

# ScriptBlockContainerComponent::<lambda_d01edcc90f4f77a9a99320e247337060>

struct __cppobj ScriptBlockContainerComponent::<lambda_d01edcc90f4f77a9a99320e247337060>
{
};

# ScriptEquipmentComponent

struct __cppobj ScriptEquipmentComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptEquipmentComponent_vtbl

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

# ScriptEquipmentComponent::<lambda_b048d051c78b0c16a90a089fa2cee8f0>::()::__l2::Literal

struct __cppobj ScriptEquipmentComponent::<lambda_b048d051c78b0c16a90a089fa2cee8f0>::()::__l2::Literal
{
};

# ScriptEquipmentComponent::<lambda_b048d051c78b0c16a90a089fa2cee8f0>

struct __cppobj ScriptEquipmentComponent::<lambda_b048d051c78b0c16a90a089fa2cee8f0>
{
};

# ScriptEquippableComponent

struct __cppobj ScriptEquippableComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptEquippableComponent_vtbl

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

# ScriptEquippableComponent::<lambda_19b8bbe2a4303ae64c8fbd359922e3ef>::()::__l2::Literal

struct __cppobj ScriptEquippableComponent::<lambda_19b8bbe2a4303ae64c8fbd359922e3ef>::()::__l2::Literal
{
};

# ScriptEquippableComponent::<lambda_19b8bbe2a4303ae64c8fbd359922e3ef>

struct __cppobj ScriptEquippableComponent::<lambda_19b8bbe2a4303ae64c8fbd359922e3ef>
{
};

# ScriptExplodeComponent

struct __cppobj ScriptExplodeComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptExplodeComponent_vtbl

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

# ScriptExplodeComponent::<lambda_ae240dcd7ae66c9f7f947237ebd3f93e>::()::__l2::Literal

struct __cppobj ScriptExplodeComponent::<lambda_ae240dcd7ae66c9f7f947237ebd3f93e>::()::__l2::Literal
{
};

# ScriptExplodeComponent::<lambda_ae240dcd7ae66c9f7f947237ebd3f93e>

struct __cppobj ScriptExplodeComponent::<lambda_ae240dcd7ae66c9f7f947237ebd3f93e>
{
};

# ScriptHealableComponent

struct __cppobj ScriptHealableComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptHealableComponent_vtbl

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

# ScriptHealableComponent::<lambda_407f5b00815c944632385ac839dc67f5>::()::__l2::Literal

struct __cppobj ScriptHealableComponent::<lambda_407f5b00815c944632385ac839dc67f5>::()::__l2::Literal
{
};

# ScriptHealableComponent::<lambda_407f5b00815c944632385ac839dc67f5>

struct __cppobj ScriptHealableComponent::<lambda_407f5b00815c944632385ac839dc67f5>
{
};

# ScriptHealthComponent

struct __cppobj ScriptHealthComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptHealthComponent_vtbl

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

# ScriptHealthComponent::<lambda_c428ad06e35c3dd831d9b6591eea2b95>::()::__l2::Literal

struct __cppobj ScriptHealthComponent::<lambda_c428ad06e35c3dd831d9b6591eea2b95>::()::__l2::Literal
{
};

# ScriptHealthComponent::<lambda_c428ad06e35c3dd831d9b6591eea2b95>

struct __cppobj ScriptHealthComponent::<lambda_c428ad06e35c3dd831d9b6591eea2b95>
{
};

# ScriptInteractComponent

struct __cppobj ScriptInteractComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptInteractComponent_vtbl

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

# ScriptInteractComponent::<lambda_81b999be274eddde40cbb860bea2ce14>::()::__l2::Literal

struct __cppobj ScriptInteractComponent::<lambda_81b999be274eddde40cbb860bea2ce14>::()::__l2::Literal
{
};

# ScriptInteractComponent::<lambda_81b999be274eddde40cbb860bea2ce14>

struct __cppobj ScriptInteractComponent::<lambda_81b999be274eddde40cbb860bea2ce14>
{
};

# ScriptInventoryComponent

struct __cppobj ScriptInventoryComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptInventoryComponent_vtbl

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

# ScriptInventoryComponent::<lambda_57b3516d28c3a566d42d20050227600b>::()::__l2::Literal

struct __cppobj ScriptInventoryComponent::<lambda_57b3516d28c3a566d42d20050227600b>::()::__l2::Literal
{
};

# ScriptInventoryComponent::<lambda_57b3516d28c3a566d42d20050227600b>

struct __cppobj ScriptInventoryComponent::<lambda_57b3516d28c3a566d42d20050227600b>
{
};

# ScriptLookAtComponent

struct __cppobj ScriptLookAtComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptLookAtComponent_vtbl

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

# ScriptLookAtComponent::<lambda_4ce5591f42fc23ebd3180dd1e6fb67f6>::()::__l2::Literal

struct __cppobj ScriptLookAtComponent::<lambda_4ce5591f42fc23ebd3180dd1e6fb67f6>::()::__l2::Literal
{
};

# ScriptLookAtComponent::<lambda_4ce5591f42fc23ebd3180dd1e6fb67f6>

struct __cppobj ScriptLookAtComponent::<lambda_4ce5591f42fc23ebd3180dd1e6fb67f6>
{
};

# ScriptShooterComponent

struct __cppobj ScriptShooterComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptShooterComponent_vtbl

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

# ScriptShooterComponent::<lambda_7f4e19678d9c5d32a6bf6bfb94233c1f>::()::__l2::Literal

struct __cppobj ScriptShooterComponent::<lambda_7f4e19678d9c5d32a6bf6bfb94233c1f>::()::__l2::Literal
{
};

# ScriptShooterComponent::<lambda_7f4e19678d9c5d32a6bf6bfb94233c1f>

struct __cppobj ScriptShooterComponent::<lambda_7f4e19678d9c5d32a6bf6bfb94233c1f>
{
};

# ScriptSpawnActorComponent

struct __cppobj ScriptSpawnActorComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptSpawnActorComponent_vtbl

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

# ScriptSpawnActorComponent::<lambda_2b4d2c4e0a27df897eceb4536a4f31bc>::()::__l2::Literal

struct __cppobj ScriptSpawnActorComponent::<lambda_2b4d2c4e0a27df897eceb4536a4f31bc>::()::__l2::Literal
{
};

# ScriptSpawnActorComponent::<lambda_2b4d2c4e0a27df897eceb4536a4f31bc>

struct __cppobj ScriptSpawnActorComponent::<lambda_2b4d2c4e0a27df897eceb4536a4f31bc>
{
};

# ScriptTagComponent

struct __cppobj ScriptTagComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptTagComponent_vtbl

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

# ScriptTagComponent::<lambda_14e1df53151281078bafb9d5828c425c>::()::__l2::Literal

struct __cppobj ScriptTagComponent::<lambda_14e1df53151281078bafb9d5828c425c>::()::__l2::Literal
{
};

# ScriptTagComponent::<lambda_14e1df53151281078bafb9d5828c425c>

struct __cppobj ScriptTagComponent::<lambda_14e1df53151281078bafb9d5828c425c>
{
};

# ScriptTeleportComponent

struct __cppobj ScriptTeleportComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptTeleportComponent_vtbl

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

# ScriptTeleportComponent::<lambda_21c0395eeb665049e3a26f031de64a07>::()::__l2::Literal

struct __cppobj ScriptTeleportComponent::<lambda_21c0395eeb665049e3a26f031de64a07>::()::__l2::Literal
{
};

# ScriptTeleportComponent::<lambda_21c0395eeb665049e3a26f031de64a07>

struct __cppobj ScriptTeleportComponent::<lambda_21c0395eeb665049e3a26f031de64a07>
{
};

# ScriptTickWorldComponent

struct __cppobj ScriptTickWorldComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptTickWorldComponent_vtbl

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

# ScriptTickWorldComponent::<lambda_f5fbb4d0ef2a97b0f65914abd60323ce>::()::__l2::Literal

struct __cppobj ScriptTickWorldComponent::<lambda_f5fbb4d0ef2a97b0f65914abd60323ce>::()::__l2::Literal
{
};

# ScriptTickWorldComponent::<lambda_f5fbb4d0ef2a97b0f65914abd60323ce>

struct __cppobj ScriptTickWorldComponent::<lambda_f5fbb4d0ef2a97b0f65914abd60323ce>
{
};

# ScriptBlockStateComponent

struct __cppobj ScriptBlockStateComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptBlockStateComponent_vtbl

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

# ScriptBlockStateComponent::<lambda_a016399918ec9906fcf91dfcb0926410>::()::__l2::Literal

struct __cppobj ScriptBlockStateComponent::<lambda_a016399918ec9906fcf91dfcb0926410>::()::__l2::Literal
{
};

# ScriptBlockStateComponent::<lambda_a016399918ec9906fcf91dfcb0926410>

struct __cppobj ScriptBlockStateComponent::<lambda_a016399918ec9906fcf91dfcb0926410>
{
};

# ScriptCollisionBoxComponent

struct __cppobj ScriptCollisionBoxComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptCollisionBoxComponent_vtbl

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

# ScriptCollisionBoxComponent::<lambda_e2c041c1a884d36529ec9a0bf7b10889>::()::__l2::Literal

struct __cppobj ScriptCollisionBoxComponent::<lambda_e2c041c1a884d36529ec9a0bf7b10889>::()::__l2::Literal
{
};

# ScriptCollisionBoxComponent::<lambda_e2c041c1a884d36529ec9a0bf7b10889>

struct __cppobj ScriptCollisionBoxComponent::<lambda_e2c041c1a884d36529ec9a0bf7b10889>
{
};

# ScriptDamageSensorComponent

struct __cppobj ScriptDamageSensorComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptDamageSensorComponent_vtbl

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

# ScriptDamageSensorComponent::<lambda_156c051430f9d5a1568bd750bf3325d7>::()::__l2::Literal

struct __cppobj ScriptDamageSensorComponent::<lambda_156c051430f9d5a1568bd750bf3325d7>::()::__l2::Literal
{
};

# ScriptDamageSensorComponent::<lambda_156c051430f9d5a1568bd750bf3325d7>

struct __cppobj ScriptDamageSensorComponent::<lambda_156c051430f9d5a1568bd750bf3325d7>
{
};

# ScriptLevelTickingAreasComponent

struct __cppobj ScriptLevelTickingAreasComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptLevelTickingAreasComponent_vtbl

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

# ScriptLevelTickingAreasComponent::<lambda_a4e7f2980e351f67a381baf35e5c7931>::()::__l2::Literal

struct __cppobj ScriptLevelTickingAreasComponent::<lambda_a4e7f2980e351f67a381baf35e5c7931>::()::__l2::Literal
{
};

# ScriptLevelTickingAreasComponent::<lambda_a4e7f2980e351f67a381baf35e5c7931>

struct __cppobj ScriptLevelTickingAreasComponent::<lambda_a4e7f2980e351f67a381baf35e5c7931>
{
};

# ScriptLevelWeatherComponent

struct __cppobj ScriptLevelWeatherComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptLevelWeatherComponent_vtbl

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

# ScriptLevelWeatherComponent::<lambda_1f25ed533ceeb2c31647253cfb29562b>::()::__l2::Literal

struct __cppobj ScriptLevelWeatherComponent::<lambda_1f25ed533ceeb2c31647253cfb29562b>::()::__l2::Literal
{
};

# ScriptLevelWeatherComponent::<lambda_1f25ed533ceeb2c31647253cfb29562b>

struct __cppobj ScriptLevelWeatherComponent::<lambda_1f25ed533ceeb2c31647253cfb29562b>
{
};

# ScriptNameableComponent

struct __cppobj ScriptNameableComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptNameableComponent_vtbl

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

# ScriptNameableComponent::<lambda_a76277a39cd8ef9c02ac886061a870ef>::()::__l2::Literal

struct __cppobj ScriptNameableComponent::<lambda_a76277a39cd8ef9c02ac886061a870ef>::()::__l2::Literal
{
};

# ScriptNameableComponent::<lambda_a76277a39cd8ef9c02ac886061a870ef>

struct __cppobj ScriptNameableComponent::<lambda_a76277a39cd8ef9c02ac886061a870ef>
{
};

# ScriptPositionComponent

struct __cppobj ScriptPositionComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptPositionComponent_vtbl

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

# ScriptPositionComponent::<lambda_0575de5a80cbafce16b696778c1d23d4>::()::__l2::Literal

struct __cppobj ScriptPositionComponent::<lambda_0575de5a80cbafce16b696778c1d23d4>::()::__l2::Literal
{
};

# ScriptPositionComponent::<lambda_0575de5a80cbafce16b696778c1d23d4>

struct __cppobj ScriptPositionComponent::<lambda_0575de5a80cbafce16b696778c1d23d4>
{
};

# ScriptRotationComponent

struct __cppobj ScriptRotationComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptRotationComponent_vtbl

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

# ScriptRotationComponent::<lambda_1b4ba8c4284d22fd1ab3a8cf786e54db>::()::__l2::Literal

struct __cppobj ScriptRotationComponent::<lambda_1b4ba8c4284d22fd1ab3a8cf786e54db>::()::__l2::Literal
{
};

# ScriptRotationComponent::<lambda_1b4ba8c4284d22fd1ab3a8cf786e54db>

struct __cppobj ScriptRotationComponent::<lambda_1b4ba8c4284d22fd1ab3a8cf786e54db>
{
};

# ScriptTickingAreaDescriptionComponent

struct __cppobj ScriptTickingAreaDescriptionComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptTickingAreaDescriptionComponent_vtbl

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

# ScriptTickingAreaDescriptionComponent::<lambda_21ca949c726cc82feacdfe47e42cfce6>::()::__l2::Literal

struct __cppobj ScriptTickingAreaDescriptionComponent::<lambda_21ca949c726cc82feacdfe47e42cfce6>::()::__l2::Literal
{
};

# ScriptTickingAreaDescriptionComponent::<lambda_21ca949c726cc82feacdfe47e42cfce6>

struct __cppobj ScriptTickingAreaDescriptionComponent::<lambda_21ca949c726cc82feacdfe47e42cfce6>
{
};

# ScriptTransformationComponent

struct __cppobj ScriptTransformationComponent : ScriptTemplateFactory<ScriptServerContext>::Component
{
};

# ScriptTransformationComponent_vtbl

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

# ScriptServerActorAttackEvent

struct __cppobj ScriptServerActorAttackEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  ActorUniqueID mTargetID;
};

# ScriptServerActorAttackEvent_vtbl

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

# ScriptServerPlayerAttackedActorEvent

struct __cppobj ScriptServerPlayerAttackedActorEvent : ScriptEventData
{
  ActorUniqueID mPlayerID;
  ActorUniqueID mAttackedActorID;
};

# ScriptServerPlayerAttackedActorEvent_vtbl

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

# ScriptServerActorAcquiredItemEvent

struct __cppobj ScriptServerActorAcquiredItemEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  ActorUniqueID mSecondaryActorID;
  ItemInstance mItem;
  int mAcquiredAmount;
  _BYTE mAcquisitionMethod[4];
};

# ScriptServerActorAcquiredItemEvent_vtbl

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

# ScriptServerActorCarriedItemChangedEvent

struct __cppobj __declspec(align(8)) ScriptServerActorCarriedItemChangedEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  ItemInstance mPreviousCarriedItem;
  ItemInstance mCarriedItem;
  HandSlot mHand;
};

# ScriptServerActorCarriedItemChangedEvent_vtbl

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

# ScriptServerActorCreatedEvent

struct __cppobj ScriptServerActorCreatedEvent : ScriptEventData
{
  ActorUniqueID mActorID;
};

# ScriptServerActorCreatedEvent_vtbl

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

# ScriptServerActorDeathEvent

struct __cppobj ScriptServerActorDeathEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  bool mKiller;
  ActorUniqueID mKillerID;
  bool mBlock;
  BlockPos mPos;
  std::string mCause;
  bool mProjectile;
  std::string mProjectileType;
};

# ScriptServerActorDeathEvent_vtbl

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

# ScriptServerActorDefinitionEventTriggeredEvent

struct __cppobj ScriptServerActorDefinitionEventTriggeredEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  std::string mEvent;
};

# ScriptServerActorDefinitionEventTriggeredEvent_vtbl

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

# ScriptServerActorRemovedEvent

struct __cppobj ScriptServerActorRemovedEvent : ScriptEventData
{
  ActorUniqueID mActorID;
};

# ScriptServerActorRemovedEvent_vtbl

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

# ScriptServerActorDroppedItemEvent

struct __cppobj ScriptServerActorDroppedItemEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  ItemInstance mItem;
};

# ScriptServerActorDroppedItemEvent_vtbl

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

# ScriptServerActorEquippedArmorEvent

struct __cppobj __declspec(align(8)) ScriptServerActorEquippedArmorEvent : ScriptEventData
{
  ActorUniqueID mActorId;
  ItemInstance mItem;
  ArmorSlot mSlot;
};

# ScriptServerActorEquippedArmorEvent_vtbl

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

# ScriptServerActorHurtEvent

struct __cppobj ScriptServerActorHurtEvent : ScriptEventData
{
  int mHurtBy;
  int mDamage;
  int mAbosrbedDamage;
  ActorUniqueID mActorID;
  ActorUniqueID mAttackerID;
  BlockPos mPos;
  std::string mCause;
  std::string mProjectileType;
};

# ScriptServerActorHurtEvent_vtbl

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

# ScriptServerActorMoveEvent

struct __cppobj ScriptServerActorMoveEvent : ScriptEventData
{
  ActorUniqueID mActorID;
};

# ScriptServerActorMoveEvent_vtbl

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

# ScriptServerActorSneakChangedEvent

struct __cppobj __declspec(align(8)) ScriptServerActorSneakChangedEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  bool mIsSneaking;
};

# ScriptServerActorSneakChangedEvent_vtbl

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

# ScriptServerActorStartRidingEvent

struct __cppobj ScriptServerActorStartRidingEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  ActorUniqueID mRideID;
};

# ScriptServerActorStartRidingEvent_vtbl

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

# ScriptServerActorStopRidingEvent

struct __cppobj __declspec(align(8)) ScriptServerActorStopRidingEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  bool mExitFromRider;
  bool mEntityIsBeingDestroyed;
  bool mSwitchingRides;
};

# ScriptServerActorStopRidingEvent_vtbl

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

# ScriptServerActorTickEvent

struct __cppobj ScriptServerActorTickEvent : ScriptEventData
{
  ActorUniqueID mActorID;
};

# ScriptServerActorTickEvent_vtbl

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

# ScriptServerActorUseItemEvent

struct __cppobj __declspec(align(8)) ScriptServerActorUseItemEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  ItemInstance mItemUsed;
  _BYTE mUseMethod[4];
};

# ScriptServerActorUseItemEvent_vtbl

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

# ScriptServerBlockDestructionStartedEvent

struct __cppobj __declspec(align(8)) ScriptServerBlockDestructionStartedEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  BlockPos mPos;
};

# ScriptServerBlockDestructionStartedEvent_vtbl

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

# ScriptServerBlockDestructionStoppedEvent

struct __cppobj ScriptServerBlockDestructionStoppedEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  BlockPos mPos;
  float mProgress;
};

# ScriptServerBlockDestructionStoppedEvent_vtbl

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

# ScriptServerBlockExplodedEvent

struct __cppobj __declspec(align(8)) ScriptServerBlockExplodedEvent : ScriptEventData
{
  bool mActor;
  ActorUniqueID mActorID;
  std::string mCause;
  std::string mIdentifier;
  BlockPos mPos;
};

# ScriptServerBlockExplodedEvent_vtbl

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

# ScriptServerBlockInteractedWithEvent

struct __cppobj __declspec(align(8)) ScriptServerBlockInteractedWithEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  BlockPos mPos;
};

# ScriptServerBlockInteractedWithEvent_vtbl

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

# ScriptServerBlockMovedByPistonEvent

struct __cppobj ScriptServerBlockMovedByPistonEvent : ScriptEventData
{
  BlockPos mPistonPos;
  BlockPos mBlockPos;
  std::string mAction;
};

# ScriptServerBlockMovedByPistonEvent_vtbl

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

# ScriptServerPlayerDestroyedBlockEvent

struct __cppobj ScriptServerPlayerDestroyedBlockEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  BlockPos mPos;
  std::string mBlockIdentifier;
};

# ScriptServerPlayerDestroyedBlockEvent_vtbl

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

# ScriptServerPlayerPlacedBlockEvent

struct __cppobj __declspec(align(8)) ScriptServerPlayerPlacedBlockEvent : ScriptEventData
{
  ActorUniqueID mActorID;
  BlockPos mPos;
};

# ScriptServerPlayerPlacedBlockEvent_vtbl

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

# ScriptServerProjectileHitEvent

struct __cppobj __declspec(align(8)) ScriptServerProjectileHitEvent : ScriptEventData
{
  ActorUniqueID mProjectileID;
  ActorUniqueID mOwnerID;
  ActorUniqueID mHitID;
  Vec3 mPosition;
};

# ScriptServerProjectileHitEvent_vtbl

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

# ScriptServerWeatherEventData

struct __cppobj __declspec(align(8)) ScriptServerWeatherEventData : ScriptEventData
{
  std::string mDimension;
  bool mRaining;
  bool mLightning;
};

# ScriptServerWeatherEventData_vtbl

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

# ScriptPositionComponent::applyComponentTo::__l5::<lambda_f2ba1bd7a8b3c2613b79208f56ec70c8>

struct __cppobj ScriptPositionComponent::applyComponentTo::__l5::<lambda_f2ba1bd7a8b3c2613b79208f56ec70c8>
{
  Actor *actor;
  Vec3 *pos;
};

# ScriptLevelTickingAreasComponent::retrieveComponentFrom::__l2::<lambda_cfd4d83bd45af051845ef112dc4341f1>

struct __cppobj ScriptLevelTickingAreasComponent::retrieveComponentFrom::__l2::<lambda_cfd4d83bd45af051845ef112dc4341f1>
{
  ScriptEngine *scriptEngine;
  const ScriptApi::ScriptVersionInfo *info;
  std::vector<ScriptApi::ScriptObjectHandle> *tickingAreas;
  std::vector<std::string> *tickingAreaNames;
};

# ScriptServerBroadcastActorDefinitionEvent

struct __cppobj ScriptServerBroadcastActorDefinitionEvent : ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
};

# ScriptServerBroadcastActorDefinitionEvent_vtbl

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

# ScriptServerBroadcastReceived

struct __cppobj ScriptServerBroadcastReceived : ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
};

# ScriptServerBroadcastReceived_vtbl

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

# ScriptServerChatReceived

struct __cppobj ScriptServerChatReceived : ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
};

# ScriptServerChatReceived_vtbl

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

# ScriptServerCommandReceived

struct __cppobj ScriptServerCommandReceived : ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
};

# ScriptServerCommandReceived_vtbl

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

# ScriptServerLoggerConfigReceivedEvent

struct __cppobj ScriptServerLoggerConfigReceivedEvent : ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
};

# ScriptServerLoggerConfigReceivedEvent_vtbl

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

# ScriptServerPlaySoundEvent

struct __cppobj ScriptServerPlaySoundEvent : ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
};

# ScriptServerPlaySoundEvent_vtbl

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

# ScriptServerSpawnParticleAttachedToActor

struct __cppobj ScriptServerSpawnParticleAttachedToActor : ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
};

# ScriptServerSpawnParticleAttachedToActor_vtbl

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

# ScriptServerSpawnParticleInWorldEvent

struct __cppobj ScriptServerSpawnParticleInWorldEvent : ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
};

# ScriptServerSpawnParticleInWorldEvent_vtbl

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

# ScriptServerBroadcastActorDefinitionEvent::<lambda_1517c0a4fe47629e135ad08f391302cd>::()::__l2::Literal

struct __cppobj ScriptServerBroadcastActorDefinitionEvent::<lambda_1517c0a4fe47629e135ad08f391302cd>::()::__l2::Literal
{
};

# ScriptServerBroadcastActorDefinitionEvent::<lambda_1517c0a4fe47629e135ad08f391302cd>

struct __cppobj ScriptServerBroadcastActorDefinitionEvent::<lambda_1517c0a4fe47629e135ad08f391302cd>
{
};

# ScriptServerChatReceived::<lambda_19899a310e6c8f4fac55e00493ca9024>::()::__l2::Literal

struct __cppobj ScriptServerChatReceived::<lambda_19899a310e6c8f4fac55e00493ca9024>::()::__l2::Literal
{
};

# ScriptServerChatReceived::<lambda_19899a310e6c8f4fac55e00493ca9024>

struct __cppobj ScriptServerChatReceived::<lambda_19899a310e6c8f4fac55e00493ca9024>
{
};

# ScriptServerCommandReceived::<lambda_53c7f1848dda10f622543969a6fde0ce>::()::__l2::Literal

struct __cppobj ScriptServerCommandReceived::<lambda_53c7f1848dda10f622543969a6fde0ce>::()::__l2::Literal
{
};

# ScriptServerCommandReceived::<lambda_53c7f1848dda10f622543969a6fde0ce>

struct __cppobj ScriptServerCommandReceived::<lambda_53c7f1848dda10f622543969a6fde0ce>
{
};

# ScriptServerLoggerConfigReceivedEvent::<lambda_32fd46279ed04e110baabe2e090f63f6>::()::__l2::Literal

struct __cppobj ScriptServerLoggerConfigReceivedEvent::<lambda_32fd46279ed04e110baabe2e090f63f6>::()::__l2::Literal
{
};

# ScriptServerLoggerConfigReceivedEvent::<lambda_32fd46279ed04e110baabe2e090f63f6>

struct __cppobj ScriptServerLoggerConfigReceivedEvent::<lambda_32fd46279ed04e110baabe2e090f63f6>
{
};

# ScriptServerPlaySoundEvent::<lambda_cbf91cffedb30fd8318a1fee3ae37b24>::()::__l2::Literal

struct __cppobj ScriptServerPlaySoundEvent::<lambda_cbf91cffedb30fd8318a1fee3ae37b24>::()::__l2::Literal
{
};

# ScriptServerPlaySoundEvent::<lambda_cbf91cffedb30fd8318a1fee3ae37b24>

struct __cppobj ScriptServerPlaySoundEvent::<lambda_cbf91cffedb30fd8318a1fee3ae37b24>
{
};

# ScriptServerSpawnParticleAttachedToActor::<lambda_9400ec26dfddb1dc7a5336c6d7071dfa>::()::__l2::Literal

struct __cppobj ScriptServerSpawnParticleAttachedToActor::<lambda_9400ec26dfddb1dc7a5336c6d7071dfa>::()::__l2::Literal
{
};

# ScriptServerSpawnParticleAttachedToActor::<lambda_9400ec26dfddb1dc7a5336c6d7071dfa>

struct __cppobj ScriptServerSpawnParticleAttachedToActor::<lambda_9400ec26dfddb1dc7a5336c6d7071dfa>
{
};

# ScriptServerSpawnParticleInWorldEvent::<lambda_0d1339a0c39b45dead312e71008b0dcc>::()::__l2::Literal

struct __cppobj ScriptServerSpawnParticleInWorldEvent::<lambda_0d1339a0c39b45dead312e71008b0dcc>::()::__l2::Literal
{
};

# ScriptServerSpawnParticleInWorldEvent::<lambda_0d1339a0c39b45dead312e71008b0dcc>

struct __cppobj ScriptServerSpawnParticleInWorldEvent::<lambda_0d1339a0c39b45dead312e71008b0dcc>
{
};

# ScriptServerPlayerAttackedActorEvent::<lambda_3dcef4e1d1506ee0e0c029e813fe346e>::()::__l2::Literal

struct __cppobj ScriptServerPlayerAttackedActorEvent::<lambda_3dcef4e1d1506ee0e0c029e813fe346e>::()::__l2::Literal
{
};

# ScriptServerPlayerAttackedActorEvent::<lambda_3dcef4e1d1506ee0e0c029e813fe346e>

struct __cppobj ScriptServerPlayerAttackedActorEvent::<lambda_3dcef4e1d1506ee0e0c029e813fe346e>
{
};

# ScriptServerActorAcquiredItemEvent::<lambda_24969cf7d09fb55fa5dcff5a8d8c4e1b>::()::__l2::Literal

struct __cppobj ScriptServerActorAcquiredItemEvent::<lambda_24969cf7d09fb55fa5dcff5a8d8c4e1b>::()::__l2::Literal
{
};

# ScriptServerActorAcquiredItemEvent::<lambda_24969cf7d09fb55fa5dcff5a8d8c4e1b>

struct __cppobj ScriptServerActorAcquiredItemEvent::<lambda_24969cf7d09fb55fa5dcff5a8d8c4e1b>
{
};

# ScriptServerActorAttackEvent::<lambda_398a5ee8991543ffd2fafa700f4f309e>::()::__l2::Literal

struct __cppobj ScriptServerActorAttackEvent::<lambda_398a5ee8991543ffd2fafa700f4f309e>::()::__l2::Literal
{
};

# ScriptServerActorAttackEvent::<lambda_398a5ee8991543ffd2fafa700f4f309e>

struct __cppobj ScriptServerActorAttackEvent::<lambda_398a5ee8991543ffd2fafa700f4f309e>
{
};

# ScriptServerActorCarriedItemChangedEvent::<lambda_2b660ddc873cf3a31aa1804dba3c8b2d>::()::__l2::Literal

struct __cppobj ScriptServerActorCarriedItemChangedEvent::<lambda_2b660ddc873cf3a31aa1804dba3c8b2d>::()::__l2::Literal
{
};

# ScriptServerActorCarriedItemChangedEvent::<lambda_2b660ddc873cf3a31aa1804dba3c8b2d>

struct __cppobj ScriptServerActorCarriedItemChangedEvent::<lambda_2b660ddc873cf3a31aa1804dba3c8b2d>
{
};

# ScriptServerActorCreatedEvent::<lambda_412714daffb6f8ba49f72c8c5ba418b9>::()::__l2::Literal

struct __cppobj ScriptServerActorCreatedEvent::<lambda_412714daffb6f8ba49f72c8c5ba418b9>::()::__l2::Literal
{
};

# ScriptServerActorCreatedEvent::<lambda_412714daffb6f8ba49f72c8c5ba418b9>

struct __cppobj ScriptServerActorCreatedEvent::<lambda_412714daffb6f8ba49f72c8c5ba418b9>
{
};

# ScriptServerActorDeathEvent::<lambda_8094efd6f571648eb7f78fc6aca104b8>::()::__l2::Literal

struct __cppobj ScriptServerActorDeathEvent::<lambda_8094efd6f571648eb7f78fc6aca104b8>::()::__l2::Literal
{
};

# ScriptServerActorDeathEvent::<lambda_8094efd6f571648eb7f78fc6aca104b8>

struct __cppobj ScriptServerActorDeathEvent::<lambda_8094efd6f571648eb7f78fc6aca104b8>
{
};

# ScriptServerActorDefinitionEventTriggeredEvent::<lambda_b24628b8006da8b6b9eb7e328141c76e>::()::__l2::Literal

struct __cppobj ScriptServerActorDefinitionEventTriggeredEvent::<lambda_b24628b8006da8b6b9eb7e328141c76e>::()::__l2::Literal
{
};

# ScriptServerActorDefinitionEventTriggeredEvent::<lambda_b24628b8006da8b6b9eb7e328141c76e>

struct __cppobj ScriptServerActorDefinitionEventTriggeredEvent::<lambda_b24628b8006da8b6b9eb7e328141c76e>
{
};

# ScriptServerActorDroppedItemEvent::<lambda_c1e7c65a82ead266810a7070ce0a280d>::()::__l2::Literal

struct __cppobj ScriptServerActorDroppedItemEvent::<lambda_c1e7c65a82ead266810a7070ce0a280d>::()::__l2::Literal
{
};

# ScriptServerActorDroppedItemEvent::<lambda_c1e7c65a82ead266810a7070ce0a280d>

struct __cppobj ScriptServerActorDroppedItemEvent::<lambda_c1e7c65a82ead266810a7070ce0a280d>
{
};

# ScriptServerActorEquippedArmorEvent::<lambda_cdc32e11a9d2cd12f1e80d0bdeaefebd>::()::__l2::Literal

struct __cppobj ScriptServerActorEquippedArmorEvent::<lambda_cdc32e11a9d2cd12f1e80d0bdeaefebd>::()::__l2::Literal
{
};

# ScriptServerActorEquippedArmorEvent::<lambda_cdc32e11a9d2cd12f1e80d0bdeaefebd>

struct __cppobj ScriptServerActorEquippedArmorEvent::<lambda_cdc32e11a9d2cd12f1e80d0bdeaefebd>
{
};

# ScriptServerActorHurtEvent::<lambda_ce3adfd8172704971b0f794514e17a71>::()::__l2::Literal

struct __cppobj ScriptServerActorHurtEvent::<lambda_ce3adfd8172704971b0f794514e17a71>::()::__l2::Literal
{
};

# ScriptServerActorHurtEvent::<lambda_ce3adfd8172704971b0f794514e17a71>

struct __cppobj ScriptServerActorHurtEvent::<lambda_ce3adfd8172704971b0f794514e17a71>
{
};

# ScriptServerActorMoveEvent::<lambda_5dbf15215ae53fb24bb38bebb0175a05>::()::__l2::Literal

struct __cppobj ScriptServerActorMoveEvent::<lambda_5dbf15215ae53fb24bb38bebb0175a05>::()::__l2::Literal
{
};

# ScriptServerActorMoveEvent::<lambda_5dbf15215ae53fb24bb38bebb0175a05>

struct __cppobj ScriptServerActorMoveEvent::<lambda_5dbf15215ae53fb24bb38bebb0175a05>
{
};

# ScriptServerActorRemovedEvent::<lambda_e1e1ea3c71e3a7e27d99e4c6230a0445>::()::__l2::Literal

struct __cppobj ScriptServerActorRemovedEvent::<lambda_e1e1ea3c71e3a7e27d99e4c6230a0445>::()::__l2::Literal
{
};

# ScriptServerActorRemovedEvent::<lambda_e1e1ea3c71e3a7e27d99e4c6230a0445>

struct __cppobj ScriptServerActorRemovedEvent::<lambda_e1e1ea3c71e3a7e27d99e4c6230a0445>
{
};

# ScriptServerActorSneakChangedEvent::<lambda_5bc0eb0237148f443b4f2b2fb617c153>::()::__l2::Literal

struct __cppobj ScriptServerActorSneakChangedEvent::<lambda_5bc0eb0237148f443b4f2b2fb617c153>::()::__l2::Literal
{
};

# ScriptServerActorSneakChangedEvent::<lambda_5bc0eb0237148f443b4f2b2fb617c153>

struct __cppobj ScriptServerActorSneakChangedEvent::<lambda_5bc0eb0237148f443b4f2b2fb617c153>
{
};

# ScriptServerActorStartRidingEvent::<lambda_d4a35e41893530002bc74191e1185710>::()::__l2::Literal

struct __cppobj ScriptServerActorStartRidingEvent::<lambda_d4a35e41893530002bc74191e1185710>::()::__l2::Literal
{
};

# ScriptServerActorStartRidingEvent::<lambda_d4a35e41893530002bc74191e1185710>

struct __cppobj ScriptServerActorStartRidingEvent::<lambda_d4a35e41893530002bc74191e1185710>
{
};

# ScriptServerActorStopRidingEvent::<lambda_205b421ab95e96f2a7a5b8ce0d4682b0>::()::__l2::Literal

struct __cppobj ScriptServerActorStopRidingEvent::<lambda_205b421ab95e96f2a7a5b8ce0d4682b0>::()::__l2::Literal
{
};

# ScriptServerActorStopRidingEvent::<lambda_205b421ab95e96f2a7a5b8ce0d4682b0>

struct __cppobj ScriptServerActorStopRidingEvent::<lambda_205b421ab95e96f2a7a5b8ce0d4682b0>
{
};

# ScriptServerActorTickEvent::<lambda_abe6f04f2c4f7d27425efcf42e305604>::()::__l2::Literal

struct __cppobj ScriptServerActorTickEvent::<lambda_abe6f04f2c4f7d27425efcf42e305604>::()::__l2::Literal
{
};

# ScriptServerActorTickEvent::<lambda_abe6f04f2c4f7d27425efcf42e305604>

struct __cppobj ScriptServerActorTickEvent::<lambda_abe6f04f2c4f7d27425efcf42e305604>
{
};

# ScriptServerActorUseItemEvent::<lambda_dadba191a33650b627c11f8148262600>::()::__l2::Literal

struct __cppobj ScriptServerActorUseItemEvent::<lambda_dadba191a33650b627c11f8148262600>::()::__l2::Literal
{
};

# ScriptServerActorUseItemEvent::<lambda_dadba191a33650b627c11f8148262600>

struct __cppobj ScriptServerActorUseItemEvent::<lambda_dadba191a33650b627c11f8148262600>
{
};

# ScriptServerBlockDestructionStartedEvent::<lambda_061ad5064dadbc73439e466837028976>::()::__l2::Literal

struct __cppobj ScriptServerBlockDestructionStartedEvent::<lambda_061ad5064dadbc73439e466837028976>::()::__l2::Literal
{
};

# ScriptServerBlockDestructionStartedEvent::<lambda_061ad5064dadbc73439e466837028976>

struct __cppobj ScriptServerBlockDestructionStartedEvent::<lambda_061ad5064dadbc73439e466837028976>
{
};

# ScriptServerBlockDestructionStoppedEvent::<lambda_87cc2ad3cdfe8ae2d08cebd6726d0bce>::()::__l2::Literal

struct __cppobj ScriptServerBlockDestructionStoppedEvent::<lambda_87cc2ad3cdfe8ae2d08cebd6726d0bce>::()::__l2::Literal
{
};

# ScriptServerBlockDestructionStoppedEvent::<lambda_87cc2ad3cdfe8ae2d08cebd6726d0bce>

struct __cppobj ScriptServerBlockDestructionStoppedEvent::<lambda_87cc2ad3cdfe8ae2d08cebd6726d0bce>
{
};

# ScriptServerBlockExplodedEvent::<lambda_cbb56f71874778fb9c91f93b9dfacc64>::()::__l2::Literal

struct __cppobj ScriptServerBlockExplodedEvent::<lambda_cbb56f71874778fb9c91f93b9dfacc64>::()::__l2::Literal
{
};

# ScriptServerBlockExplodedEvent::<lambda_cbb56f71874778fb9c91f93b9dfacc64>

struct __cppobj ScriptServerBlockExplodedEvent::<lambda_cbb56f71874778fb9c91f93b9dfacc64>
{
};

# ScriptServerBlockInteractedWithEvent::<lambda_2267225b6caff48256349e6ee8b7f891>::()::__l2::Literal

struct __cppobj ScriptServerBlockInteractedWithEvent::<lambda_2267225b6caff48256349e6ee8b7f891>::()::__l2::Literal
{
};

# ScriptServerBlockInteractedWithEvent::<lambda_2267225b6caff48256349e6ee8b7f891>

struct __cppobj ScriptServerBlockInteractedWithEvent::<lambda_2267225b6caff48256349e6ee8b7f891>
{
};

# ScriptServerBlockMovedByPistonEvent::<lambda_c7fc19fc1ecbec156099a309acf27780>::()::__l2::Literal

struct __cppobj ScriptServerBlockMovedByPistonEvent::<lambda_c7fc19fc1ecbec156099a309acf27780>::()::__l2::Literal
{
};

# ScriptServerBlockMovedByPistonEvent::<lambda_c7fc19fc1ecbec156099a309acf27780>

struct __cppobj ScriptServerBlockMovedByPistonEvent::<lambda_c7fc19fc1ecbec156099a309acf27780>
{
};

# ScriptServerPlayerDestroyedBlockEvent::<lambda_1c0234b963774d62d5fc5bb2c16b31f0>::()::__l2::Literal

struct __cppobj ScriptServerPlayerDestroyedBlockEvent::<lambda_1c0234b963774d62d5fc5bb2c16b31f0>::()::__l2::Literal
{
};

# ScriptServerPlayerDestroyedBlockEvent::<lambda_1c0234b963774d62d5fc5bb2c16b31f0>

struct __cppobj ScriptServerPlayerDestroyedBlockEvent::<lambda_1c0234b963774d62d5fc5bb2c16b31f0>
{
};

# ScriptServerPlayerPlacedBlockEvent::<lambda_b646bf563b7d2da66b00794bc08404a7>::()::__l2::Literal

struct __cppobj ScriptServerPlayerPlacedBlockEvent::<lambda_b646bf563b7d2da66b00794bc08404a7>::()::__l2::Literal
{
};

# ScriptServerPlayerPlacedBlockEvent::<lambda_b646bf563b7d2da66b00794bc08404a7>

struct __cppobj ScriptServerPlayerPlacedBlockEvent::<lambda_b646bf563b7d2da66b00794bc08404a7>
{
};

# ScriptServerProjectileHitEvent::<lambda_18772341b512daeb11b3088be5e3157d>::()::__l2::Literal

struct __cppobj ScriptServerProjectileHitEvent::<lambda_18772341b512daeb11b3088be5e3157d>::()::__l2::Literal
{
};

# ScriptServerProjectileHitEvent::<lambda_18772341b512daeb11b3088be5e3157d>

struct __cppobj ScriptServerProjectileHitEvent::<lambda_18772341b512daeb11b3088be5e3157d>
{
};

# ScriptServerWeatherEventData::<lambda_2ee032f639d034dfbf22d549c2946986>::()::__l2::Literal

struct __cppobj ScriptServerWeatherEventData::<lambda_2ee032f639d034dfbf22d549c2946986>::()::__l2::Literal
{
};

# ScriptServerWeatherEventData::<lambda_2ee032f639d034dfbf22d549c2946986>

struct __cppobj ScriptServerWeatherEventData::<lambda_2ee032f639d034dfbf22d549c2946986>
{
};

# ServerCommunicationInterface

struct __cppobj ServerCommunicationInterface
{
  std::unique_ptr<RakNet::TCPInterface> mTCPConnection;
  RakNet::SystemAddress mHostAddress;
};

# ServerInfoFile

struct __cppobj ServerInfoFile
{
  std::string mServerInfo;
};

# ServerScoreboard::unit_test_ctor_t

struct __cppobj ServerScoreboard::unit_test_ctor_t
{
};

# ScopedAutoreleasePool

struct __cppobj ScopedAutoreleasePool
{
};

# ServerInstance::startServerThread::__l2::<lambda_38a123e2403252f2089c9bb938f67a69>

struct __cppobj __declspec(align(8)) ServerInstance::startServerThread::__l2::<lambda_38a123e2403252f2089c9bb938f67a69>
{
  ServerInstance *const __this;
  std::thread::id mainThreadID;
};

# ServerPlayer::_scanForNearbyActors::__l2::<lambda_0dfd6d171d8c3352ffebfb6b56a887d2>

struct __cppobj ServerPlayer::_scanForNearbyActors::__l2::<lambda_0dfd6d171d8c3352ffebfb6b56a887d2>
{
  ServerPlayer *const __this;
  ChunkPos playerCPos;
};

# ServerPlayer::_updateNearbyActors::__l13::<lambda_6978293e02c00fcbb6db326263bb21d6>

struct __cppobj ServerPlayer::_updateNearbyActors::__l13::<lambda_6978293e02c00fcbb6db326263bb21d6>
{
  Actor *const *actor;
};

# ServerPlayer::setPlayerGameType::__l8::<lambda_c8e5512f6d38bb77751c3f9cf935f65a>

struct __cppobj ServerPlayer::setPlayerGameType::__l8::<lambda_c8e5512f6d38bb77751c3f9cf935f65a>
{
  ServerPlayer *const __this;
  GameType *oldGameType;
  GameType *newGameType;
};

# ServerPlayer::dispatchOffhandExchange::__l38::<lambda_f5a7b081d0472c03481178c9cdc90dd5>

struct __cppobj ServerPlayer::dispatchOffhandExchange::__l38::<lambda_f5a7b081d0472c03481178c9cdc90dd5>
{
  const ItemStack *oldItem;
  const ItemStack *item;
  ServerPlayer *const __this;
};

# ServerPlayer::doDeleteContainerManager::__l2::<lambda_13c4122d7f629eb887829da63f2796e5>

struct __cppobj ServerPlayer::doDeleteContainerManager::__l2::<lambda_13c4122d7f629eb887829da63f2796e5>
{
  ServerPlayer *const __this;
};

# ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_f7d7b09ef9339662f9e704bbb58baa5c>

struct __cppobj ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_f7d7b09ef9339662f9e704bbb58baa5c>
{
  ServerLevel *const __this;
};

# ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_f693e4a1cbc2b70b812999453ae3ca18>

struct __cppobj ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_f693e4a1cbc2b70b812999453ae3ca18>
{
  ServerLevel *const __this;
};

# ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_84158cd4ca4e10434dddc19cf4a58fee>

struct __cppobj ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_84158cd4ca4e10434dddc19cf4a58fee>
{
  ServerLevel *const __this;
};

# ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_2056a276235372a5634eaae33b53c1da>

struct __cppobj ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_2056a276235372a5634eaae33b53c1da>
{
  ServerLevel *const __this;
};

# ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_ac9618dca5d91597ebbee5d7592706a3>

struct __cppobj ServerLevel::_registerScoreboardCallbacks::__l2::<lambda_ac9618dca5d91597ebbee5d7592706a3>
{
  ServerLevel *const __this;
};

# ServerLevel::tick::__l16::<lambda_13994e6dc3ba99f0d6243aec0e436bed>

struct __cppobj ServerLevel::tick::__l16::<lambda_13994e6dc3ba99f0d6243aec0e436bed>
{
  Dimension **sleepingDimension;
};

# ServerLevel::awakenAllPlayers::__l2::<lambda_36017ba3c0bce9fdaa37bc40cb9d23b8>

struct __cppobj ServerLevel::awakenAllPlayers::__l2::<lambda_36017ba3c0bce9fdaa37bc40cb9d23b8>
{
  ServerLevel *const __this;
};

# ServerLevel::updateSleepingPlayerList::__l5::<lambda_b8cad8f512d8e0ea91015903726abf3a>

struct __cppobj ServerLevel::updateSleepingPlayerList::__l5::<lambda_b8cad8f512d8e0ea91015903726abf3a>
{
};

# ServerLevel::updateSleepingPlayerList::__l2::<lambda_1687ff0fa4141382a99da3f25ff45af7>

struct __cppobj ServerLevel::updateSleepingPlayerList::__l2::<lambda_1687ff0fa4141382a99da3f25ff45af7>
{
  ServerLevel *const __this;
};

# ServerInstance::onCriticalDiskError::__l7::<lambda_e9af27af87eb52720761731edaa18cf9>

struct __cppobj __declspec(align(8)) ServerInstance::onCriticalDiskError::__l7::<lambda_e9af27af87eb52720761731edaa18cf9>
{
  ServerInstance *const __this;
  _BYTE errorCode[4];
};

# ServerInstance::onCriticalDiskError::__l7::<lambda_d18ad28d93876e2fe0cbf2fcb96c3fca>

struct __cppobj ServerInstance::onCriticalDiskError::__l7::<lambda_d18ad28d93876e2fe0cbf2fcb96c3fca>
{
  ServerInstance *const __this;
};

# ServerInstance::onOutOfDiskSpace::__l2::<lambda_64f8df233c96fb69c081c4959efbfe75>

struct __cppobj ServerInstance::onOutOfDiskSpace::__l2::<lambda_64f8df233c96fb69c081c4959efbfe75>
{
  ServerInstance *const __this;
};

# ServerInstance::onLowDiskSpace::__l2::<lambda_1cf19f14158fc4665dd70e1391c3fe2c>

struct __cppobj ServerInstance::onLowDiskSpace::__l2::<lambda_1cf19f14158fc4665dd70e1391c3fe2c>
{
  ServerInstance *const __this;
};

# ServerInstance::onLowMemory::__l5::<lambda_f306d9e233697ed1302cb8212fe57a7f>

struct __cppobj ServerInstance::onLowMemory::__l5::<lambda_f306d9e233697ed1302cb8212fe57a7f>
{
  ServerInstance *const __this;
};

# ServerInstance::suspend::__l5::<lambda_e2bf1bc6a494a9ac2de26852ce0ed296>

struct __cppobj ServerInstance::suspend::__l5::<lambda_e2bf1bc6a494a9ac2de26852ce0ed296>
{
  ServerInstance *const __this;
  Semaphore *done;
};

# ServerInstance::startServerThread::__l2::<lambda_61db5e35136f18e97c34ce62a9ddb5fc>

struct __cppobj ServerInstance::startServerThread::__l2::<lambda_61db5e35136f18e97c34ce62a9ddb5fc>
{
  ServerInstance *const __this;
};

# ServerInstance::_update::__l14::<lambda_3faa4355083367d3e900b965565f3e7e>

struct __cppobj ServerInstance::_update::__l14::<lambda_3faa4355083367d3e900b965565f3e7e>
{
  std::vector<std::string> *params;
};

# ServerInstance::_update::__l21::<lambda_3e8973e09386f8026c52e2c67ecde5c9>

struct __cppobj ServerInstance::_update::__l21::<lambda_3e8973e09386f8026c52e2c67ecde5c9>
{
  std::vector<std::string> *args;
};

# ServerInstance::_update::__l14::<lambda_bf8e4311a37503222dd27aea2ad45a01>

struct __cppobj ServerInstance::_update::__l14::<lambda_bf8e4311a37503222dd27aea2ad45a01>
{
  std::vector<std::string> *params;
};

# ServerInstance::_update::__l8::<lambda_0dae2ad6986374c1bca1ba6604dab7b9>

struct __cppobj ServerInstance::_update::__l8::<lambda_0dae2ad6986374c1bca1ba6604dab7b9>
{
  std::vector<std::string> *params;
};

# ServerInstance::startLeaveGame::__l2::<lambda_804f170d515d3e306b535ea0a68241e8>

struct __cppobj ServerInstance::startLeaveGame::__l2::<lambda_804f170d515d3e306b535ea0a68241e8>
{
  ServerInstance *const __this;
};

# ServerInstance::startLeaveGame::__l2::<lambda_804f170d515d3e306b535ea0a68241e8>::()::__l2::<lambda_a9a64e694fc42303ef0e428917bf96a5>

struct __cppobj ServerInstance::startLeaveGame::__l2::<lambda_804f170d515d3e306b535ea0a68241e8>::()::__l2::<lambda_a9a64e694fc42303ef0e428917bf96a5>
{
};

# Social::<lambda_b93b87c45268420069f0d9b74b0bbc7b>

struct __cppobj Social::<lambda_b93b87c45268420069f0d9b74b0bbc7b>
{
};

# Social::<lambda_44270d380b929dd40ed4f29bd4cf776c>

struct __cppobj Social::<lambda_44270d380b929dd40ed4f29bd4cf776c>
{
};

# Section_t

struct Section_t
{
  unsigned __int8 *Data;
  int Type;
  unsigned int Size;
};

# ScopedProfileTag

struct __cppobj ScopedProfileTag
{
};

# ServerFileChunkUploader

struct __cppobj ServerFileChunkUploader : IFileChunkUploader, std::enable_shared_from_this<ServerFileChunkUploader>
{
  PacketSender *mPacketSender;
  const NetworkIdentifier *mSource;
  bool mInitialized;
  std::string mName;
  std::string mFileHash;
  FileChunkManager mChunkManager;
};

# ServerFileChunkUploader_vtbl

struct /*VFT*/ ServerFileChunkUploader_vtbl
{
  void (__fastcall *~IFileChunkUploader)(IFileChunkUploader *this);
  void (__fastcall *update)(IFileChunkUploader *this);
  void (__fastcall *initFileUploader)(IFileChunkUploader *this, const std::string *, const FileInfo *, int, const Json::Value *, std::function<void __cdecl(bool)>);
  void (__fastcall *getServerMissingChunks)(IFileChunkUploader *this, const FileInfo *, std::function<void __cdecl(std::vector<FileChunkInfo>)>);
  void (__fastcall *confirmChunkReceived)(IFileChunkUploader *this, const FileInfo *, const FileChunkInfo *);
  void (__fastcall *uploadChunk)(IFileChunkUploader *this, const FileInfo *, const FileChunkInfo *, const std::vector<unsigned char> *, std::function<void __cdecl(bool)>);
  void (__fastcall *uploadStream)(IFileChunkUploader *this, const FileInfo *, unsigned __int64, const std::string *, std::function<bool __cdecl(unsigned __int64 &,std::vector<unsigned char> &)>, std::function<void __cdecl(enum IFileChunkUploader::UploadStreamResult)>);
  bool (__fastcall *canCancelUpload)(IFileChunkUploader *this, const FileInfo *);
  void (__fastcall *cancelUpload)(IFileChunkUploader *this, const FileInfo *);
  UploadError (__fastcall *getInitErrorCode)(IFileChunkUploader *this);
  float (__fastcall *getUploadProgress)(IFileChunkUploader *this, const FileInfo *);
  FileChunkInfo *(__fastcall *getChunkInfo)(IFileChunkUploader *this, FileChunkInfo *result, const FileInfo *, int);
};

# SkinIDDefinition

struct __cppobj SkinIDDefinition
{
  int mSkinIDChoice;
};

# ScaleDefinition

struct __cppobj ScaleDefinition
{
  float mValue;
};

# Squid

struct __cppobj Squid : Mob
{
  float mSpeed;
  float mTentacleSpeed;
  float mRotateSpeed;
  float mXBodyRot;
  float mXBodyRotO;
  float mZBodyRot;
  float mZBodyRotO;
  float mTx;
  float mTy;
  float mTz;
  float mTentacleMovement;
  float mOldTentacleMovement;
  float mTentacleAngle;
  float mOldTentacleAngle;
};

# SquidIdleGoal

struct __cppobj __declspec(align(8)) SquidIdleGoal : Goal
{
  Squid *mSquid;
  int mNumIdleTicks;
};

# SquidIdleGoal_vtbl

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

# SquidFleeGoal

struct __cppobj __declspec(align(8)) SquidFleeGoal : Goal
{
  Squid *mSquid;
  int mNumFleeTicks;
};

# SquidFleeGoal_vtbl

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

# SquidMoveAwayFromGroundGoal

struct __cppobj SquidMoveAwayFromGroundGoal : Goal
{
  Squid *mSquid;
};

# SquidMoveAwayFromGroundGoal_vtbl

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

# SquidOutOfWaterGoal

struct __cppobj SquidOutOfWaterGoal : Goal
{
  Squid *mSquid;
};

# SquidOutOfWaterGoal_vtbl

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

# SquidDiveGoal

struct __cppobj SquidDiveGoal : Goal
{
  Squid *mSquid;
};

# SquidDiveGoal_vtbl

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

# Spider

struct __cppobj Spider : Monster
{
};

# Shulker

struct __cppobj Shulker : Mob
{
  const int TELEPORT_STEPS;
  float mCurrentPeekAmountO;
  float mCurrentPeekAmount;
  BlockPos mOldAttachPosition;
  bool mIsAttached;
  bool mWasAttached;
  int mClientSideTeleportInterpolation;
};

# SoundVolumeDefinition

struct __cppobj SoundVolumeDefinition
{
  float mValue;
};

# SoundParams

struct __cppobj SoundParams
{
  float babyVolume;
  float babyPitchAdd;
  FloatRange baseVolume;
  FloatRange basePitch;
  FloatRange normalSpeed;
  FloatRange normalVolume;
  FloatRange normalPitch;
  FloatRange aggroSpeed;
  FloatRange aggroVolume;
  FloatRange aggroPitch;
};

# Salmon

struct __cppobj Salmon : Fish
{
};

# SequenceBehaviorNode

struct __cppobj SequenceBehaviorNode : BehaviorNode
{
  std::unique_ptr<BehaviorNode> mActiveChild;
  unsigned __int64 mCurrentIndex;
};

# SequenceBehaviorNode_vtbl

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

# SequenceDefinition

struct __cppobj SequenceDefinition : CompositeDefinition
{
};

# SequenceDefinition_vtbl

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

# SelectorBehaviorNode

struct __cppobj SelectorBehaviorNode : BehaviorNode
{
  std::unique_ptr<BehaviorNode> mActiveChild;
  unsigned __int64 mCurrentIndex;
};

# SelectorBehaviorNode_vtbl

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

# SelectorDefinition

struct __cppobj SelectorDefinition : CompositeDefinition
{
};

# SelectorDefinition_vtbl

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

# SubtreeNode

struct __cppobj SubtreeNode : BehaviorNode
{
  BehaviorTreeDefinitionPtr mSubtreePtr;
  std::unique_ptr<BehaviorNode> mSubtreeHead;
  BehaviorData mSubtreeData;
};

# SubtreeNode_vtbl

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

# SubtreeDefinition

struct __cppobj SubtreeDefinition : BehaviorDefinition
{
  std::string mSubtreeId;
  std::vector<std::pair<std::string,std::string >> mBehaviorDataItems;
};

# SubtreeDefinition_vtbl

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

# ShootBowNode

struct __cppobj __declspec(align(4)) ShootBowNode : BehaviorNode
{
  int mNumTimesToShoot;
  int mNumTimesShot;
  int mTicksLeftToShoot;
  bool mDone;
};

# ShootBowNode_vtbl

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

# ShootBowDefinition

struct __cppobj ShootBowDefinition : BehaviorDefinition
{
  int mNumOfShots;
  std::string mNumOfShotsId;
};

# ShootBowDefinition_vtbl

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

# SelectItemDefinition

struct __cppobj SelectItemDefinition : BehaviorDefinition
{
  std::string mItemName;
  std::string mItemNameId;
};

# SelectItemDefinition_vtbl

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

# SetVariableDefinition

struct __cppobj SetVariableDefinition : BehaviorDefinition
{
  std::string mType;
  std::string mId;
  Json::Value mData;
};

# SetVariableDefinition_vtbl

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

# SelectItemNode

struct __cppobj SelectItemNode : BehaviorNode
{
  std::string mItemName;
  const Item *mItem;
  int mItemSlot;
  SelectItemNode::State mState;
};

# SelectItemNode_vtbl

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

# SharedModifiers

struct __cppobj SharedModifiers
{
};

# Silverfish

struct __cppobj Silverfish : Monster
{
};

# SilverfishWakeUpFriendsGoal

struct __cppobj __declspec(align(8)) SilverfishWakeUpFriendsGoal : Goal
{
  Silverfish *mSilverfish;
  int mLookForFriends;
};

# SilverfishWakeUpFriendsGoal_vtbl

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

# SilverfishMergeWithStoneGoal

struct __cppobj __declspec(align(4)) SilverfishMergeWithStoneGoal : RandomStrollGoal
{
  Silverfish *mSilverfish;
  int mSelectedFace;
  bool mDoMerge;
};

# SilverfishMergeWithStoneGoal_vtbl

struct /*VFT*/ SilverfishMergeWithStoneGoal_vtbl
{
  void (__fastcall *~Goal)(Goal *this);
  bool (__fastcall *canUse)(Goal *this);
  bool (__fastcall *canContinueToUse)(Goal *this);
  bool (__fastcall *canBeInterrupted)(Goal *this);
  void (__fastcall *start)(Goal *this);
  void (__fastcall *stop)(Goal *this);
  void (__fastcall *tick)(Goal *this);
  void (__fastcall *appendDebugInfo)(Goal *this, std::string *);
  bool (__fastcall *isTargetGoal)(Goal *this);
  void (__fastcall *onPlayerDimensionChanged)(Goal *this, Player *, AutomaticID<Dimension,int>);
  bool (__fastcall *_setWantedPosition)(RandomStrollGoal *this);
};

# SilverfishMergeWithStoneGoal::start::__l11::<lambda_f12d9c59bc944d07fe7ece3c18891171>

struct __cppobj SilverfishMergeWithStoneGoal::start::__l11::<lambda_f12d9c59bc944d07fe7ece3c18891171>
{
  SilverfishMergeWithStoneGoal *const __this;
  const Block *block;
  BlockPos *pos;
  BlockSource *region;
};

# SilverfishWakeUpFriendsGoal::tick::__l17::<lambda_4a27a34b25c5a35e6353ee6f7d19d140>

struct __cppobj SilverfishWakeUpFriendsGoal::tick::__l17::<lambda_4a27a34b25c5a35e6353ee6f7d19d140>
{
  SilverfishWakeUpFriendsGoal *const __this;
  const Block *testBlock;
  BlockPos *testPos;
  BlockSource *region;
};

# SandStoneBlock

struct __cppobj SandStoneBlock : BlockLegacy
{
};

# SandStoneBlock_vtbl

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

# SimplePlayerContainer

struct __cppobj SimplePlayerContainer : SimpleContainer
{
  Player *mPlayer;
};

# SimplePlayerContainer_vtbl

struct /*VFT*/ SimplePlayerContainer_vtbl
{
  void (__fastcall *~Container)(Container *this);
  void (__fastcall *init)(Container *this);
  void (__fastcall *serverInitItemStackIds)(Container *this, int, int, std::function<void __cdecl(int,ItemStack const &)>);
  void (__fastcall *addContentChangeListener)(Container *this, ContainerContentChangeListener *);
  void (__fastcall *removeContentChangeListener)(Container *this, ContainerContentChangeListener *);
  const ItemStack *(__fastcall *getItem)(Container *this, int);
  bool (__fastcall *hasRoomForItem)(Container *this, const ItemStack *);
  void (__fastcall *addItem)(Container *this, ItemStack *);
  bool (__fastcall *addItemToFirstEmptySlot)(Container *this, ItemStack *);
  void (__fastcall *setItem)(Container *this, int, const ItemStack *);
  void (__fastcall *setItemWithForceBalance)(Container *this, int, const ItemStack *, bool);
  void (__fastcall *removeItem)(Container *this, int, int);
  void (__fastcall *removeAllItems)(Container *this);
  void (__fastcall *dropContents)(Container *this, BlockSource *, const Vec3 *, bool);
  int (__fastcall *getContainerSize)(Container *this);
  int (__fastcall *getMaxStackSize)(Container *this);
  void (__fastcall *startOpen)(Container *this, Player *);
  void (__fastcall *stopOpen)(Container *this, Player *);
  std::vector<ItemStack> *(__fastcall *getSlotCopies)(Container *this, std::vector<ItemStack> *result);
  const std::vector<ItemStack const *> *(__fastcall *getSlots)(Container *this, const std::vector<ItemStack const *> *result);
  int (__fastcall *getItemCount)(Container *this, const ItemStack *);
  int (__fastcall *findFirstSlotForItem)(Container *this, const ItemStack *);
  bool (__fastcall *canPushInItem)(Container *this, BlockSource *, int, int, const ItemInstance *);
  bool (__fastcall *canPullOutItem)(Container *this, BlockSource *, int, int, const ItemInstance *);
  void (__fastcall *setContainerChanged)(Container *this, int);
  void (__fastcall *setContainerMoved)(Container *this);
  void (__fastcall *setCustomName)(Container *this, const std::string *);
  bool (__fastcall *hasCustomName)(Container *this);
  void (__fastcall *readAdditionalSaveData)(Container *this, const CompoundTag *);
  void (__fastcall *addAdditionalSaveData)(Container *this, CompoundTag *);
  void (__fastcall *createTransactionContext)(Container *this, std::function<void __cdecl(Container &,int,ItemStack const &,ItemStack const &)>, std::function<void __cdecl(void)>);
  void (__fastcall *initializeContainerContents)(Container *this, BlockSource *);
  bool (__fastcall *reviewItems)(Container *this, Level *);
};

# ShieldItemUtils

struct __cppobj ShieldItemUtils
{
};

# SurvivalMode

struct __cppobj SurvivalMode : GameMode
{
  bool mIsTrialMode;
  bool mHasDisplayedIntro;
  int mTrialEndedReminder;
  std::function<void __cdecl(bool)> mShowUpsellScreenCallback;
};

# SurvivalMode_vtbl

struct /*VFT*/ SurvivalMode_vtbl
{
  void (__fastcall *~GameMode)(GameMode *this);
  bool (__fastcall *startDestroyBlock)(GameMode *this, const BlockPos *, unsigned __int8, bool *);
  bool (__fastcall *destroyBlock)(GameMode *this, const BlockPos *, unsigned __int8, bool);
  bool (__fastcall *continueDestroyBlock)(GameMode *this, const BlockPos *, unsigned __int8, const Vec3 *, bool *);
  void (__fastcall *stopDestroyBlock)(GameMode *this, const BlockPos *);
  void (__fastcall *startBuildBlock)(GameMode *this, const BlockPos *, unsigned __int8);
  bool (__fastcall *buildBlock)(GameMode *this, const BlockPos *, unsigned __int8);
  void (__fastcall *continueBuildBlock)(GameMode *this, const BlockPos *, unsigned __int8);
  void (__fastcall *stopBuildBlock)(GameMode *this);
  void (__fastcall *tick)(GameMode *this);
  float (__fastcall *getPickRange)(GameMode *this, const InputMode *, bool);
  bool (__fastcall *useItem)(GameMode *this, ItemStack *);
  bool (__fastcall *useItemOn)(GameMode *this, ItemStack *, const BlockPos *, unsigned __int8, const Vec3 *, const Block *);
  bool (__fastcall *interact)(GameMode *this, Actor *, const Vec3 *);
  bool (__fastcall *attack)(GameMode *this, Actor *);
  void (__fastcall *releaseUsingItem)(GameMode *this);
  void (__fastcall *setTrialMode)(GameMode *this, bool);
  bool (__fastcall *isInTrialMode)(GameMode *this);
  void (__fastcall *registerUpsellScreenCallback)(GameMode *this, std::function<void __cdecl(bool)>);
};

# ShulkerBullet

struct __cppobj ShulkerBullet : PredictableProjectile
{
  ActorUniqueID ownerId;
};

# ShulkerBullet_vtbl

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

# SmallFireball

struct __cppobj SmallFireball : Fireball
{
};

# SmallFireball_vtbl

struct /*VFT*/ SmallFireball_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 *);
  float (__fastcall *getInertia)(Fireball *this);
  void (__fastcall *onHit)(Fireball *this, const HitResult *);
  ParticleType (__fastcall *getTrailParticle)(Fireball *this);
  bool (__fastcall *shouldBurn)(Fireball *this);
};

# Snowball

struct __cppobj Snowball : Throwable
{
};

# Snowball_vtbl

struct /*VFT*/ Snowball_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 *);
  float (__fastcall *getThrowPower)(Throwable *this);
  bool (__fastcall *stopUponGroundCollision)(Throwable *this);
  float (__fastcall *getThrowUpAngleOffset)(Throwable *this);
  float (__fastcall *getGravity)(Throwable *this);
  ParticleType (__fastcall *getParticleType)(Throwable *this);
  void (__fastcall *onHit)(Throwable *this, const HitResult *);
};

# ShiftedValueAmplifier

struct __cppobj ShiftedValueAmplifier : Amplifier
{
  int mShiftedValue;
  float mScalar;
};

# ShiftedValueAmplifier_vtbl

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

# ShiftedDurationAmplifier

struct __cppobj __declspec(align(8)) ShiftedDurationAmplifier : Amplifier
{
  int mShiftedValue;
};

# ShiftedDurationAmplifier_vtbl

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

# SpawnGroupRegistry::readResourceFiles::__l2::<lambda_18d9d3bd186a44a014dc78dfc67477f1>

struct __cppobj SpawnGroupRegistry::readResourceFiles::__l2::<lambda_18d9d3bd186a44a014dc78dfc67477f1>
{
  std::unordered_map<std::string,std::string> *definitions;
  SpawnGroupRegistry *const __this;
};

# SpawnGroupRegistry::{ctor}::__l2::<lambda_be1a7fe1e4a6ee359b73783076b03b0e>

struct __cppobj SpawnGroupRegistry::{ctor}::__l2::<lambda_be1a7fe1e4a6ee359b73783076b03b0e>
{
  SpawnGroupRegistry *const __this;
};

# SharedAmplifiers

struct __cppobj SharedAmplifiers
{
};

# SharedBuffs

struct __cppobj SharedBuffs
{
};

# serverGetItemAllowedInTrade1IngredientSlot::__l2::<lambda_cb74e3b5cc06f626714289c7d4ef14be>

struct __cppobj serverGetItemAllowedInTrade1IngredientSlot::__l2::<lambda_cb74e3b5cc06f626714289c7d4ef14be>
{
  const ContainerScreenContext *screenContext;
};

# SandBlock

struct __cppobj SandBlock : HeavyBlock
{
};

# SandBlock_vtbl

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

# ServerPlayerEventCoordinator::sendPlayerMovementAnomaly::__l2::<lambda_b1ad7cce3814e67d0f4bdecdfc7c5115>

struct __cppobj ServerPlayerEventCoordinator::sendPlayerMovementAnomaly::__l2::<lambda_b1ad7cce3814e67d0f4bdecdfc7c5115>
{
  Player *player;
  const Vec3 *clientPos;
  const float *posDelta;
  const float *observedScore;
};

# ServerPlayerEventCoordinator::sendPlayerMovementCorrected::__l2::<lambda_ca115122c503a09ddff56b237dfbecb9>

struct __cppobj ServerPlayerEventCoordinator::sendPlayerMovementCorrected::__l2::<lambda_ca115122c503a09ddff56b237dfbecb9>
{
  Player *player;
  const Vec3 *clientPos;
  const float *posDelta;
  const float *observedScore;
};

# ServerPlayerEventCoordinator::sendPlayerOnGround::__l2::<lambda_11359d3f42cea7429aca3bf600b30406>

struct __cppobj ServerPlayerEventCoordinator::sendPlayerOnGround::__l2::<lambda_11359d3f42cea7429aca3bf600b30406>
{
  Player *player;
};

# ServerLevelEventCoordinator::sendLevelRemovedPlayer::__l2::<lambda_51cf456273c80a18ec5d22b77a6b762b>

struct __cppobj ServerLevelEventCoordinator::sendLevelRemovedPlayer::__l2::<lambda_51cf456273c80a18ec5d22b77a6b762b>
{
  Level *level;
  Player *player;
};

# ServerLevelEventCoordinator::sendLevelAddedPlayer::__l2::<lambda_6046479f2a5274d0eb13dfc28b0ae5e1>

struct __cppobj ServerLevelEventCoordinator::sendLevelAddedPlayer::__l2::<lambda_6046479f2a5274d0eb13dfc28b0ae5e1>
{
  Level *level;
  Player *player;
};

# ServerLevelEventCoordinator::sendLevelSaveData::__l2::<lambda_f879f8e1a39de6b5a5f138c6f38c5d98>

struct __cppobj ServerLevelEventCoordinator::sendLevelSaveData::__l2::<lambda_f879f8e1a39de6b5a5f138c6f38c5d98>
{
  Level *level;
  CompoundTag *extraSaveData;
};

# ServerInstanceEventCoordinator::sendLeaveGameDone::__l2::<lambda_47a974131b03caced245b9ae50b11fb0>

struct __cppobj ServerInstanceEventCoordinator::sendLeaveGameDone::__l2::<lambda_47a974131b03caced245b9ae50b11fb0>
{
  ServerInstance *instance;
};

# ServerInstanceEventCoordinator::sendStartLeaveGame::__l2::<lambda_62ea52143e56d2647ee3449472832ca0>

struct __cppobj ServerInstanceEventCoordinator::sendStartLeaveGame::__l2::<lambda_62ea52143e56d2647ee3449472832ca0>
{
  ServerInstance *instance;
};

# ServerInstanceEventCoordinator::sendServerThreadStopped::__l2::<lambda_9e234f4fa85b9ff43d75b8a69ce3c93c>

struct __cppobj ServerInstanceEventCoordinator::sendServerThreadStopped::__l2::<lambda_9e234f4fa85b9ff43d75b8a69ce3c93c>
{
  ServerInstance *instance;
};

# ServerInstanceEventCoordinator::sendServerThreadStarted::__l2::<lambda_b049963b231f21fe1004c2ce584f395a>

struct __cppobj ServerInstanceEventCoordinator::sendServerThreadStarted::__l2::<lambda_b049963b231f21fe1004c2ce584f395a>
{
  ServerInstance *instance;
};

# ServerInstanceEventCoordinator::sendServerResume::__l2::<lambda_1391a3368699f6757016a32404e537a2>

struct __cppobj ServerInstanceEventCoordinator::sendServerResume::__l2::<lambda_1391a3368699f6757016a32404e537a2>
{
  ServerInstance *instance;
};

# ServerInstanceEventCoordinator::sendServerSuspend::__l2::<lambda_fee17be9c5cbbd440d5c6ebdb19440fe>

struct __cppobj ServerInstanceEventCoordinator::sendServerSuspend::__l2::<lambda_fee17be9c5cbbd440d5c6ebdb19440fe>
{
  ServerInstance *instance;
};

# ServerInstanceEventCoordinator::sendServerUpdateEnd::__l2::<lambda_3b450b1044f38d8e3fdc5ea75e9caf4a>

struct __cppobj ServerInstanceEventCoordinator::sendServerUpdateEnd::__l2::<lambda_3b450b1044f38d8e3fdc5ea75e9caf4a>
{
  ServerInstance *instance;
};

# ServerInstanceEventCoordinator::sendServerUpdateStart::__l2::<lambda_eff6b28737aaba3cc543ffcc7660c3df>

struct __cppobj ServerInstanceEventCoordinator::sendServerUpdateStart::__l2::<lambda_eff6b28737aaba3cc543ffcc7660c3df>
{
  ServerInstance *instance;
};

# ServerInstanceEventCoordinator::sendServerLevelInitialized::__l2::<lambda_8ea8b1ab02d0ab8e6ea953344448aafc>

struct __cppobj ServerInstanceEventCoordinator::sendServerLevelInitialized::__l2::<lambda_8ea8b1ab02d0ab8e6ea953344448aafc>
{
  ServerInstance *instance;
  Level *level;
};

# ServerInstanceEventCoordinator::sendServerMinecraftInitialized::__l2::<lambda_c1ed07e9cd8e3ee6e9b39dddf55f7420>

struct __cppobj ServerInstanceEventCoordinator::sendServerMinecraftInitialized::__l2::<lambda_c1ed07e9cd8e3ee6e9b39dddf55f7420>
{
  ServerInstance *instance;
  Minecraft *minecraft;
};

# ServerInstanceEventCoordinator::sendServerInitializeEnd::__l2::<lambda_0cb0d10ed40c01d93012bb2574f08a48>

struct __cppobj ServerInstanceEventCoordinator::sendServerInitializeEnd::__l2::<lambda_0cb0d10ed40c01d93012bb2574f08a48>
{
  ServerInstance *instance;
};

# ServerInstanceEventCoordinator::sendServerInitializeStart::__l2::<lambda_9aea0d7404ca83bc68cea77c82bb3988>

struct __cppobj ServerInstanceEventCoordinator::sendServerInitializeStart::__l2::<lambda_9aea0d7404ca83bc68cea77c82bb3988>
{
  ServerInstance *instance;
};

# ScriptEventCoordinator::sendScriptInternalError::__l2::<lambda_67570cac87182cf7cae286de046b9481>

struct __cppobj ScriptEventCoordinator::sendScriptInternalError::__l2::<lambda_67570cac87182cf7cae286de046b9481>
{
  const std::string *internalError;
};

# ScriptEventCoordinator::sendScriptError::__l2::<lambda_a66a18ab19e7b8605d37f1abf01ae3ab>

struct __cppobj ScriptEventCoordinator::sendScriptError::__l2::<lambda_a66a18ab19e7b8605d37f1abf01ae3ab>
{
  const std::string *scriptName;
  const std::string *scriptError;
};

# ScriptEventCoordinator::sendScriptRan::__l2::<lambda_413258f28bf4606d37425060602f91b6>

struct __cppobj ScriptEventCoordinator::sendScriptRan::__l2::<lambda_413258f28bf4606d37425060602f91b6>
{
  const std::string *scriptName;
  const std::string *scriptContents;
  bool *succeeded;
};

# ScriptEventCoordinator::sendScriptLoaded::__l2::<lambda_72ab451975f01981527e90c874138646>

struct __cppobj ScriptEventCoordinator::sendScriptLoaded::__l2::<lambda_72ab451975f01981527e90c874138646>
{
  const std::string *scriptName;
  unsigned __int64 *scriptHash;
};

# ScriptEventCoordinator::sendScriptAddFilterToView::__l2::<lambda_be86b60e8a6adbef55807b28480d6e93>

struct __cppobj ScriptEventCoordinator::sendScriptAddFilterToView::__l2::<lambda_be86b60e8a6adbef55807b28480d6e93>
{
  const std::string *filterName;
};

# ScriptEventCoordinator::sendScriptRegisterSpatialView::__l2::<lambda_5e410848aa51c59bbad773a7cac379ca>

struct __cppobj ScriptEventCoordinator::sendScriptRegisterSpatialView::__l2::<lambda_5e410848aa51c59bbad773a7cac379ca>
{
  const std::string *spatialName;
};

# ScriptEventCoordinator::sendScriptRegisterView::__l2::<lambda_7a387c4ab59ad16a55e52838dc4a0516>

struct __cppobj ScriptEventCoordinator::sendScriptRegisterView::__l2::<lambda_7a387c4ab59ad16a55e52838dc4a0516>
{
};

# ScriptEventCoordinator::sendScriptBroadcastEvent::__l2::<lambda_677b1a1ee5ca377c27c2a80fdbcd1f4b>

struct __cppobj ScriptEventCoordinator::sendScriptBroadcastEvent::__l2::<lambda_677b1a1ee5ca377c27c2a80fdbcd1f4b>
{
  const std::string *eventName;
  RegistrationType *status;
  bool *succeeded;
};

# ScriptEventCoordinator::sendScriptListenForEvent::__l2::<lambda_3b3014de13116e270a9aab6aec39cbd6>

struct __cppobj ScriptEventCoordinator::sendScriptListenForEvent::__l2::<lambda_3b3014de13116e270a9aab6aec39cbd6>
{
  const std::string *eventName;
};

# ScriptEventCoordinator::sendScriptGetComponent::__l2::<lambda_7d73780ae1a82af6ec5f997802647101>

struct __cppobj ScriptEventCoordinator::sendScriptGetComponent::__l2::<lambda_7d73780ae1a82af6ec5f997802647101>
{
  const std::string *componentName;
  RegistrationType *status;
  bool *succeeded;
};

# ScreenHandlerBeacon

struct __cppobj ScreenHandlerBeacon : ScreenHandlerBase
{
  const ContainerScreenContext *mScreenContext;
  bool mIsPaymentAction;
  int mPrimaryEffectId;
  int mSecondaryEffectId;
  BeaconBlockActor *mBeaconBlockActor;
};

# ScreenHandlerBeacon_vtbl

struct /*VFT*/ ScreenHandlerBeacon_vtbl
{
  void (__fastcall *~ScreenHandlerBase)(ScreenHandlerBase *this);
  bool (__fastcall *canDestroy)(ScreenHandlerBase *this, const ContainerEnumName, unsigned __int8);
  ItemStackNetResult (__fastcall *handleAction)(ScreenHandlerBase *this, const ItemStackRequestAction *);
  ItemStackNetResult (__fastcall *endRequest)(ScreenHandlerBase *this);
  void (__fastcall *endRequestBatch)(ScreenHandlerBase *this);
  void (__fastcall *postRequest)(ScreenHandlerBase *this, const bool);
};

# ScreenHandlerLabTable

struct __cppobj ScreenHandlerLabTable : ScreenHandlerBase
{
  const ContainerScreenContext *mScreenContext;
  ChemistryTableBlockActor *mChemistryTableBlockActor;
  std::vector<ItemStack> mConsumedInput;
};

# ScreenHandlerLabTable_vtbl

struct /*VFT*/ ScreenHandlerLabTable_vtbl
{
  void (__fastcall *~ScreenHandlerBase)(ScreenHandlerBase *this);
  bool (__fastcall *canDestroy)(ScreenHandlerBase *this, const ContainerEnumName, unsigned __int8);
  ItemStackNetResult (__fastcall *handleAction)(ScreenHandlerBase *this, const ItemStackRequestAction *);
  ItemStackNetResult (__fastcall *endRequest)(ScreenHandlerBase *this);
  void (__fastcall *endRequestBatch)(ScreenHandlerBase *this);
  void (__fastcall *postRequest)(ScreenHandlerBase *this, const bool);
};

# serialize<ItemStackRequestSlotInfo>

struct __cppobj serialize<ItemStackRequestSlotInfo>
{
};

# SharedCounter<AirBlockItem>

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

# SharedPtr<AirBlockItem>

struct __cppobj SharedPtr<AirBlockItem>
{
  SharedCounter<AirBlockItem> *pc;
};

# SignItem

struct __cppobj __declspec(align(8)) SignItem : Item
{
  std::map<enum SignBlockActor::SignType,std::pair<Block const *,Block const *>> mConvertMap;
  SignBlockActor::SignType mType;
};

# SwimEnchant

struct __cppobj SwimEnchant : Enchant
{
};

# SwimEnchant_vtbl

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

# ScaffoldingBlockItem

struct __cppobj ScaffoldingBlockItem : BlockItem
{
};

# SeaPickleBlockItem

struct __cppobj SeaPickleBlockItem : BlockItem
{
};

# ShovelItem

struct __cppobj ShovelItem : DiggerItem
{
};

# ShulkerBoxBlockItem

struct __cppobj ShulkerBoxBlockItem : AuxDataBlockItem
{
};

# SkullItem

struct __cppobj SkullItem : Item
{
};

# SplashPotionItem

struct __cppobj SplashPotionItem : PotionItem
{
  TextureUVCoordinateSet mSplashIcons[26];
  _BYTE mSplashPotionVariants[104];
};

# StackRefResultT<SharePtrRefTraits<PerlinSimplexNoise> >

struct __cppobj StackRefResultT<SharePtrRefTraits<PerlinSimplexNoise> > : StackResultStorageSharePtr<PerlinSimplexNoise>
{
};

# SaplingBlockItem

struct __cppobj SaplingBlockItem : BlockItem
{
};

# SnowballItem

struct __cppobj SnowballItem : Item
{
};

# StoneSlabBlockItem

struct __cppobj StoneSlabBlockItem : DeprecatedSlabBlockItem
{
};

# SharedCounter<ShovelItem>

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

# SharedPtr<ShovelItem>

struct __cppobj SharedPtr<ShovelItem>
{
  SharedCounter<ShovelItem> *pc;
};

# SharedCounter<PickaxeItem>

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

# SharedPtr<PickaxeItem>

struct __cppobj SharedPtr<PickaxeItem>
{
  SharedCounter<PickaxeItem> *pc;
};

# SharedCounter<HatchetItem>

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

# SharedPtr<HatchetItem>

struct __cppobj SharedPtr<HatchetItem>
{
  SharedCounter<HatchetItem> *pc;
};

# SharedCounter<FlintAndSteelItem>

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

# SharedPtr<FlintAndSteelItem>

struct __cppobj SharedPtr<FlintAndSteelItem>
{
  SharedCounter<FlintAndSteelItem> *pc;
};

# SharedCounter<BowItem>

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

# SharedPtr<BowItem>

struct __cppobj SharedPtr<BowItem>
{
  SharedCounter<BowItem> *pc;
};

# SharedCounter<ArrowItem>

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

# SharedPtr<ArrowItem>

struct __cppobj SharedPtr<ArrowItem>
{
  SharedCounter<ArrowItem> *pc;
};

# SharedCounter<CoalItem>

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

# SharedPtr<CoalItem>

struct __cppobj SharedPtr<CoalItem>
{
  SharedCounter<CoalItem> *pc;
};

# SharedCounter<WeaponItem>

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

# SharedPtr<WeaponItem>

struct __cppobj SharedPtr<WeaponItem>
{
  SharedCounter<WeaponItem> *pc;
};

# SharedCounter<BlockPlanterItem>

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

# SharedPtr<BlockPlanterItem>

struct __cppobj SharedPtr<BlockPlanterItem>
{
  SharedCounter<BlockPlanterItem> *pc;
};

# SharedCounter<HoeItem>

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

# SharedPtr<HoeItem>

struct __cppobj SharedPtr<HoeItem>
{
  SharedCounter<HoeItem> *pc;
};

# SharedCounter<ArmorItem>

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

# SharedPtr<ArmorItem>

struct __cppobj SharedPtr<ArmorItem>
{
  SharedCounter<ArmorItem> *pc;
};

# SharedCounter<ShieldItem>

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

# SharedPtr<ShieldItem>

struct __cppobj SharedPtr<ShieldItem>
{
  SharedCounter<ShieldItem> *pc;
};

# SharedCounter<HangingActorItem>

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

# SharedPtr<HangingActorItem>

struct __cppobj SharedPtr<HangingActorItem>
{
  SharedCounter<HangingActorItem> *pc;
};

# SharedCounter<SignItem>

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

# SharedPtr<SignItem>

struct __cppobj SharedPtr<SignItem>
{
  SharedCounter<SignItem> *pc;
};

# SharedCounter<DoorItem>

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

# SharedPtr<DoorItem>

struct __cppobj SharedPtr<DoorItem>
{
  SharedCounter<DoorItem> *pc;
};

# SharedCounter<BucketItem>

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

# SharedPtr<BucketItem>

struct __cppobj SharedPtr<BucketItem>
{
  SharedCounter<BucketItem> *pc;
};

# SharedCounter<MinecartItem>

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

# SharedPtr<MinecartItem>

struct __cppobj SharedPtr<MinecartItem>
{
  SharedCounter<MinecartItem> *pc;
};

# SharedCounter<RedStoneDustItem>

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

# SharedPtr<RedStoneDustItem>

struct __cppobj SharedPtr<RedStoneDustItem>
{
  SharedCounter<RedStoneDustItem> *pc;
};

# SharedCounter<SnowballItem>

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

# SharedPtr<SnowballItem>

struct __cppobj SharedPtr<SnowballItem>
{
  SharedCounter<SnowballItem> *pc;
};

# SharedCounter<BoatItem>

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

# SharedPtr<BoatItem>

struct __cppobj SharedPtr<BoatItem>
{
  SharedCounter<BoatItem> *pc;
};

# SharedCounter<EnchantedBookItem>

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

# SharedPtr<EnchantedBookItem>

struct __cppobj SharedPtr<EnchantedBookItem>
{
  SharedCounter<EnchantedBookItem> *pc;
};

# SharedCounter<EggItem>

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

# SharedPtr<EggItem>

struct __cppobj SharedPtr<EggItem>
{
  SharedCounter<EggItem> *pc;
};

# SharedCounter<CompassItem>

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

# SharedPtr<CompassItem>

struct __cppobj SharedPtr<CompassItem>
{
  SharedCounter<CompassItem> *pc;
};

# SharedCounter<FishingRodItem>

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

# SharedPtr<FishingRodItem>

struct __cppobj SharedPtr<FishingRodItem>
{
  SharedCounter<FishingRodItem> *pc;
};

# SharedCounter<ClockItem>

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

# SharedPtr<ClockItem>

struct __cppobj SharedPtr<ClockItem>
{
  SharedCounter<ClockItem> *pc;
};

# SharedCounter<DyePowderItem>

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

# SharedPtr<DyePowderItem>

struct __cppobj SharedPtr<DyePowderItem>
{
  SharedCounter<DyePowderItem> *pc;
};

# SharedCounter<BedItem>

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

# SharedPtr<BedItem>

struct __cppobj SharedPtr<BedItem>
{
  SharedCounter<BedItem> *pc;
};

# SharedCounter<MapItem>

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

# SharedPtr<MapItem>

struct __cppobj SharedPtr<MapItem>
{
  SharedCounter<MapItem> *pc;
};

# SharedCounter<ShearsItem>

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

# SharedPtr<ShearsItem>

struct __cppobj SharedPtr<ShearsItem>
{
  SharedCounter<ShearsItem> *pc;
};

# SharedCounter<EnderpearlItem>

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

# SharedPtr<EnderpearlItem>

struct __cppobj SharedPtr<EnderpearlItem>
{
  SharedCounter<EnderpearlItem> *pc;
};

# SharedCounter<PotionItem>

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

# SharedPtr<PotionItem>

struct __cppobj SharedPtr<PotionItem>
{
  SharedCounter<PotionItem> *pc;
};

# SharedCounter<BottleItem>

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

# SharedPtr<BottleItem>

struct __cppobj SharedPtr<BottleItem>
{
  SharedCounter<BottleItem> *pc;
};

# SharedCounter<EnderEyeItem>

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

# SharedPtr<EnderEyeItem>

struct __cppobj SharedPtr<EnderEyeItem>
{
  SharedCounter<EnderEyeItem> *pc;
};

# SharedCounter<ExperiencePotionItem>

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

# SharedPtr<ExperiencePotionItem>

struct __cppobj SharedPtr<ExperiencePotionItem>
{
  SharedCounter<ExperiencePotionItem> *pc;
};

# SharedCounter<FireChargeItem>

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

# SharedPtr<FireChargeItem>

struct __cppobj SharedPtr<FireChargeItem>
{
  SharedCounter<FireChargeItem> *pc;
};

# SharedCounter<WritableBookItem>

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

# SharedPtr<WritableBookItem>

struct __cppobj SharedPtr<WritableBookItem>
{
  SharedCounter<WritableBookItem> *pc;
};

# SharedCounter<WrittenBookItem>

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

# SharedPtr<WrittenBookItem>

struct __cppobj SharedPtr<WrittenBookItem>
{
  SharedCounter<WrittenBookItem> *pc;
};

# SharedCounter<EmptyMapItem>

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

# SharedPtr<EmptyMapItem>

struct __cppobj SharedPtr<EmptyMapItem>
{
  SharedCounter<EmptyMapItem> *pc;
};

# SharedCounter<SkullItem>

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

# SharedPtr<SkullItem>

struct __cppobj SharedPtr<SkullItem>
{
  SharedCounter<SkullItem> *pc;
};

# SharedCounter<CarrotOnAStickItem>

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

# SharedPtr<CarrotOnAStickItem>

struct __cppobj SharedPtr<CarrotOnAStickItem>
{
  SharedCounter<CarrotOnAStickItem> *pc;
};

# SharedCounter<FireworksItem>

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

# SharedPtr<FireworksItem>

struct __cppobj SharedPtr<FireworksItem>
{
  SharedCounter<FireworksItem> *pc;
};

# SharedCounter<FireworkChargeItem>

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

# SharedPtr<FireworkChargeItem>

struct __cppobj SharedPtr<FireworkChargeItem>
{
  SharedCounter<FireworkChargeItem> *pc;
};

# SharedCounter<HorseArmorItem>

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

# SharedCounter<RecordItem>

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

# SharedPtr<RecordItem>

struct __cppobj SharedPtr<RecordItem>
{
  SharedCounter<RecordItem> *pc;
};

# SharedCounter<TridentItem>

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

# SharedPtr<TridentItem>

struct __cppobj SharedPtr<TridentItem>
{
  SharedCounter<TridentItem> *pc;
};

# SharedCounter<LeadItem>

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

# SharedPtr<LeadItem>

struct __cppobj SharedPtr<LeadItem>
{
  SharedCounter<LeadItem> *pc;
};

# SharedCounter<ArmorStandItem>

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

# SharedPtr<ArmorStandItem>

struct __cppobj SharedPtr<ArmorStandItem>
{
  SharedCounter<ArmorStandItem> *pc;
};

# SharedCounter<SplashPotionItem>

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

# SharedPtr<SplashPotionItem>

struct __cppobj SharedPtr<SplashPotionItem>
{
  SharedCounter<SplashPotionItem> *pc;
};

# SharedCounter<LingeringPotionItem>

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

# SharedPtr<LingeringPotionItem>

struct __cppobj SharedPtr<LingeringPotionItem>
{
  SharedCounter<LingeringPotionItem> *pc;
};

# SharedCounter<BannerItem>

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

# SharedPtr<BannerItem>

struct __cppobj SharedPtr<BannerItem>
{
  SharedCounter<BannerItem> *pc;
};

# SharedCounter<CrossbowItem>

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

# SharedPtr<CrossbowItem>

struct __cppobj SharedPtr<CrossbowItem>
{
  SharedCounter<CrossbowItem> *pc;
};

# SharedCounter<BannerPatternItem>

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

# SharedPtr<BannerPatternItem>

struct __cppobj SharedPtr<BannerPatternItem>
{
  SharedCounter<BannerPatternItem> *pc;
};

# SharedCounter<SuspiciousStewItem>

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

# SharedPtr<SuspiciousStewItem>

struct __cppobj SharedPtr<SuspiciousStewItem>
{
  SharedCounter<SuspiciousStewItem> *pc;
};

# SharedCounter<CameraItem>

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

# SharedPtr<CameraItem>

struct __cppobj SharedPtr<CameraItem>
{
  SharedCounter<CameraItem> *pc;
};

# SharedCounter<CompoundItem>

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

# SharedPtr<CompoundItem>

struct __cppobj SharedPtr<CompoundItem>
{
  SharedCounter<CompoundItem> *pc;
};

# SharedCounter<IceBombItem>

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

# SharedPtr<IceBombItem>

struct __cppobj SharedPtr<IceBombItem>
{
  SharedCounter<IceBombItem> *pc;
};

# SharedCounter<ChemistryItem>

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

# SharedPtr<ChemistryItem>

struct __cppobj SharedPtr<ChemistryItem>
{
  SharedCounter<ChemistryItem> *pc;
};

# SharedCounter<RapidFertilizerItem>

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

# SharedPtr<RapidFertilizerItem>

struct __cppobj SharedPtr<RapidFertilizerItem>
{
  SharedCounter<RapidFertilizerItem> *pc;
};

# SharedCounter<BalloonItem>

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

# SharedPtr<BalloonItem>

struct __cppobj SharedPtr<BalloonItem>
{
  SharedCounter<BalloonItem> *pc;
};

# SharedCounter<MedicineItem>

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

# SharedPtr<MedicineItem>

struct __cppobj SharedPtr<MedicineItem>
{
  SharedCounter<MedicineItem> *pc;
};

# SharedCounter<SparklerItem>

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

# SharedPtr<SparklerItem>

struct __cppobj SharedPtr<SparklerItem>
{
  SharedCounter<SparklerItem> *pc;
};

# SharedCounter<GlowStickItem>

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

# SharedCounter<LodestoneCompassItem>

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

# SharedPtr<LodestoneCompassItem>

struct __cppobj SharedPtr<LodestoneCompassItem>
{
  SharedCounter<LodestoneCompassItem> *pc;
};

# SharedCounter<WarpedFungusOnAStickItem>

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

# SharedPtr<WarpedFungusOnAStickItem>

struct __cppobj SharedPtr<WarpedFungusOnAStickItem>
{
  SharedCounter<WarpedFungusOnAStickItem> *pc;
};

# SlabBlockItem

struct __cppobj SlabBlockItem : BlockItem
{
};

# SharedCounter<SlabBlockItem>

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

# SharedPtr<SlabBlockItem>

struct __cppobj SharedPtr<SlabBlockItem>
{
  SharedCounter<SlabBlockItem> *pc;
};

# SharedCounter<AuxDataBlockItem>

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

# SharedPtr<AuxDataBlockItem>

struct __cppobj SharedPtr<AuxDataBlockItem>
{
  SharedCounter<AuxDataBlockItem> *pc;
};

# SharedCounter<ClothBlockItem>

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

# SharedPtr<ClothBlockItem>

struct __cppobj SharedPtr<ClothBlockItem>
{
  SharedCounter<ClothBlockItem> *pc;
};

# SharedCounter<StoneSlabBlockItem>

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

# SharedPtr<StoneSlabBlockItem>

struct __cppobj SharedPtr<StoneSlabBlockItem>
{
  SharedCounter<StoneSlabBlockItem> *pc;
};

# SharedCounter<CoralFanBlockItem>

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

# SharedPtr<CoralFanBlockItem>

struct __cppobj SharedPtr<CoralFanBlockItem>
{
  SharedCounter<CoralFanBlockItem> *pc;
};

# SharedCounter<SeaPickleBlockItem>

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

# SharedPtr<SeaPickleBlockItem>

struct __cppobj SharedPtr<SeaPickleBlockItem>
{
  SharedCounter<SeaPickleBlockItem> *pc;
};

# SharedCounter<SaplingBlockItem>

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

# SharedPtr<SaplingBlockItem>

struct __cppobj SharedPtr<SaplingBlockItem>
{
  SharedCounter<SaplingBlockItem> *pc;
};

# SharedCounter<LeafBlockItem>

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

# SharedPtr<LeafBlockItem>

struct __cppobj SharedPtr<LeafBlockItem>
{
  SharedCounter<LeafBlockItem> *pc;
};

# SharedCounter<WoodSlabBlockItem>

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

# SharedPtr<WoodSlabBlockItem>

struct __cppobj SharedPtr<WoodSlabBlockItem>
{
  SharedCounter<WoodSlabBlockItem> *pc;
};

# SharedCounter<WaterLilyBlockItem>

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

# SharedPtr<WaterLilyBlockItem>

struct __cppobj SharedPtr<WaterLilyBlockItem>
{
  SharedCounter<WaterLilyBlockItem> *pc;
};

# SharedCounter<TopSnowBlockItem>

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

# SharedPtr<TopSnowBlockItem>

struct __cppobj SharedPtr<TopSnowBlockItem>
{
  SharedCounter<TopSnowBlockItem> *pc;
};

# SharedCounter<ShulkerBoxBlockItem>

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

# SharedPtr<ShulkerBoxBlockItem>

struct __cppobj SharedPtr<ShulkerBoxBlockItem>
{
  SharedCounter<ShulkerBoxBlockItem> *pc;
};

# SharedCounter<BambooBlockItem>

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

# SharedPtr<BambooBlockItem>

struct __cppobj SharedPtr<BambooBlockItem>
{
  SharedCounter<BambooBlockItem> *pc;
};

# SharedCounter<ScaffoldingBlockItem>

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

# SharedPtr<ScaffoldingBlockItem>

struct __cppobj SharedPtr<ScaffoldingBlockItem>
{
  SharedCounter<ScaffoldingBlockItem> *pc;
};

# SharedCounter<BellBlockItem>

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

# SharedPtr<BellBlockItem>

struct __cppobj SharedPtr<BellBlockItem>
{
  SharedCounter<BellBlockItem> *pc;
};

# SharedCounter<ChemistryAuxDataBlockItem>

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

# SharedPtr<ChemistryAuxDataBlockItem>

struct __cppobj SharedPtr<ChemistryAuxDataBlockItem>
{
  SharedCounter<ChemistryAuxDataBlockItem> *pc;
};

# SharedCounter<PumpkinBlockItem>

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

# SharedPtr<PumpkinBlockItem>

struct __cppobj SharedPtr<PumpkinBlockItem>
{
  SharedCounter<PumpkinBlockItem> *pc;
};

# SharedCounter<ElementBlockItem>

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

# SharedPtr<ElementBlockItem>

struct __cppobj SharedPtr<ElementBlockItem>
{
  SharedCounter<ElementBlockItem> *pc;
};

# SurfaceBuilderComponent

struct __cppobj SurfaceBuilderComponent
{
  ISurfaceBuilder *mSurfaceBuilder;
};

# ScatterParams::_buildSchema::__l2::<lambda_521a62f8ba92e9b7ed39497b72ad0394>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_521a62f8ba92e9b7ed39497b72ad0394>
{
  std::function<ScatterParams & __cdecl(BiomeDecorationFeature * *)> scatterAccessor;
};

# ScatterParams::_buildSchema::__l2::<lambda_815eac2f89cf981b522d2dd6d23a1589>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_815eac2f89cf981b522d2dd6d23a1589>
{
  std::function<ScatterParams & __cdecl(BiomeDecorationFeature * *)> scatterAccessor;
};

# ScatterParams::_buildSchema::__l2::<lambda_72642a5ff3c2aa50b2d97fe11300675d>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_72642a5ff3c2aa50b2d97fe11300675d>
{
  std::function<ScatterParams & __cdecl(BiomeDecorationFeature * *)> scatterAccessor;
};

# ScatterParams::_buildSchema::__l2::<lambda_cc8e6f37d40e56caf25eefc247c73bf8>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_cc8e6f37d40e56caf25eefc247c73bf8>
{
  std::function<ScatterParams & __cdecl(BiomeDecorationFeature * *)> scatterAccessor;
};

# ScatterParams::_buildSchema::__l2::<lambda_54895d113fe64ca0312201f0d77b4637>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_54895d113fe64ca0312201f0d77b4637>
{
  std::function<ScatterParams & __cdecl(BiomeDecorationFeature * *)> scatterAccessor;
};

# ScatterParams::_buildSchema::__l3::<lambda_921d5cc776a804dd5a99319036130382>

struct __cppobj ScatterParams::_buildSchema::__l3::<lambda_921d5cc776a804dd5a99319036130382>
{
  std::function<ScatterParams & __cdecl(BiomeDecorationFeature * *)> scatterAccessor;
};

# ScatterParams::_buildSchema::__l3::<lambda_e8a3785aa895d6d7ee4e9181d13f8dcb>

struct __cppobj ScatterParams::_buildSchema::__l3::<lambda_e8a3785aa895d6d7ee4e9181d13f8dcb>
{
  std::function<ScatterParams & __cdecl(BiomeDecorationFeature * *)> scatterAccessor;
};

# ScatterParams::_buildSchema::__l2::<lambda_7a426ac4bb8befbac9c575ba0cb7528b>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_7a426ac4bb8befbac9c575ba0cb7528b>
{
  std::function<ScatterParams::CoordinateRange & __cdecl(BiomeDecorationFeature * *)> coordAccessor;
  const HashedString name;
};

# ScatterParams::_buildSchema::__l2::<lambda_7e4a22627006ffdc0d5187072b2ab6f4>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_7e4a22627006ffdc0d5187072b2ab6f4>
{
};

# ScatterParams::_buildSchema::__l2::<lambda_444d7eb033a9e6b2e986056ca9ce5cc2>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_444d7eb033a9e6b2e986056ca9ce5cc2>
{
};

# ScatterParams::_buildSchema::__l2::<lambda_690a0a5076382e0e30dc207591b38465>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_690a0a5076382e0e30dc207591b38465>
{
};

# ScatterParams::_buildSchema::__l2::<lambda_29ceef70dba8ea9d28c06e9e2e2758a7>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_29ceef70dba8ea9d28c06e9e2e2758a7>
{
};

# ScatterParams::_buildSchema::__l2::<lambda_b7ec8b468d8e7c8e42bf2a506063efdc>

struct __cppobj ScatterParams::_buildSchema::__l2::<lambda_b7ec8b468d8e7c8e42bf2a506063efdc>
{
};

# SurfaceMaterialAdjustmentEvaluated

struct __cppobj SurfaceMaterialAdjustmentEvaluated
{
  std::vector<SurfaceMaterialAdjustmentEvaluated::Element> mAdjustments;
};

# SurfaceMaterialAdjustmentAttributes::Element

struct __cppobj SurfaceMaterialAdjustmentAttributes::Element
{
  float mNoiseFreqScale;
  float mNoiseLowerBound;
  float mNoiseUpperBound;
  ExpressionNode mHeightMin;
  ExpressionNode mHeightMax;
  SurfaceMaterialAttributes mAdjustedMaterials;
};

# SmokerBlockActor

struct __cppobj SmokerBlockActor : FurnaceBlockActor
{
};

# SmokerBlockActor_vtbl

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

# SetBlockReactionComponent

struct __cppobj SetBlockReactionComponent : LabTableReactionComponent
{
  std::unique_ptr<BlockPos> mPos;
  const Block *mBlock;
};

# SetBlockReactionComponent_vtbl

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

# SmallSet<ActorUniqueID>

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

# SignBlockActor::checkWordsOnUpdate::__l2::<lambda_c9d09119b1de123e51f160485a377aa0>

struct __cppobj SignBlockActor::checkWordsOnUpdate::__l2::<lambda_c9d09119b1de123e51f160485a377aa0>
{
  std::string *content;
};

# Sapling

struct __cppobj Sapling : BushBlock
{
};

# Sapling_vtbl

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

# SeaGrass

struct __cppobj SeaGrass : BlockLegacy
{
};

# SeaGrass_vtbl

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

# SendNeighBorChangedEventToScriptDescription

struct __cppobj __declspec(align(8)) SendNeighBorChangedEventToScriptDescription : BlockComponentDescription
{
  bool sendToScript;
};

# SendNeighBorChangedEventToScriptDescription_vtbl

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

# SharedCounter<MicroBlock>

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

# SharedPtr<MicroBlock>

struct __cppobj SharedPtr<MicroBlock>
{
  SharedCounter<MicroBlock> *pc;
};

# SlimeBlock

struct __cppobj SlimeBlock : BlockLegacy
{
};

# SlimeBlock_vtbl

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

# SnowBlock

struct __cppobj SnowBlock : BlockLegacy
{
};

# SnowBlock_vtbl

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

# StoneBlock

struct __cppobj StoneBlock : BlockLegacy
{
};

# StoneBlock_vtbl

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

# SpongeBlock

struct __cppobj SpongeBlock : BlockLegacy
{
};

# SpongeBlock_vtbl

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

# SlabBlock

struct __cppobj SlabBlock : BlockLegacy
{
  SlabBlock::SlabType mSlabType;
  bool fullSize;
  WeakPtr<BlockLegacy> mBaseSlab;
};

# SlabBlock_vtbl

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

# StoneSlabBlock

struct __cppobj StoneSlabBlock : SlabBlock
{
};

# StoneSlabBlock_vtbl

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