# C~3

# Coral

struct __cppobj Coral : BlockLegacy
{
};

# Coral_vtbl

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

# CoralBlock

struct __cppobj CoralBlock : BlockLegacy
{
};

# CoralBlock_vtbl

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

# CoralFan

struct __cppobj CoralFan : BushBlock
{
};

# CoralFan_vtbl

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

# CoralFanHang

struct __cppobj CoralFanHang : CoralFan
{
};

# CoralFanHang_vtbl

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

# CustomBlockTypeRegistry

struct __cppobj CustomBlockTypeRegistry
{
};

# CompoundTagUpdaterBuilder::tryAdd::__l2::<lambda_48bf5c6f4867814566c45f4fd143dfc6>

struct __cppobj __declspec(align(8)) CompoundTagUpdaterBuilder::tryAdd::__l2::<lambda_48bf5c6f4867814566c45f4fd143dfc6>
{
  const std::string tagName;
  const int data;
};

# CompoundTagUpdaterBuilder::tryAdd::__l2::<lambda_3b6e917aa45cd15309226723fe8bcb27>

struct __cppobj CompoundTagUpdaterBuilder::tryAdd::__l2::<lambda_3b6e917aa45cd15309226723fe8bcb27>
{
  const std::string tagName;
};

# CompoundTagUpdaterBuilder::tryAdd::__l2::<lambda_dd438f0bd79c96b261caa339b5955281>

struct __cppobj CompoundTagUpdaterBuilder::tryAdd::__l2::<lambda_dd438f0bd79c96b261caa339b5955281>
{
};

# CompoundTagUpdaterBuilder::add::__l2::<lambda_6d108698d21a0feea0932128dbfc8d17>

struct __cppobj __declspec(align(8)) CompoundTagUpdaterBuilder::add::__l2::<lambda_6d108698d21a0feea0932128dbfc8d17>
{
  const std::string tagName;
  const int data;
};

# CompoundTagUpdaterBuilder::add::__l2::<lambda_dea63d0fb94e62f33acbc1f648ebab8b>

struct __cppobj CompoundTagUpdaterBuilder::add::__l2::<lambda_dea63d0fb94e62f33acbc1f648ebab8b>
{
};

# CompoundTagUpdaterBuilder::add::__l2::<lambda_a5d87d93afa288ddb57ac46cae23d563>

struct __cppobj __declspec(align(8)) CompoundTagUpdaterBuilder::add::__l2::<lambda_a5d87d93afa288ddb57ac46cae23d563>
{
  const std::string tagName;
  const unsigned __int8 data;
};

# CompoundTagUpdaterBuilder::add::__l2::<lambda_e3df2e972f54684dd0b569c0bab95322>

struct __cppobj CompoundTagUpdaterBuilder::add::__l2::<lambda_e3df2e972f54684dd0b569c0bab95322>
{
};

# ChunkSource::_hasTooManyChunksPendingDelete::__l5::<lambda_36ae036ac62e573f8f11d1f9e5b24cbb>

struct __cppobj ChunkSource::_hasTooManyChunksPendingDelete::__l5::<lambda_36ae036ac62e573f8f11d1f9e5b24cbb>
{
  unsigned __int64 *chunksPendingDelete;
};

# ChunkSource::_lightingTask::__l2::<lambda_efbe79eb8fd8166f0895e8ad43c02247>

struct __cppobj ChunkSource::_lightingTask::__l2::<lambda_efbe79eb8fd8166f0895e8ad43c02247>
{
  ChunkSource *const __this;
  std::weak_ptr<LevelChunk> weakChunk;
  ChunkPos pos;
};

# ChunkSource::_launchLightingTask::__l7::<lambda_dc8ae6af850ed3b2399df10da375539c>

struct __cppobj ChunkSource::_launchLightingTask::__l7::<lambda_dc8ae6af850ed3b2399df10da375539c>
{
  ChunkSource *const __this;
  const std::shared_ptr<LevelChunk> lc;
  const std::shared_ptr<ChunkViewSource> chunks;
};

# ChunkSource::_launchLightingTask::__l5::<lambda_a49b9e2a57c1932b4e007aebcff69892>

struct __cppobj ChunkSource::_launchLightingTask::__l5::<lambda_a49b9e2a57c1932b4e007aebcff69892>
{
  ChunkSource *const __this;
  const std::shared_ptr<LevelChunk> lc;
  const std::shared_ptr<ChunkViewSource> chunks;
};

# ChunkSource::_launchReplacementDataTask::__l7::<lambda_e04add7879d9c8d1746ff38b814c2d56>

struct __cppobj ChunkSource::_launchReplacementDataTask::__l7::<lambda_e04add7879d9c8d1746ff38b814c2d56>
{
  ChunkSource *const __this;
  const std::shared_ptr<LevelChunk> lc;
  const std::shared_ptr<ChunkViewSource> chunks;
};

# ChunkSource::_launchReplacementDataTask::__l5::<lambda_2d1c9c9670a18a1185b0fa2a3dea1a9c>

struct __cppobj ChunkSource::_launchReplacementDataTask::__l5::<lambda_2d1c9c9670a18a1185b0fa2a3dea1a9c>
{
  ChunkSource *const __this;
  const std::shared_ptr<LevelChunk> lc;
  const std::shared_ptr<ChunkViewSource> chunks;
};

# ChunkSource::_launchPostProcessingTask::__l7::<lambda_d31fe321b4ec35d231c2271f9298efa0>

struct __cppobj ChunkSource::_launchPostProcessingTask::__l7::<lambda_d31fe321b4ec35d231c2271f9298efa0>
{
  ChunkSource *const __this;
  const std::shared_ptr<LevelChunk> lc;
  const std::shared_ptr<ChunkViewSource> chunks;
};

# ChunkSource::_launchPostProcessingTask::__l5::<lambda_a5c3af7fcea580f99f9d82e084171083>

struct __cppobj ChunkSource::_launchPostProcessingTask::__l5::<lambda_a5c3af7fcea580f99f9d82e084171083>
{
  ChunkSource *const __this;
  const std::shared_ptr<LevelChunk> lc;
  const std::shared_ptr<ChunkViewSource> chunks;
};

# ChunkSource::_launchGenerationTask::__l7::<lambda_455cb7ac2dd8fe629c67477528e0c848>

struct __cppobj ChunkSource::_launchGenerationTask::__l7::<lambda_455cb7ac2dd8fe629c67477528e0c848>
{
  ChunkSource *const __this;
  const std::shared_ptr<LevelChunk> lc;
};

# ChunkSource::_launchGenerationTask::__l5::<lambda_bd43ea6e1b94834315486b8620323807>

struct __cppobj ChunkSource::_launchGenerationTask::__l5::<lambda_bd43ea6e1b94834315486b8620323807>
{
  ChunkSource *const __this;
  const std::shared_ptr<LevelChunk> lc;
};

# ChunkViewSource::{ctor}::__l2::<lambda_636bcbbcfe395d2b5cfcebdb2d01f75b>

struct __cppobj ChunkViewSource::{ctor}::__l2::<lambda_636bcbbcfe395d2b5cfcebdb2d01f75b>
{
  LevelChunkGridAreaElement<std::weak_ptr<LevelChunk> > *gridArea;
};

# ChunkSource::createEmptyView::__l5::<lambda_619f153bcd029bd13bee2ae4570ecc14>

struct __cppobj __declspec(align(8)) ChunkSource::createEmptyView::__l5::<lambda_619f153bcd029bd13bee2ae4570ecc14>
{
  ChunkSource *const __this;
  _BYTE lm[4];
};

# ClassroomModeListener

struct __cppobj ClassroomModeListener : LevelListener
{
};

# ChunkBuildOrderPolicy

struct __cppobj __declspec(align(8)) ChunkBuildOrderPolicy : ChunkBuildOrderPolicyBase
{
  std::unordered_map<unsigned int,std::pair<ChunkPos,Vec3>> mPositionMap;
  SpinLock mChunkPosAsyncSpinLock;
  std::vector<std::pair<ChunkPos,Vec3>> mChunkPosAndDirectionAsync;
  unsigned int mLastHandle;
};

# ChunkBuildOrderPolicy_vtbl

struct /*VFT*/ ChunkBuildOrderPolicy_vtbl
{
  void (__fastcall *~ChunkBuildOrderPolicyBase)(ChunkBuildOrderPolicyBase *this);
  int (__fastcall *getChunkRebuildPriority)(ChunkBuildOrderPolicyBase *this, const ChunkPos *);
  unsigned int (__fastcall *registerForUpdates)(ChunkBuildOrderPolicyBase *this);
  void (__fastcall *unregisterForUpdates)(ChunkBuildOrderPolicyBase *this, unsigned int);
  void (__fastcall *setBuildOrderInfluence)(ChunkBuildOrderPolicyBase *this, unsigned int, const ChunkPos *, const Vec3 *);
  void (__fastcall *updateInfluences)(ChunkBuildOrderPolicyBase *this);
};

# ChunkToReload

struct __cppobj __declspec(align(8)) ChunkToReload
{
  Bounds mBound;
  std::weak_ptr<ChunkViewSource> mChunkView;
  bool mIsCircle;
};

# CanyonFeature

struct __cppobj __declspec(align(8)) CanyonFeature
{
  CanyonFeature_vtbl *__vftable /*VFT*/;
  const __int16 mSeaLevel;
  bool mAllowMegaRavines;
};

# CanyonFeature_vtbl

struct /*VFT*/ CanyonFeature_vtbl
{
  void (__fastcall *~CanyonFeature)(CanyonFeature *this);
  bool (__fastcall *carve)(CanyonFeature *this, BlockVolume *, BiomeSource *, Random *, const ChunkPos *, const Vec3 *, const Vec3 *, int, int, int, int, int, int, float, float, gsl::span<float const ,-1>);
  void (__fastcall *addFeature)(CanyonFeature *this, BlockVolume *, BiomeSource *, const ChunkPos *, Random *, int, int);
};

# Concurrency::details::_PPLTaskHandle<unsigned char,Concurrency::task<unsigned char>::_InitialTaskHandle<void,<lambda_85481f83a197bc4abea5c9cd057b11a9>,Concurrency::details::_TypeSelectorNoAsync>,Concurrency::details::_TaskProcHandle>

struct __cppobj Concurrency::details::_PPLTaskHandle<unsigned char,Concurrency::task<unsigned char>::_InitialTaskHandle<void,<lambda_85481f83a197bc4abea5c9cd057b11a9>,Concurrency::details::_TypeSelectorNoAsync>,Concurrency::details::_TaskProcHandle> : Concurrency::details::_TaskProcHandle
{
  std::shared_ptr<Concurrency::details::_Task_impl<unsigned char> > _M_pTask;
};

# Concurrency::details::_PPLTaskHandle<unsigned char,Concurrency::task<unsigned char>::_InitialTaskHandle<void,<lambda_85481f83a197bc4abea5c9cd057b11a9>,Concurrency::details::_TypeSelectorNoAsync>,Concurrency::details::_TaskProcHandle>_vtbl

struct /*VFT*/ Concurrency::details::_PPLTaskHandle<unsigned char,Concurrency::task<unsigned char>::_InitialTaskHandle<void,<lambda_85481f83a197bc4abea5c9cd057b11a9>,Concurrency::details::_TypeSelectorNoAsync>,Concurrency::details::_TaskProcHandle>_vtbl
{
  void (__fastcall *~_TaskProcHandle)(Concurrency::details::_TaskProcHandle *this);
  void (__fastcall *invoke)(Concurrency::details::_TaskProcHandle *this);
};

# Concurrency::task<unsigned char>::_InitialTaskHandle<void,<lambda_85481f83a197bc4abea5c9cd057b11a9>,Concurrency::details::_TypeSelectorNoAsync>

struct __cppobj Concurrency::task<unsigned char>::_InitialTaskHandle<void,<lambda_85481f83a197bc4abea5c9cd057b11a9>,Concurrency::details::_TypeSelectorNoAsync> : Concurrency::details::_PPLTaskHandle<unsigned char,Concurrency::task<unsigned char>::_InitialTaskHandle<void,<lambda_85481f83a197bc4abea5c9cd057b11a9>,Concurrency::details::_TypeSelectorNoAsync>,Concurrency::details::_TaskProcHandle>
{
  std::_Task_async_state<void>::{ctor}::__l2::<lambda_85481f83a197bc4abea5c9cd057b11a9> _M_function;
};

# Concurrency::task<unsigned char>::_InitialTaskHandle<void,<lambda_85481f83a197bc4abea5c9cd057b11a9>,Concurrency::details::_TypeSelectorNoAsync>_vtbl

struct /*VFT*/ Concurrency::task<unsigned char>::_InitialTaskHandle<void,<lambda_85481f83a197bc4abea5c9cd057b11a9>,Concurrency::details::_TypeSelectorNoAsync>_vtbl
{
  void (__fastcall *~_TaskProcHandle)(Concurrency::details::_TaskProcHandle *this);
  void (__fastcall *invoke)(Concurrency::details::_TaskProcHandle *this);
};

# CXMLHttpRequest2Callback

struct __cppobj CXMLHttpRequest2Callback : Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,IXMLHTTPRequest2Callback>
{
  std::string mData;
  void *m_hComplete;
  HRESULT m_hr;
  unsigned int m_dwStatus;
};

# CXMLHttpRequest2Callback_vtbl

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

# CXMLHttpRequestPostStream

struct __cppobj __declspec(align(8)) CXMLHttpRequestPostStream : Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,ISequentialStream>
{
  std::vector<unsigned char> mStreamContent;
  unsigned int mBytesRead;
};

# CXMLHttpRequestPostStream_vtbl

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

struct CO_MTA_USAGE_COOKIE__
{
  int unused;
};

# Crypto::Hash::md5_vtbl

struct /*VFT*/ Crypto::Hash::md5_vtbl
{
  void (__fastcall *~IHash)(Crypto::Hash::IHash *this);
  void (__fastcall *reset)(Crypto::Hash::IHash *this);
  void (__fastcall *update)(Crypto::Hash::IHash *this, const void *, unsigned int);
  void (__fastcall *final)(Crypto::Hash::IHash *this, unsigned __int8 *);
  unsigned __int64 (__fastcall *resultSize)(Crypto::Hash::IHash *this);
};

# curl_slist

struct curl_slist
{
  char *data;
  curl_slist *next;
};

# CustomRangedWeaponItem

struct __cppobj CustomRangedWeaponItem : Item
{
  std::vector<TextureUVCoordinateSet> mFrame;
};

# CustomProjectileItem

struct __cppobj CustomProjectileItem : Item
{
  std::string mProjectileEntity;
};

# ConnectionComponentDescription::buildSchema::__l2::<lambda_fb163460fd754e946e70c6a55517724c>

struct __cppobj ConnectionComponentDescription::buildSchema::__l2::<lambda_fb163460fd754e946e70c6a55517724c>
{
  const BlockComponentFactory *factory;
};

# ConnectionComponentDescription::buildSchema::__l2::<lambda_e645602a72ac87db7f8467f6b8765080>

struct __cppobj ConnectionComponentDescription::buildSchema::__l2::<lambda_e645602a72ac87db7f8467f6b8765080>
{
};

# ConnectionComponentDescription::buildSchema::__l2::<lambda_278f947ce2f135e6f34377c842dc9e4b>

struct __cppobj ConnectionComponentDescription::buildSchema::__l2::<lambda_278f947ce2f135e6f34377c842dc9e4b>
{
};

# ConfigReader::JsonGet<enum GeneratorType>

struct __cppobj ConfigReader::JsonGet<enum GeneratorType>
{
};

# ConfigReader::JsonGet<double>

struct __cppobj ConfigReader::JsonGet<double>
{
};

# ConfigReader::JsonGet<enum TransferRoomPrivacy>

struct __cppobj ConfigReader::JsonGet<enum TransferRoomPrivacy>
{
};

# ConfigReader::JsonGet<enum GameType>

struct __cppobj ConfigReader::JsonGet<enum GameType>
{
};

# ConfigReader::JsonGet<std::vector<unsigned char> >

struct __cppobj ConfigReader::JsonGet<std::vector<unsigned char> >
{
};

# ConfigReader::JsonGet<std::string >

struct __cppobj ConfigReader::JsonGet<std::string >
{
};

# ConfigReader::JsonGet<unsigned short>

struct __cppobj ConfigReader::JsonGet<unsigned short>
{
};

# ConfigReader::JsonGet<int>

struct __cppobj ConfigReader::JsonGet<int>
{
};

# ConfigReader::JsonGet<enum Difficulty>

struct __cppobj ConfigReader::JsonGet<enum Difficulty>
{
};

# ConfigReader::JsonGet<unsigned int>

struct __cppobj ConfigReader::JsonGet<unsigned int>
{
};

# ConfigReader::JsonGet<std::vector<std::string> >

struct __cppobj ConfigReader::JsonGet<std::vector<std::string> >
{
};

# ConfigReader::JsonGet<bool>

struct __cppobj ConfigReader::JsonGet<bool>
{
};

# ConfigReader::JsonGet<enum PlayerPermissionLevel>

struct __cppobj ConfigReader::JsonGet<enum PlayerPermissionLevel>
{
};

# ConfigReader::JsonGet<unsigned char>

struct __cppobj ConfigReader::JsonGet<unsigned char>
{
};

# Core::SharedMemoryTracker::SharedMemoryTrackerImpl<dragon::rendering::BufferResourceManagerdragon::mesh::IndexBufferType::flush'::5'::DelayedDestroy>

struct __cppobj Core::SharedMemoryTracker::SharedMemoryTrackerImpl<`dragon::rendering::BufferResourceManager<dragon::mesh::IndexBufferType>::flush'::`5'::DelayedDestroy> : Core::SharedMemoryTracker::SharedMemoryTrackerBase
{
  const std::shared_ptr<`dragon::rendering::BufferResourceManager<dragon::mesh::IndexBufferType>::flush'::`5'::DelayedDestroy> mInstance;
};

# Core::SharedMemoryTracker::SharedMemoryTrackerImpl<dragon::rendering::BufferResourceManager<dragon::mesh::anonymous namespace'::IndexBufferType>::flush'::5'::DelayedDestroy>_vtbl`

struct /*VFT*/ Core::SharedMemoryTracker::SharedMemoryTrackerImpl<`dragon::rendering::BufferResourceManager<dragon::mesh::`anonymous namespace'::IndexBufferType>::flush'::`5'::DelayedDestroy>_vtbl
{
  void (__fastcall *~SharedMemoryTrackerBase)(Core::SharedMemoryTracker::SharedMemoryTrackerBase *this);
};

# Core::SharedMemoryTracker::SharedMemoryTrackerImpl<dragon::rendering::BufferResourceManagerdragon::mesh::VertexBufferType::flush'::5'::DelayedDestroy>

struct __cppobj Core::SharedMemoryTracker::SharedMemoryTrackerImpl<`dragon::rendering::BufferResourceManager<dragon::mesh::VertexBufferType>::flush'::`5'::DelayedDestroy> : Core::SharedMemoryTracker::SharedMemoryTrackerBase
{
  const std::shared_ptr<`dragon::rendering::BufferResourceManager<dragon::mesh::VertexBufferType>::flush'::`5'::DelayedDestroy> mInstance;
};

# Core::SharedMemoryTracker::SharedMemoryTrackerImpl<dragon::rendering::BufferResourceManager<dragon::mesh::anonymous namespace'::VertexBufferType>::flush'::5'::DelayedDestroy>_vtbl`

struct /*VFT*/ Core::SharedMemoryTracker::SharedMemoryTrackerImpl<`dragon::rendering::BufferResourceManager<dragon::mesh::`anonymous namespace'::VertexBufferType>::flush'::`5'::DelayedDestroy>_vtbl
{
  void (__fastcall *~SharedMemoryTrackerBase)(Core::SharedMemoryTracker::SharedMemoryTrackerBase *this);
};

# cg::taskorder::LinkerTraits<dragon::framegraph::Linker<dragon::rendering::RenderContext,dragon::framegraph::NoLinkerTrace> >

struct __cppobj cg::taskorder::LinkerTraits<dragon::framegraph::Linker<dragon::rendering::RenderContext,dragon::framegraph::NoLinkerTrace> >
{
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,2,0,Core::CheckedRingBuffer<2,0> >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,2,0,Core::CheckedRingBuffer<2,0> >
{
  Core::CheckedRingBuffer<2,0> *mBufferInstance;
};

# Core::CpuRingBufferAllocator<int,2,0,Core::CheckedRingBuffer<2,0> >

struct __cppobj Core::CpuRingBufferAllocator<int,2,0,Core::CheckedRingBuffer<2,0> >
{
  Core::CheckedRingBuffer<2,0> *mBufferInstance;
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,2,0,Core::CheckedRingBuffer<2,0> >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,2,0,Core::CheckedRingBuffer<2,0> >
{
  Core::CheckedRingBuffer<2,0> *mBufferInstance;
};

# Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *>,2,0,Core::CheckedRingBuffer<2,0> >

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *>,2,0,Core::CheckedRingBuffer<2,0> >
{
  Core::CheckedRingBuffer<2,0> *mBufferInstance;
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const *,dragon::framegraph::detail::LinkingContext<dragon::rendering::RenderContext> *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const *,dragon::framegraph::detail::LinkingContext<dragon::rendering::RenderContext> *> >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const *,dragon::framegraph::detail::LinkingContext<dragon::rendering::RenderContext> *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const *,dragon::framegraph::detail::LinkingContext<dragon::rendering::RenderContext> *> >
{
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const *,dragon::framegraph::detail::LinkingContext<dragon::rendering::RenderContext> *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const *,dragon::framegraph::detail::LinkingContext<dragon::rendering::RenderContext> *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>
{
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,2,0,Core::CheckedRingBuffer<2,0> >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,2,0,Core::CheckedRingBuffer<2,0> >
{
  Core::CheckedRingBuffer<2,0> *mBufferInstance;
};

# Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *>,2,0,Core::CheckedRingBuffer<2,0> >

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *>,2,0,Core::CheckedRingBuffer<2,0> >
{
  Core::CheckedRingBuffer<2,0> *mBufferInstance;
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> > >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> > >
{
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *> >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *> >
{
};

# Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>
{
};

# Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *> >

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,std::unique_ptr<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext>> >,void *> >
{
};

# Core::CpuRingBufferAllocator<int,2,0,Core::CheckedRingBuffer<2,0> >::rebind<int>

struct __cppobj Core::CpuRingBufferAllocator<int,2,0,Core::CheckedRingBuffer<2,0> >::rebind<int>
{
};

# Core::CpuRingBufferAllocator<int,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<int,void *> >

struct __cppobj Core::CpuRingBufferAllocator<int,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<int,void *> >
{
};

# Core::CpuRingBufferAllocator<std::_Tree_node<int,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<int,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>
{
};

# Core::CpuRingBufferAllocator<std::_Tree_node<int,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<int,void *> >

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<int,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<int,void *> >
{
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int> >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int> >
{
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *> >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *> >
{
};

# Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>
{
};

# Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *> >

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractPass<dragon::rendering::RenderContext> const * const,int>,void *> >
{
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture> >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture> >
{
};

# Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,void *> >

struct __cppobj Core::CpuRingBufferAllocator<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,void *> >
{
};

# Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Container_proxy>
{
};

# Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,void *> >

struct __cppobj Core::CpuRingBufferAllocator<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,void *>,2,0,Core::CheckedRingBuffer<2,0> >::rebind<std::_Tree_node<std::pair<dragon::framegraph::detail::AbstractResource<dragon::rendering::RenderContext> const * const,dragon::res::ServerTexture>,void *> >
{
};

# cg::details::SpecializedScopedFrame<cg::TaskDispatcher<cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> > >::TaskDispatcherExecution,dragon::rendering::RenderContext>

struct __cppobj cg::details::SpecializedScopedFrame<cg::TaskDispatcher<cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> > >::TaskDispatcherExecution,dragon::rendering::RenderContext> : cg::details::ScopedFrame<cg::TaskDispatcher<cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> > >::TaskDispatcherExecution,0>
{
};

# cg::details::ContextBuilderTraits<dragon::rendering::RenderContext>

struct __cppobj cg::details::ContextBuilderTraits<dragon::rendering::RenderContext>
{
};

# cg::taskorder::executeTasks::__l13::<lambda_50ab28342c68e27f8235269bd47c4ce6>

struct __cppobj cg::taskorder::executeTasks::__l13::<lambda_50ab28342c68e27f8235269bd47c4ce6>
{
  dragon::framegraph::detail::LinkedPass<dragon::rendering::RenderContext> *pass;
};

# cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> >::queue::__l2::<lambda_044ece244f73c4d182939aae397e7162>

struct __cppobj cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> >::queue::__l2::<lambda_044ece244f73c4d182939aae397e7162>
{
  cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> > *const __this;
};

# cg::details::ScopedFrame<cg::TaskDispatcher<cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> > >::TaskDispatcherExecution,0>::dispatch::__l2::<lambda_342df853dc7f01d637efc45feb6bd05c>

struct __cppobj cg::details::ScopedFrame<cg::TaskDispatcher<cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> > >::TaskDispatcherExecution,0>::dispatch::__l2::<lambda_342df853dc7f01d637efc45feb6bd05c>
{
  std::function<std::function<void __cdecl(dragon::rendering::RenderContext &)> __cdecl(dragon::rendering::RenderContext &)> lambda;
  std::shared_ptr<cg::details::DispatchToken<std::shared_ptr<cg::details::WorkToken const >,std::shared_ptr<std::function<void __cdecl(dragon::rendering::RenderContext &)> > > > dispToken;
};

# cg::details::SpecializedScopedFrame<cg::TaskDispatcher<cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> > >::TaskDispatcherExecution,dragon::rendering::RenderContext>::dispatch::__l2::<lambda_c42c4b82ebc46609fcb78d03cc38a783>

struct __cppobj cg::details::SpecializedScopedFrame<cg::TaskDispatcher<cg::TaskScheduler<cg::LambdaExecutor<dragon::rendering::RenderContext,cg::TaskPoolGroupExecutionPolicy<dragon::rendering::RenderContext,1>,std::string const &,std::vector<cg::GroupPoolDescription> const &> > >::TaskDispatcherExecution,dragon::rendering::RenderContext>::dispatch::__l2::<lambda_c42c4b82ebc46609fcb78d03cc38a783>
{
  std::function<std::function<void __cdecl(dragon::rendering::RenderContext &)> __cdecl(dragon::rendering::RenderContext &,std::shared_ptr<dragon::rendering::CommandContext> &)> lambda;
  Core::CpuRingBufferAllocator<unsigned char,2,0,Core::CheckedRingBuffer<2,0> > <lambdaContextArgs_0>;
  const unsigned __int16 <lambdaContextArgs_1>;
  std::reference_wrapper<dragon::rendering::BgfxEncoderPool> <lambdaContextArgs_2>;
  std::reference_wrapper<dragon::platform::ResourcesManager> <lambdaContextArgs_3>;
  dragon::res::ResolvedTextureResource *const <lambdaContextArgs_4>;
};

# cg::taskorder::executeTasks::__l13::<lambda_50ab28342c68e27f8235269bd47c4ce6>::()::__l2::<lambda_3025e80bf6163bf8e09f1d47f84efcdd>

struct __cppobj cg::taskorder::executeTasks::__l13::<lambda_50ab28342c68e27f8235269bd47c4ce6>::()::__l2::<lambda_3025e80bf6163bf8e09f1d47f84efcdd>
{
};

# cg::taskorder::DependencyBuilder<dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> >

struct __cppobj cg::taskorder::DependencyBuilder<dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> >
{
  std::tuple<dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> > mDependencies;
};

# cg::taskorder::TaskBuilderWithActionAndDependencies<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,void,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> >

struct __cppobj cg::taskorder::TaskBuilderWithActionAndDependencies<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,void,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> > : cg::taskorder::TaskBuilderWithAction<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,void>
{
  cg::taskorder::DependencyBuilder<dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> > mDependencies;
};

# cg::taskorder::TaskBuilderWithAction<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,dragon::frameobject::PreparedComputeDispatchCollection>

struct __cppobj cg::taskorder::TaskBuilderWithAction<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,dragon::frameobject::PreparedComputeDispatchCollection> : cg::taskorder::TaskBuilder<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext> >
{
  dragon::frameobject::PreparedComputeDispatchCollection mContext;
  std::function<void __cdecl(dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext> const &,dragon::frameobject::PreparedComputeDispatchCollection const &)> mAction;
};

# cg::taskorder::TaskBuilderWithActionAndDependencies<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,dragon::frameobject::PreparedComputeDispatchCollection,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> >

struct __cppobj cg::taskorder::TaskBuilderWithActionAndDependencies<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,dragon::frameobject::PreparedComputeDispatchCollection,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> > : cg::taskorder::TaskBuilderWithAction<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,dragon::frameobject::PreparedComputeDispatchCollection>
{
  cg::taskorder::DependencyBuilder<dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> > mDependencies;
};

# cg::taskorder::DependencyBuilder<dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> >

struct __cppobj cg::taskorder::DependencyBuilder<dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> >
{
  std::tuple<dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> > mDependencies;
};

# cg::taskorder::TaskBuilderWithActionAndDependencies<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,void,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> >

struct __cppobj cg::taskorder::TaskBuilderWithActionAndDependencies<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,void,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> > : cg::taskorder::TaskBuilderWithAction<dragon::framegraph::ExecutionContext<dragon::rendering::RenderContext>,void>
{
  cg::taskorder::DependencyBuilder<dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindMaterialTexture<dragon::rendering::RenderContext>,dragon::framegraph::dependency::BindFramebufferColor<dragon::rendering::RenderContext> > mDependencies;
};

# Core::SharedMemoryTracker::SharedMemoryTrackerImpl<dragon::rendering::BufferResourceManagerdragon::rendering::TextureResourceType::flush'::5'::DelayedDestroy>

struct __cppobj Core::SharedMemoryTracker::SharedMemoryTrackerImpl<`dragon::rendering::BufferResourceManager<dragon::rendering::TextureResourceType>::flush'::`5'::DelayedDestroy> : Core::SharedMemoryTracker::SharedMemoryTrackerBase
{
  const std::shared_ptr<`dragon::rendering::BufferResourceManager<dragon::rendering::TextureResourceType>::flush'::`5'::DelayedDestroy> mInstance;
};

# Core::SharedMemoryTracker::SharedMemoryTrackerImpl<dragon::rendering::BufferResourceManager<dragon::rendering::anonymous namespace'::TextureResourceType>::flush'::5'::DelayedDestroy>_vtbl`

struct /*VFT*/ Core::SharedMemoryTracker::SharedMemoryTrackerImpl<`dragon::rendering::BufferResourceManager<dragon::rendering::`anonymous namespace'::TextureResourceType>::flush'::`5'::DelayedDestroy>_vtbl
{
  void (__fastcall *~SharedMemoryTrackerBase)(Core::SharedMemoryTracker::SharedMemoryTrackerBase *this);
};

# ClassRoomModeCommand

struct __cppobj ClassRoomModeCommand : Command
{
};

# ClassRoomModeCommand_vtbl

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

# CodeCommand

struct __cppobj CodeCommand : Command
{
};

# CodeCommand_vtbl

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

# CartographyContainerManagerModel

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

# CartographyContainerManagerModel_vtbl

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

# CartographyContainerManagerController

struct __cppobj __declspec(align(8)) CartographyContainerManagerController : ContainerManagerController
{
  std::weak_ptr<CartographyContainerManagerModel> mCartographyContainerManagerModel;
  std::string mItemName;
  std::string mFilteredName;
  std::string mItemResultLocName;
  const SlotData mCreatedItemOutputSlot;
  bool mCurrentlyCrafting;
  bool mIsCurrentlyRenaming;
  bool mWasPreviouslyRenaming;
  __declspec(align(2)) _BYTE mMapOutputType[4];
  ItemInstance mResultPreviewItem;
  TypedServerNetId<RecipeNetIdTag,unsigned int,0> mCurrentRecipeNetId;
};

# CartographyContainerManagerController_vtbl

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

# CartographyScreenController

struct __cppobj CartographyScreenController : ContainerScreenController
{
  std::shared_ptr<CartographyContainerManagerController> mCartographyContainerManagerController;
};

# CartographyScreenController_vtbl

struct /*VFT*/ CartographyScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
  void (__fastcall *_handlePlaceAll)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_handlePlaceOne)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_handleSelectSlot)(ContainerScreenController *this, const std::string *, int);
  const SelectedSlotInfo *(__fastcall *_getSelectedSlotInfo)(ContainerScreenController *this, const SelectedSlotInfo *result);
  const ItemStack *(__fastcall *_getItemStack)(ContainerScreenController *this, const std::string *, int);
  const ItemStackBase *(__fastcall *_getVisualItemStack)(ContainerScreenController *this, const std::string *, int);
  const ItemStackBase *(__fastcall *_getTakeableItemStackBase)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotHovered)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotSelected)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotPressed)(ContainerScreenController *this, const std::string *, int);
  bool (__fastcall *_shouldSwap)(ContainerScreenController *this, const std::string *, int, const std::string *, int);
  std::string *(__fastcall *_getCollectionName)(ContainerScreenController *this, std::string *result, UIPropertyBag *);
  bool (__fastcall *_canSplit)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_sendFlyingItem)(ContainerScreenController *this, const ItemStackBase *, const std::string *, int, const std::string *, int);
  void (__fastcall *_registerCoalesceOrder)(ContainerScreenController *this);
  void (__fastcall *_registerAutoPlaceOrder)(ContainerScreenController *this);
};

# CartographyScreenController::_registerStateMachine::__l2::<lambda_58a23e1206d4ca944e2e4e84681fbc1d>

struct __cppobj CartographyScreenController::_registerStateMachine::__l2::<lambda_58a23e1206d4ca944e2e4e84681fbc1d>
{
  const unsigned int cartographyResultTakeAllPlaceAllButtonId;
};

# CartographyScreenController::_registerStateMachine::__l2::<lambda_c7186611a600a1fb485a5a2bf1772dbb>

struct __cppobj CartographyScreenController::_registerStateMachine::__l2::<lambda_c7186611a600a1fb485a5a2bf1772dbb>
{
  const unsigned int cartographyResultTakeAllPlaceAllButtonId;
};

# CartographyScreenController::_registerStateMachine::__l2::<lambda_c0007676d4978a3454d76bbe96ac404a>

struct __cppobj __declspec(align(8)) CartographyScreenController::_registerStateMachine::__l2::<lambda_c0007676d4978a3454d76bbe96ac404a>
{
  CartographyScreenController *const __this;
  const unsigned int cartographyResultTakeAllPlaceAllButtonId;
};

# CartographyScreenController::_registerStateMachine::__l2::<lambda_537e178ca26d193304e404627a63aadc>

struct __cppobj __declspec(align(8)) CartographyScreenController::_registerStateMachine::__l2::<lambda_537e178ca26d193304e404627a63aadc>
{
  CartographyScreenController *const __this;
  const unsigned int cartographyResultTakeAllPlaceAllButtonId;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_5347e3ae69a4ac9c0daa3893eee0a760>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_5347e3ae69a4ac9c0daa3893eee0a760>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_38bc9b01ebc18efede2a73ea36c8fa72>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_38bc9b01ebc18efede2a73ea36c8fa72>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_d0c5b8e0b9a22de0c82717dc14370a97>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_d0c5b8e0b9a22de0c82717dc14370a97>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_97ecbb11dcc000a41f262a292c3bb832>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_97ecbb11dcc000a41f262a292c3bb832>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_1ed68acfb7a6a326ed7f3181b73adff8>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_1ed68acfb7a6a326ed7f3181b73adff8>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_4bdae1c8b7bc9eb1b9668ae30ef8436c>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_4bdae1c8b7bc9eb1b9668ae30ef8436c>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_98ecba0770ca2a874bbd6c843cd0ea32>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_98ecba0770ca2a874bbd6c843cd0ea32>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_e59fa155caa25d57e987e95fa181f58a>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_e59fa155caa25d57e987e95fa181f58a>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_e1697b93c985b3dfbb24c7d04d12463e>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_e1697b93c985b3dfbb24c7d04d12463e>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_334b01e4867a43708fed9561b68bd52e>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_334b01e4867a43708fed9561b68bd52e>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerBindings::__l2::<lambda_f006d3a041a3d7b15c4691552148b763>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_f006d3a041a3d7b15c4691552148b763>
{
};

# CartographyScreenController::_registerBindings::__l2::<lambda_9381ea38c640b335cf602941fbb11632>

struct __cppobj CartographyScreenController::_registerBindings::__l2::<lambda_9381ea38c640b335cf602941fbb11632>
{
};

# CartographyScreenController::_registerEventHandlers::__l2::<lambda_f42171e58f91f7db77e8d33233a745e1>

struct __cppobj CartographyScreenController::_registerEventHandlers::__l2::<lambda_f42171e58f91f7db77e8d33233a745e1>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerEventHandlers::__l2::<lambda_83d8dc0a4172ac1ba5cad86be4efeac8>

struct __cppobj CartographyScreenController::_registerEventHandlers::__l2::<lambda_83d8dc0a4172ac1ba5cad86be4efeac8>
{
  CartographyScreenController *const __this;
};

# CartographyScreenController::_registerEventHandlers::__l2::<lambda_39c79a1e25fabaead93b72b8a83059c7>

struct __cppobj CartographyScreenController::_registerEventHandlers::__l2::<lambda_39c79a1e25fabaead93b72b8a83059c7>
{
  CartographyScreenController *const __this;
};

# ChestScreenController

struct __cppobj ChestScreenController : BlockContainerScreenController
{
};

# ChestScreenController_vtbl

struct /*VFT*/ ChestScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
  void (__fastcall *_handlePlaceAll)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_handlePlaceOne)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_handleSelectSlot)(ContainerScreenController *this, const std::string *, int);
  const SelectedSlotInfo *(__fastcall *_getSelectedSlotInfo)(ContainerScreenController *this, const SelectedSlotInfo *result);
  const ItemStack *(__fastcall *_getItemStack)(ContainerScreenController *this, const std::string *, int);
  const ItemStackBase *(__fastcall *_getVisualItemStack)(ContainerScreenController *this, const std::string *, int);
  const ItemStackBase *(__fastcall *_getTakeableItemStackBase)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotHovered)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotSelected)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotPressed)(ContainerScreenController *this, const std::string *, int);
  bool (__fastcall *_shouldSwap)(ContainerScreenController *this, const std::string *, int, const std::string *, int);
  std::string *(__fastcall *_getCollectionName)(ContainerScreenController *this, std::string *result, UIPropertyBag *);
  bool (__fastcall *_canSplit)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_sendFlyingItem)(ContainerScreenController *this, const ItemStackBase *, const std::string *, int, const std::string *, int);
  void (__fastcall *_registerCoalesceOrder)(ContainerScreenController *this);
  void (__fastcall *_registerAutoPlaceOrder)(ContainerScreenController *this);
};

# ChestContainerManagerModel

struct __cppobj __declspec(align(8)) ChestContainerManagerModel : LevelContainerManagerModel
{
  BlockActorType mBlockActorType;
};

# ChestContainerManagerModel_vtbl

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

# ChestContainerManagerController

struct __cppobj ChestContainerManagerController : ContainerManagerController
{
  std::weak_ptr<ChestContainerManagerModel> mChestContainerManagerModel;
};

# ChestContainerManagerController_vtbl

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

# CommandBlockScreenController

struct __cppobj CommandBlockScreenController : BlockScreenController
{
  std::unique_ptr<MinecartCommandBlockManager> mCBManager;
  IntellisenseHandler mIntellisense;
  bool mOutputWasTracked;
  bool mBlockTypeDropDownActive;
  bool mConditionDropDownActive;
  bool mRedstoneDropDownActive;
  bool mIsInputMaximized;
  bool mModified;
  bool mUpdateIntellisense;
  bool mTextBoxEditing;
};

# CommandBlockScreenController_vtbl

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

# CommandBlockScreenController::_registerRedstoneDropdown::__l6::<lambda_0eef773795e3be5525fba232d62c8426>

struct __cppobj CommandBlockScreenController::_registerRedstoneDropdown::__l6::<lambda_0eef773795e3be5525fba232d62c8426>
{
  std::pair<std::string const ,bool> redstonePair;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerRedstoneDropdown::__l6::<lambda_d30501ce6b57b0b5d7560a691a611004>

struct __cppobj CommandBlockScreenController::_registerRedstoneDropdown::__l6::<lambda_d30501ce6b57b0b5d7560a691a611004>
{
  std::pair<std::string const ,bool> redstonePair;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_d4b86fea3b80abc7a6d3e3bee1e2584d>

struct __cppobj CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_d4b86fea3b80abc7a6d3e3bee1e2584d>
{
  std::unordered_map<bool,std::string> redstoneLabels;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_d6ba700a67b7806dc95e507d07a7a0d6>

struct __cppobj CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_d6ba700a67b7806dc95e507d07a7a0d6>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_d4b698c3f3956f3969ab8df743587604>

struct __cppobj CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_d4b698c3f3956f3969ab8df743587604>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_189284c2fed1b2105dc9cdedd53dc32f>

struct __cppobj CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_189284c2fed1b2105dc9cdedd53dc32f>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_f9f48bc393abefde436b21738247dbf7>

struct __cppobj CommandBlockScreenController::_registerRedstoneDropdown::__l2::<lambda_f9f48bc393abefde436b21738247dbf7>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerConditionDropdown::__l6::<lambda_a66156677350b984f12339bb417ffc3e>

struct __cppobj CommandBlockScreenController::_registerConditionDropdown::__l6::<lambda_a66156677350b984f12339bb417ffc3e>
{
  std::pair<std::string const ,bool> conditionPair;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerConditionDropdown::__l6::<lambda_6f02c52f89da4dcc2eb03050ba6f303a>

struct __cppobj CommandBlockScreenController::_registerConditionDropdown::__l6::<lambda_6f02c52f89da4dcc2eb03050ba6f303a>
{
  std::pair<std::string const ,bool> conditionPair;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_761bbade2f44c7a5fd3c8b51cc529819>

struct __cppobj CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_761bbade2f44c7a5fd3c8b51cc529819>
{
  std::unordered_map<bool,std::string> conditionLabels;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_eb07026578c4109153589c88f76d541b>

struct __cppobj CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_eb07026578c4109153589c88f76d541b>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_d663f166f3c01902906bf50b23ba1e40>

struct __cppobj CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_d663f166f3c01902906bf50b23ba1e40>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_51e3de7bd775256bc6f4c72bc7cf798b>

struct __cppobj CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_51e3de7bd775256bc6f4c72bc7cf798b>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_503ac78feec91477b5e9da8f3ecc7b5f>

struct __cppobj CommandBlockScreenController::_registerConditionDropdown::__l2::<lambda_503ac78feec91477b5e9da8f3ecc7b5f>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBlockTypeDropdown::__l6::<lambda_9bbeaa6009309e6493d56628fa3d4a9e>

struct __cppobj CommandBlockScreenController::_registerBlockTypeDropdown::__l6::<lambda_9bbeaa6009309e6493d56628fa3d4a9e>
{
  std::pair<std::string const ,enum CommandBlockMode> blockTypePair;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBlockTypeDropdown::__l6::<lambda_8d6946388e703ca5687d2d8fa99bdbea>

struct __cppobj CommandBlockScreenController::_registerBlockTypeDropdown::__l6::<lambda_8d6946388e703ca5687d2d8fa99bdbea>
{
  std::pair<std::string const ,enum CommandBlockMode> blockTypePair;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_376cc86f8c8b8c9a024942f38a79d834>

struct __cppobj CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_376cc86f8c8b8c9a024942f38a79d834>
{
  std::unordered_map<enum CommandBlockMode,std::string> blockTypeLabels;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_d8f249108c1978ea9a8230c54690be50>

struct __cppobj CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_d8f249108c1978ea9a8230c54690be50>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_22556d43d3d868436f228b5b3b2c1751>

struct __cppobj CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_22556d43d3d868436f228b5b3b2c1751>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_8a0398fdc90115dc8f40ca7053f5ca81>

struct __cppobj CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_8a0398fdc90115dc8f40ca7053f5ca81>
{
  const std::string blockTypeDropdownName;
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_edf73f7924954d656fe4f5b77859ba7e>

struct __cppobj CommandBlockScreenController::_registerBlockTypeDropdown::__l2::<lambda_edf73f7924954d656fe4f5b77859ba7e>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_9dfdcb8b4c5faf95a38051e5371aa22d>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_9dfdcb8b4c5faf95a38051e5371aa22d>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_61a5e70f60b682270d521112be7dc9d7>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_61a5e70f60b682270d521112be7dc9d7>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_1f9f943b963508add24943bafb5fe718>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_1f9f943b963508add24943bafb5fe718>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_97d98831b4b6cf4aa1cb3d26e423f55f>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_97d98831b4b6cf4aa1cb3d26e423f55f>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_4698f367c5a5e1219f3b424502f2efca>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_4698f367c5a5e1219f3b424502f2efca>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_f68d43fb435fb8fcf2ab77427bdec774>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_f68d43fb435fb8fcf2ab77427bdec774>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_4d68b9f039fe7066857ee475399f4103>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_4d68b9f039fe7066857ee475399f4103>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_0b8853d17004c81112c652a49ad0e8e6>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_0b8853d17004c81112c652a49ad0e8e6>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_54de74ffcd08a29ccdec47859771805d>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_54de74ffcd08a29ccdec47859771805d>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_421fb0f7a16ef70177bc5b47769487c7>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_421fb0f7a16ef70177bc5b47769487c7>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_a54e88cd4733d62496e82dacc2b07730>

struct __cppobj CommandBlockScreenController::_registerEventHandlers::__l2::<lambda_a54e88cd4733d62496e82dacc2b07730>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_e1cd7a5cd8a9305b2d39d8c3d4194bdb>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_e1cd7a5cd8a9305b2d39d8c3d4194bdb>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_1950ed15336d57945ec05988b40d148b>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_1950ed15336d57945ec05988b40d148b>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_d6c28c15d598dc1c61f34fc4753156e4>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_d6c28c15d598dc1c61f34fc4753156e4>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_b2b47a9630dcaa0148ed8189624d1ab0>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_b2b47a9630dcaa0148ed8189624d1ab0>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_b98390c751729516cad3d4200dfa12b5>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_b98390c751729516cad3d4200dfa12b5>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_e9b09f7c8a84f60b1a3d64c58ccda584>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_e9b09f7c8a84f60b1a3d64c58ccda584>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_5fd085aec09d782ecd57f00f4436a764>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_5fd085aec09d782ecd57f00f4436a764>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_2ed1a057a5b3b2b890a77f6d936831c5>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_2ed1a057a5b3b2b890a77f6d936831c5>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_aee99d05b5ef350b49b0c0a5692637b7>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_aee99d05b5ef350b49b0c0a5692637b7>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_ac4611c619de40d01b4dee8f002a25d0>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_ac4611c619de40d01b4dee8f002a25d0>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_e8449d1a516cfd94ed12d0514c81e599>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_e8449d1a516cfd94ed12d0514c81e599>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_61ac6ce480fd51cc049611ee0cf457f0>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_61ac6ce480fd51cc049611ee0cf457f0>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_4c256c9195b2b94898d6be221727a003>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_4c256c9195b2b94898d6be221727a003>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_7e704f80058bc35844035a3520d2091c>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_7e704f80058bc35844035a3520d2091c>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_19688031b1bcc23da597deef74c8800a>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_19688031b1bcc23da597deef74c8800a>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_d0359f3c9e71fb12148f7cb152172a68>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_d0359f3c9e71fb12148f7cb152172a68>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_d8f1665f4464df511aef7288bacd5049>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_d8f1665f4464df511aef7288bacd5049>
{
  CommandBlockScreenController *const __this;
};

# CommandBlockScreenController::_registerBindings::__l2::<lambda_ad4ee9feda695080ae99147be923a654>

struct __cppobj CommandBlockScreenController::_registerBindings::__l2::<lambda_ad4ee9feda695080ae99147be923a654>
{
  CommandBlockScreenController *const __this;
};

# CompoundCreatorContainerManagerModel

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

# CompoundCreatorContainerManagerModel_vtbl

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

# CompoundCreatorContainerManagerController

struct __cppobj CompoundCreatorContainerManagerController : ContainerManagerController
{
  std::weak_ptr<CompoundCreatorContainerManagerModel> mModel;
  std::unique_ptr<CraftableCompounds> mCraftableCompounds;
  const SlotData mCreatedItemOutputSlot;
  ItemInstance mResultItemPreview;
};

# CompoundCreatorContainerManagerController_vtbl

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

# CompoundCreatorScreenController

struct __cppobj CompoundCreatorScreenController : ContainerScreenController
{
  std::shared_ptr<CompoundCreatorContainerManagerController> mManagerController;
};

# CompoundCreatorScreenController_vtbl

struct /*VFT*/ CompoundCreatorScreenController_vtbl
{
  void (__fastcall *~IScreenController)(IScreenController *this);
  ui::DirtyFlag (__fastcall *tick)(IScreenController *this);
  ui::ViewRequest (__fastcall *handleEvent)(IScreenController *this, ScreenEvent *);
  std::optional<std::string > *(__fastcall *getRoute)(IScreenController *this, std::optional<std::string > *result);
  void (__fastcall *setScreenState)(IScreenController *this, const std::vector<std::pair<std::string,std::string >> *);
  void (__fastcall *onOpen)(ScreenController *this);
  void (__fastcall *onTerminate)(ScreenController *this);
  void (__fastcall *onInit)(ScreenController *this);
  void (__fastcall *onDelete)(ScreenController *this);
  bool (__fastcall *canExit)(ScreenController *this);
  ui::ViewRequest (__fastcall *tryExit)(ScreenController *this);
  bool (__fastcall *areControllerTabsEnabled)(ScreenController *this);
  void (__fastcall *onCreation)(ScreenController *this);
  void (__fastcall *logCreationTime)(ScreenController *this, const std::string *, long double, long double, unsigned __int8);
  void (__fastcall *onLeave)(ScreenController *this);
  void (__fastcall *leaveScreen)(ScreenController *this);
  ui::DirtyFlag (__fastcall *handleGameEventNotification)(ScreenController *this, ui::GameEventNotification);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  bool (__fastcall *bind)(ScreenController *this, const std::string *, unsigned int, int, const std::string *, unsigned int, const std::string *, UIPropertyBag *);
  void (__fastcall *handleLicenseChanged)(ScreenController *this);
  void (__fastcall *onDictationEvent)(ScreenController *this, const std::string *);
  void (__fastcall *setAssociatedBlockPos)(ScreenController *this, const BlockPos *);
  void (__fastcall *setAssociatedEntityUniqueID)(ScreenController *this, const ActorUniqueID);
  void (__fastcall *setSuspendInput)(ScreenController *this, bool);
  float (__fastcall *getCallbackInterval)(ScreenController *this);
  void (__fastcall *onRender)(ScreenController *this);
  void (__fastcall *addStaticScreenVars)(ScreenController *this, Json::Value *);
  std::string *(__fastcall *getAdditionalScreenInfo)(ScreenController *this, std::string *result);
  std::string *(__fastcall *getTelemetryOverride)(ScreenController *this, std::string *result);
  void (__fastcall *addEventProperties)(ScreenController *this, std::unordered_map<std::string,std::string> *);
  ui::SceneType (__fastcall *getSceneType)(ScreenController *this);
  int (__fastcall *getScreenVersion)(ScreenController *this);
  bool (__fastcall *screenHandlesGamepadMenuButton)(ScreenController *this);
  ScreenControllerProxy *(__fastcall *getProxy)(ScreenController *this);
  void (__fastcall *onEntered)(ScreenController *this);
  unsigned int (__fastcall *getNameId)(ScreenController *this, const std::string *);
  bool (__fastcall *verifySceneStack)(ScreenController *this, SceneStack *);
  bool (__fastcall *_doesScreenHaveExitBehavior)(ScreenController *this);
  bool (__fastcall *_isStillValid)(MinecraftScreenController *this);
  bool (__fastcall *_getGamepadHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getMixedHelperVisible)(MinecraftScreenController *this);
  bool (__fastcall *_getKeyboardHelperVisible)(MinecraftScreenController *this);
  std::string *(__fastcall *_getButtonADescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonBDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonXDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonYDescription)(MinecraftScreenController *this, std::string *result);
  std::string *(__fastcall *_getButtonKeyboardDescription)(MinecraftScreenController *this, std::string *result);
  void (__fastcall *_handlePlaceAll)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_handlePlaceOne)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_handleSelectSlot)(ContainerScreenController *this, const std::string *, int);
  const SelectedSlotInfo *(__fastcall *_getSelectedSlotInfo)(ContainerScreenController *this, const SelectedSlotInfo *result);
  const ItemStack *(__fastcall *_getItemStack)(ContainerScreenController *this, const std::string *, int);
  const ItemStackBase *(__fastcall *_getVisualItemStack)(ContainerScreenController *this, const std::string *, int);
  const ItemStackBase *(__fastcall *_getTakeableItemStackBase)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotHovered)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotSelected)(ContainerScreenController *this, const std::string *, int);
  ui::ViewRequest (__fastcall *_onContainerSlotPressed)(ContainerScreenController *this, const std::string *, int);
  bool (__fastcall *_shouldSwap)(ContainerScreenController *this, const std::string *, int, const std::string *, int);
  std::string *(__fastcall *_getCollectionName)(ContainerScreenController *this, std::string *result, UIPropertyBag *);
  bool (__fastcall *_canSplit)(ContainerScreenController *this, const std::string *, int);
  void (__fastcall *_sendFlyingItem)(ContainerScreenController *this, const ItemStackBase *, const std::string *, int, const std::string *, int);
  void (__fastcall *_registerCoalesceOrder)(ContainerScreenController *this);
  void (__fastcall *_registerAutoPlaceOrder)(ContainerScreenController *this);
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_edd37dc5e25e318034ebed05771663a2>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_edd37dc5e25e318034ebed05771663a2>
{
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_3929001bf59d8dccffc60294250d3e09>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_3929001bf59d8dccffc60294250d3e09>
{
  const unsigned int placeAllTakeAllButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_22ff7a523f956f8f3d1066fc714216a2>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_22ff7a523f956f8f3d1066fc714216a2>
{
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_c85aa5493f093c649cc079c825532260>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_c85aa5493f093c649cc079c825532260>
{
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_3767f76c72e681f204e6813ce353e8be>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_3767f76c72e681f204e6813ce353e8be>
{
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_8912d03a274660bc67e2c66c98a33590>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_8912d03a274660bc67e2c66c98a33590>
{
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_c445c2a210b7c892ebf9e5e0fed5adb3>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_c445c2a210b7c892ebf9e5e0fed5adb3>
{
  const unsigned int placeAllTakeAllButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_2af0921f322afd27f2a1424d419cc78d>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_2af0921f322afd27f2a1424d419cc78d>
{
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_4d43b55a502366440e48047a509c74fa>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_4d43b55a502366440e48047a509c74fa>
{
  const unsigned int placeAllTakeAllButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_2ef4da8a3b5c0798d0e529ea1aea4183>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_2ef4da8a3b5c0798d0e529ea1aea4183>
{
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_c25551e8c6612b64cf14ef7549058910>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_c25551e8c6612b64cf14ef7549058910>
{
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_5a3e8c437913b6f3449f625da8af3a61>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_5a3e8c437913b6f3449f625da8af3a61>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_3202bad0f9972b7e1e28b7dc9033a395>

struct __cppobj __declspec(align(8)) CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_3202bad0f9972b7e1e28b7dc9033a395>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int placeAllTakeAllButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_33c6e2ac358b795a6d441cf3444e0dea>

struct __cppobj __declspec(align(8)) CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_33c6e2ac358b795a6d441cf3444e0dea>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int placeAllTakeAllButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_b786068daff5915a2a9cca803ab4577b>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_b786068daff5915a2a9cca803ab4577b>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int coalesceButtonId;
  const unsigned int placeAllTakeAllButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_c2b0b8f9f219756fbaa9bec5aecb988e>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_c2b0b8f9f219756fbaa9bec5aecb988e>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_bb59f96a48d981650bbc709837b3b70a>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_bb59f96a48d981650bbc709837b3b70a>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int placeAllTakeAllButtonId;
  const unsigned int coalesceButtonId;
};

# CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_86d7b34d7fc2378c127e3e79ce8295ed>

struct __cppobj CompoundCreatorScreenController::_registerInputStateMachine::__l2::<lambda_86d7b34d7fc2378c127e3e79ce8295ed>
{
  CompoundCreatorScreenController *const __this;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_3296e83e5b9f8181444f7e96ebe7113b>

struct __cppobj CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_3296e83e5b9f8181444f7e96ebe7113b>
{
  const unsigned int takeOnePlaceOne;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_9d59cd84f18d0a7f173b741fa341c59a>

struct __cppobj CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_9d59cd84f18d0a7f173b741fa341c59a>
{
  const unsigned int takeAllPlaceAll;
  const unsigned int coalesce;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_941fb5738673e50d107f07cea5a002fd>

struct __cppobj __declspec(align(8)) CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_941fb5738673e50d107f07cea5a002fd>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int takeOnePlaceOne;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_2874d9855cfef550d513abfa12676ca5>

struct __cppobj CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_2874d9855cfef550d513abfa12676ca5>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int takeAllPlaceAll;
  const unsigned int coalesce;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_b3da09695a447a0a036276e94a6ae0b7>

struct __cppobj CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_b3da09695a447a0a036276e94a6ae0b7>
{
  const unsigned int takeOnePlaceOne;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_79c8ea211f72cd3cc85b3c9e447c8faf>

struct __cppobj __declspec(align(8)) CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_79c8ea211f72cd3cc85b3c9e447c8faf>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int takeOnePlaceOne;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_fffd91ab5fd39480ef30bbde6b89dc92>

struct __cppobj CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_fffd91ab5fd39480ef30bbde6b89dc92>
{
  const unsigned int takeAllPlaceAll;
  const unsigned int coalesce;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_0962542e874cb980c94712cdcbb8fc49>

struct __cppobj CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_0962542e874cb980c94712cdcbb8fc49>
{
  const unsigned int takeAllPlaceAll;
  const unsigned int coalesce;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_d8986e1d236f5f2905c6f931ac5c804e>

struct __cppobj CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_d8986e1d236f5f2905c6f931ac5c804e>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int takeAllPlaceAll;
  const unsigned int coalesce;
};

# CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_c8d1df1081dc63a51532f532b85dbcf1>

struct __cppobj CompoundCreatorScreenController::_registerOutputStateMachine::__l2::<lambda_c8d1df1081dc63a51532f532b85dbcf1>
{
  CompoundCreatorScreenController *const __this;
  const unsigned int takeAllPlaceAll;
  const unsigned int coalesce;
};

# CompoundCreatorScreenController::_registerBindings::__l2::<lambda_01340ae84e315d7b0b82c48567a2ada5>

struct __cppobj CompoundCreatorScreenController::_registerBindings::__l2::<lambda_01340ae84e315d7b0b82c48567a2ada5>
{
  CompoundCreatorScreenController *const __this;
};

# CompoundCreatorScreenController::_registerBindings::__l2::<lambda_cfd62b74a93e14c9456f236e9e21c2f9>

struct __cppobj CompoundCreatorScreenController::_registerBindings::__l2::<lambda_cfd62b74a93e14c9456f236e9e21c2f9>
{
  CompoundCreatorScreenController *const __this;
};

# CompoundCreatorScreenController::_registerBindings::__l2::<lambda_76c6db4b206130655e76228ef33111f6>

struct __cppobj CompoundCreatorScreenController::_registerBindings::__l2::<lambda_76c6db4b206130655e76228ef33111f6>
{
  CompoundCreatorScreenController *const __this;
};

# ChargeAttackDefinition

struct __cppobj __declspec(align(8)) ChargeAttackDefinition : BaseGoalDefinition
{
  float mMinDistance;
  float mMaxDistance;
  float mSuccessRate;
  float mSpeedMultiplier;
  LevelSoundEvent mSound;
};

# ChargeAttackDefinition_vtbl

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

# ChargeAttackGoal

struct __cppobj __declspec(align(8)) ChargeAttackGoal : Goal
{
  Mob *mMob;
  float mMinDistance;
  float mMaxDistance;
  float mSuccessRate;
  float mSpeedMultiplier;
  LevelSoundEvent mSound;
};

# ChargeAttackGoal_vtbl

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

# CircleAroundAnchorDefinition

struct __cppobj CircleAroundAnchorDefinition : BaseGoalDefinition
{
  float mRadiusModifier;
  float mRadiusAdjustmentChance;
  float mHeightAdjustmentChance;
  float mGoalRadius;
  float mSpeedModifier;
  float mAngleModifier;
  FloatRange mRadiusBounds;
  FloatRange mHeightOffsetBounds;
  FloatRange mAboveTargetBounds;
};

# CircleAroundAnchorDefinition_vtbl

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

# CircleAroundAnchorGoal

struct __cppobj __declspec(align(8)) CircleAroundAnchorGoal : Goal
{
  Mob *mMob;
  float mRadiusModifier;
  float mRadiusChangeChance;
  float mHeightChangeChance;
  float mGoalRadiusSquared;
  float mSpeedModifier;
  float mAngleModifier;
  FloatRange mRadiusRange;
  FloatRange mHeightOffsetRange;
  FloatRange mAboveTargetRange;
  float mClockwise;
  float mCurrentAngle;
  float mCurrentHeight;
  float mCurrentRadius;
  Vec3 mAnchorPoint;
};

# CircleAroundAnchorGoal_vtbl

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

# CircleAroundAnchorDefinition::buildSchema::__l2::<lambda_4cffcce4eb799addf32d39d768bd9ef3>

struct __cppobj CircleAroundAnchorDefinition::buildSchema::__l2::<lambda_4cffcce4eb799addf32d39d768bd9ef3>
{
  bool aboveTargetBoundsJsonRequired;
  std::string aboveTargetBoundsField;
};

# CircleAroundAnchorDefinition::buildSchema::__l2::<lambda_a30ec4fa5ee9d86d30223a6fdb99f1f7>

struct __cppobj CircleAroundAnchorDefinition::buildSchema::__l2::<lambda_a30ec4fa5ee9d86d30223a6fdb99f1f7>
{
};

# CircleAroundAnchorDefinition::buildSchema::__l2::<lambda_371b614a96eca59000da45c9a4154758>

struct __cppobj CircleAroundAnchorDefinition::buildSchema::__l2::<lambda_371b614a96eca59000da45c9a4154758>
{
  bool radiusBoundsJsonRequired;
  std::string radiusBoundsField;
};

# CircleAroundAnchorDefinition::buildSchema::__l2::<lambda_7fab5a31b6b21f470246af533cbfc9c8>

struct __cppobj CircleAroundAnchorDefinition::buildSchema::__l2::<lambda_7fab5a31b6b21f470246af533cbfc9c8>
{
};

# ControlledByPlayerDefinition

struct __cppobj __declspec(align(8)) ControlledByPlayerDefinition : BaseGoalDefinition
{
  float mFractionalRotation;
  float mFractionalRotationLimit;
  float mSpeedMultiplier;
};

# ControlledByPlayerDefinition_vtbl

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

# ControlledByPlayerGoal

struct __cppobj __declspec(align(8)) ControlledByPlayerGoal : Goal
{
  Mob *mMob;
  float mFractionalRotation;
  float mFractionalRotationLimit;
  float mSpeedMultiplier;
};

# ControlledByPlayerGoal_vtbl

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

# CartographyContainerManagerController::_buildResultItem::__l40::<lambda_fa785e8e9f64426c9d2b7a44ecfb3ca9>

struct __cppobj CartographyContainerManagerController::_buildResultItem::__l40::<lambda_fa785e8e9f64426c9d2b7a44ecfb3ca9>
{
  std::vector<std::reference_wrapper<Recipe const >> *recipes;
};

# CartographyContainerManagerController::_setupCallbacks::__l2::<lambda_8164b2431da755c7ca591f951a458f8b>

struct __cppobj CartographyContainerManagerController::_setupCallbacks::__l2::<lambda_8164b2431da755c7ca591f951a458f8b>
{
  CartographyContainerManagerController *const __this;
};

# CartographyContainerManagerController::_setupCallbacks::__l2::<lambda_20624a29df9b28be16b412dd0c7f8b90>

struct __cppobj CartographyContainerManagerController::_setupCallbacks::__l2::<lambda_20624a29df9b28be16b412dd0c7f8b90>
{
  CartographyContainerManagerController *const __this;
};

# ChestContainerManagerController::_setupCallbacks::__l2::<lambda_75e4ae845dd889a1fd5527d99159586b>

struct __cppobj ChestContainerManagerController::_setupCallbacks::__l2::<lambda_75e4ae845dd889a1fd5527d99159586b>
{
  ChestContainerManagerController *const __this;
};

# CompoundCreatorContainerManagerController::_setupCallbacks::__l2::<lambda_eb84babbc576a94eaf36148b97360014>

struct __cppobj CompoundCreatorContainerManagerController::_setupCallbacks::__l2::<lambda_eb84babbc576a94eaf36148b97360014>
{
  CompoundCreatorContainerManagerController *const __this;
};

# CachedBiomeSource<VanillaOverworldBiomeSource>_vtbl

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

# CactusFeature

struct __cppobj CactusFeature : Feature
{
};

# CactusFeature_vtbl

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

# CentralSpikedFeature

struct __cppobj CentralSpikedFeature : Feature
{
  const Block *mBlock;
};

# CentralSpikedFeature_vtbl

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

# ClayFeature

struct __cppobj __declspec(align(8)) ClayFeature : Feature
{
  const int mRadius;
};

# ClayFeature_vtbl

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

# CoralCrustFeature

struct __cppobj CoralCrustFeature : Feature
{
};

# CoralCrustFeature_vtbl

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

# CoralFeature

struct __cppobj CoralFeature : Feature
{
};

# CoralFeature_vtbl

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

# CoralHangFeature

struct __cppobj CoralHangFeature : Feature
{
};

# CoralHangFeature_vtbl

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

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_df345da42615e750ea9ac114e6af34e5>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_df345da42615e750ea9ac114e6af34e5>
{
  std::function<ITreeCanopyWrapper & __cdecl(FeatureLoading::ConcreteFeatureHolder<VanillaTreeFeature> *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_97a66294a92928ad6519706d62453dab>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_97a66294a92928ad6519706d62453dab>
{
  std::function<ITreeCanopyWrapper & __cdecl(FeatureLoading::ConcreteFeatureHolder<VanillaTreeFeature> *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_ff11613f82fc6e6cb5cdaf929a534e84>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_ff11613f82fc6e6cb5cdaf929a534e84>
{
  std::function<ITreeCanopyWrapper & __cdecl(FeatureLoading::ConcreteFeatureHolder<VanillaTreeFeature> *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_d0076524135b99dc12a4fdac1a9ffdb2>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_d0076524135b99dc12a4fdac1a9ffdb2>
{
  std::function<ITreeCanopyWrapper & __cdecl(FeatureLoading::ConcreteFeatureHolder<VanillaTreeFeature> *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_c1345d6770e3b6bb68c3c09efc4fcd42>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_c1345d6770e3b6bb68c3c09efc4fcd42>
{
  std::function<ITreeCanopyWrapper & __cdecl(FeatureLoading::ConcreteFeatureHolder<VanillaTreeFeature> *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_41eef46ec056f7206e841b23728f2eb1>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_41eef46ec056f7206e841b23728f2eb1>
{
  std::function<ITreeCanopyWrapper & __cdecl(FeatureLoading::ConcreteFeatureHolder<VanillaTreeFeature> *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_4ca139b2ec721fc2a17fbb22ef854814>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_4ca139b2ec721fc2a17fbb22ef854814>
{
  std::function<ITreeCanopyWrapper & __cdecl(FeatureLoading::ConcreteFeatureHolder<VanillaTreeFeature> *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_cd64679638449a79dccbe745c1a250e3>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_cd64679638449a79dccbe745c1a250e3>
{
  std::function<ITreeCanopyWrapper & __cdecl(MegaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_ee4c604389240cb202f6261fdc1e04e3>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_ee4c604389240cb202f6261fdc1e04e3>
{
  std::function<ITreeCanopyWrapper & __cdecl(MegaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_60a102863ce29bc2982df2c34fd535b0>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_60a102863ce29bc2982df2c34fd535b0>
{
  std::function<ITreeCanopyWrapper & __cdecl(MegaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_ca928f45613ff5fd97f2942e9ceb3f4a>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_ca928f45613ff5fd97f2942e9ceb3f4a>
{
  std::function<ITreeCanopyWrapper & __cdecl(MegaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_05f4e53dbf52453c6d061ae43879dc69>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_05f4e53dbf52453c6d061ae43879dc69>
{
  std::function<ITreeCanopyWrapper & __cdecl(MegaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_6de9d43d99c64be69a24d3c93246734d>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_6de9d43d99c64be69a24d3c93246734d>
{
  std::function<ITreeCanopyWrapper & __cdecl(MegaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_d5d21a9888de096282c3dd792725e1cf>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_d5d21a9888de096282c3dd792725e1cf>
{
  std::function<ITreeCanopyWrapper & __cdecl(MegaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_29652bb713c368000dfbdb23cabde78f>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_29652bb713c368000dfbdb23cabde78f>
{
  std::function<ITreeCanopyWrapper & __cdecl(MegaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_830fcc905692ea96a8e1c01d2bb7ff14>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_830fcc905692ea96a8e1c01d2bb7ff14>
{
  std::function<ITreeCanopyWrapper & __cdecl(AcaciaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_3e68a02c81f724a12dea0ea1a91fa8cd>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_3e68a02c81f724a12dea0ea1a91fa8cd>
{
  std::function<ITreeCanopyWrapper & __cdecl(AcaciaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_2996b6403ee8ffb7da1b8e9f3192bdc1>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_2996b6403ee8ffb7da1b8e9f3192bdc1>
{
  std::function<ITreeCanopyWrapper & __cdecl(AcaciaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_2f45fe79736c3435e8ebdfbb8d1c5e8c>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_2f45fe79736c3435e8ebdfbb8d1c5e8c>
{
  std::function<ITreeCanopyWrapper & __cdecl(AcaciaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_f6cc72808d6fd9ff888293cab21b3dbb>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_f6cc72808d6fd9ff888293cab21b3dbb>
{
  std::function<ITreeCanopyWrapper & __cdecl(AcaciaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_653d5111285cb13283a021f3149f1cb0>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_653d5111285cb13283a021f3149f1cb0>
{
  std::function<ITreeCanopyWrapper & __cdecl(AcaciaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_d5e6d6727df99b37649639861e2b4557>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_d5e6d6727df99b37649639861e2b4557>
{
  std::function<ITreeCanopyWrapper & __cdecl(AcaciaTreeTrunk *)> canopyAccessor;
};

# CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_0bdc841064c5d7e23fa25589f8e1068a>

struct __cppobj CanopyVariantBuilder::buildCanopyVariant::__l2::<lambda_0bdc841064c5d7e23fa25589f8e1068a>
{
  std::function<ITreeCanopyWrapper & __cdecl(AcaciaTreeTrunk *)> canopyAccessor;
};

# cst_item_contents_struct

struct cst_item_contents_struct
{
  cst_features_struct *features;
  cst_features_struct *relations;
};

# cst_item_struct

struct cst_item_struct
{
  cst_item_contents_struct *contents;
  cst_relation_struct *relation;
  cst_item_struct *n;
  cst_item_struct *p;
  cst_item_struct *u;
  cst_item_struct *d;
};

# cst_relation_struct

struct cst_relation_struct
{
  char *name;
  cst_features_struct *features;
  cst_utterance_struct *utterance;
  cst_item_struct *head;
  cst_item_struct *tail;
};

# cst_sts_struct

struct cst_sts_struct
{
  const unsigned __int16 *frame;
  const int size;
  const unsigned __int8 *residual;
};

# cst_sts_paged_struct

struct cst_sts_paged_struct
{
  const unsigned int frame_offset;
  const unsigned __int16 res_size;
  const unsigned int res_offset;
  const unsigned __int16 *frame_page;
  const unsigned __int8 *res_page;
};

# cst_tokenstream_struct

struct cst_tokenstream_struct
{
  _iobuf *fd;
  int file_pos;
  int line_number;
  int eof_flag;
  char *string_buffer;
  int current_char;
  int token_pos;
  int ws_max;
  char *whitespace;
  int prep_max;
  char *prepunctuation;
  int token_max;
  char *token;
  int postp_max;
  char *postpunctuation;
  cst_features_struct *tags;
  int utf8_explode_mode;
  void *streamtype_data;
  const char *p_whitespacesymbols;
  const char *p_singlecharsymbols;
  const char *p_prepunctuationsymbols;
  const char *p_postpunctuationsymbols;
  char charclass[256];
  int (__fastcall *open)(cst_tokenstream_struct *, const char *);
  void (__fastcall *close)(cst_tokenstream_struct *);
  int (__fastcall *eof)(cst_tokenstream_struct *);
  int (__fastcall *seek)(cst_tokenstream_struct *, int);
  int (__fastcall *tell)(cst_tokenstream_struct *);
  int (__fastcall *size)(cst_tokenstream_struct *);
  int (__fastcall *getc)(cst_tokenstream_struct *);
};

# cst_rateconv_struct

struct cst_rateconv_struct
{
  int channels;
  int up;
  int down;
  long double gain;
  int lag;
  int *sin;
  int *sout;
  int *coep;
  int insize;
  int outsize;
  int incount;
  int len;
  long double fsin;
  long double fgk;
  long double fgg;
  int inbaseidx;
  int inoffset;
  int cycctr;
  int outidx;
};

# cst_audiodev_struct

struct cst_audiodev_struct
{
  int sps;
  int real_sps;
  int channels;
  int real_channels;
  cst_audiofmt fmt;
  cst_audiofmt real_fmt;
  int byteswap;
  cst_rateconv_struct *rateconv;
  void *platform_data;
};

# cst_audio_streaming_info_struct

struct cst_audio_streaming_info_struct
{
  int min_buffsize;
  int (__fastcall *asc)(const cst_wave_struct *, int, int, int, cst_audio_streaming_info_struct *);
  const cst_utterance_struct *utt;
  const cst_item_struct *item;
  void *userdata;
};

# cst_track_struct

struct cst_track_struct
{
  const char *type;
  int num_frames;
  int num_channels;
  float *times;
  float **frames;
};

# cst_cg_db_struct

struct __declspec(align(8)) cst_cg_db_struct
{
  const char *name;
  const char *const *types;
  int num_types;
  int sample_rate;
  float f0_mean;
  float f0_stddev;
  const cst_cart_struct *const *f0_trees;
  int num_param_models;
  const cst_cart_struct ***param_trees;
  const cst_cart_struct *spamf0_accent_tree;
  const cst_cart_struct *spamf0_phrase_tree;
  int *num_channels;
  int *num_frames;
  const unsigned __int16 ***model_vectors;
  int num_channels_spamf0_accent;
  int num_frames_spamf0_accent;
  const float *const *spamf0_accent_vectors;
  const float *model_min;
  const float *model_range;
  float frame_advance;
  int num_dur_models;
  const cst_dur_stats_struct ***dur_stats;
  const cst_cart_struct **dur_cart;
  const char *const *const *phone_states;
  int do_mlpg;
  float *dynwin;
  int dynwinsize;
  float mlsa_alpha;
  float mlsa_beta;
  int multimodel;
  int mixed_excitation;
  int ME_num;
  int ME_order;
  const long double *const *me_h;
  int spamf0;
  float gain;
  int freeable;
};

# cst_lts_rule_struct

struct cst_lts_rule_struct
{
  unsigned __int8 feat;
  unsigned __int8 val;
  unsigned __int16 qtrue;
  unsigned __int16 qfalse;
};

# cst_lts_rewrites_struct

struct cst_lts_rewrites_struct
{
  char *name;
  const cst_val_struct *sets;
  const cst_val_struct *rules;
};

# cst_regstate_struct

struct cst_regstate_struct
{
  const char *startp[10];
  const char *endp[10];
  const char *input;
  const char *bol;
};

# cst_lpcres_struct

struct __declspec(align(8)) cst_lpcres_struct
{
  const unsigned __int16 **frames;
  int *times;
  int num_frames;
  int num_channels;
  float lpc_min;
  float lpc_range;
  int num_samples;
  int sample_rate;
  int *sizes;
  unsigned __int8 *residual;
  cst_audio_streaming_info_struct *asi;
  const unsigned __int8 **packed_residuals;
  int delayed_decoding;
};

# cst_wave_header_struct

struct __declspec(align(8)) cst_wave_header_struct
{
  const char *type;
  int hsize;
  int num_bytes;
  int sample_rate;
  int num_samples;
  int num_channels;
};

# cst_ss_struct

struct cst_ss_struct
{
  long double num_samples;
  long double sum;
  long double sumx;
};

# cst_vit_cand_struct

struct cst_vit_cand_struct
{
  int score;
  cst_val_struct *val;
  int ival;
  int pos;
  cst_item_struct *item;
  cst_vit_cand_struct *next;
};

# cst_viterbi_struct

struct cst_viterbi_struct
{
  int num_states;
  cst_vit_cand_struct *(__fastcall *cand_func)(cst_item_struct *, cst_viterbi_struct *);
  cst_vit_path_struct *(__fastcall *path_func)(cst_vit_path_struct *, cst_vit_cand_struct *, cst_viterbi_struct *);
  int big_is_good;
  cst_vit_point_struct *timeline;
  cst_vit_point_struct *last_point;
  cst_features_struct *f;
};

# cst_vit_path_struct

struct cst_vit_path_struct
{
  int score;
  int state;
  cst_vit_cand_struct *cand;
  cst_features_struct *f;
  cst_vit_path_struct *from;
  cst_vit_path_struct *next;
};

# cst_vit_point_struct

struct cst_vit_point_struct
{
  cst_item_struct *item;
  int num_states;
  int num_paths;
  cst_vit_cand_struct *cands;
  cst_vit_path_struct *paths;
  cst_vit_path_struct **state_paths;
  cst_vit_point_struct *next;
};

# cst_filemap_struct

struct __declspec(align(8)) cst_filemap_struct
{
  void *mem;
  _iobuf *fh;
  unsigned __int64 mapsize;
  int fd;
};

# cst_clunit_type_struct

struct cst_clunit_type_struct
{
  const char *name;
  int start;
  int count;
};

# cst_clunit_struct

struct cst_clunit_struct
{
  unsigned __int16 type;
  unsigned __int16 phone;
  int start;
  int end;
  int prev;
  int next;
};

# cst_clunit_db_struct

struct cst_clunit_db_struct
{
  const char *name;
  const cst_clunit_type_struct *types;
  const cst_cart_struct *const *trees;
  const cst_clunit_struct *units;
  int num_types;
  int num_units;
  cst_sts_list_struct *sts;
  cst_sts_list_struct *mcep;
  const int *join_weights;
  int optimal_coupling;
  int extend_selections;
  int f0_weight;
  char *(__fastcall *unit_name_func)(cst_item_struct *);
};

# c_derived_tbl

struct c_derived_tbl
{
  unsigned int ehufco[256];
  char ehufsi[256];
};

# CheckSum

struct __cppobj CheckSum
{
  unsigned __int16 r;
  unsigned __int16 c1;
  unsigned __int16 c2;
  unsigned int sum;
};

# curfile64_info

struct curfile64_info
{
  z_stream_s stream;
  int stream_initialised;
  unsigned int pos_in_buffered_data;
  unsigned __int64 pos_local_header;
  char *central_header;
  unsigned int size_centralExtra;
  unsigned int size_centralheader;
  unsigned int size_centralExtraFree;
  unsigned int flag;
  int method;
  int raw;
  unsigned __int8 buffered_data[65536];
  unsigned int dosDate;
  unsigned int crc32;
  int encrypt;
  int zip64;
  unsigned __int64 pos_zip64extrainfo;
  unsigned __int64 totalCompressedData;
  unsigned __int64 totalUncompressedData;
};

# Core::FileInterfaceImpl

struct __cppobj Core::FileInterfaceImpl : Core::IFile
{
  Core::File mFile;
};

# Core::FileInterfaceImpl_vtbl

struct /*VFT*/ Core::FileInterfaceImpl_vtbl
{
  void (__fastcall *~IFile)(Core::IFile *this);
  Core::Result *(__fastcall *readExactly)(Core::IFile *this, Core::Result *result, void *, unsigned __int64);
  Core::Result *(__fastcall *readAtPosition)(Core::IFile *this, Core::Result *result, unsigned __int64, void *, unsigned __int64, unsigned __int64 *);
  Core::Result *(__fastcall *getSize)(Core::IFile *this, Core::Result *result, unsigned __int64 *);
};

# ContentLogFileEndPoint::deleteAllContentLogs::__l2::<lambda_6644649129716ac56d8c9974eaacfdb7>

struct __cppobj ContentLogFileEndPoint::deleteAllContentLogs::__l2::<lambda_6644649129716ac56d8c9974eaacfdb7>
{
  const ContentLogFileEndPoint *const __this;
};

# Core::File::getSubDirectory::__l2::<lambda_a87881720f9bb29fb0ef92f5942d4f46>

struct __cppobj Core::File::getSubDirectory::__l2::<lambda_a87881720f9bb29fb0ef92f5942d4f46>
{
  std::vector<std::string> *files;
};

# Core::FileStorageArea::_endTransaction::__l36::<lambda_4f949249c91046529f799f18667e1bfe>

struct __cppobj Core::FileStorageArea::_endTransaction::__l36::<lambda_4f949249c91046529f799f18667e1bfe>
{
  std::vector<Core::PathBuffer<std::string >> *writeFilePaths;
};

# Core::FileStorageArea::_onDeleteFile::__l2::<lambda_15b0abf9c4de299c39c4ca982c75af15>

struct __cppobj Core::FileStorageArea::_onDeleteFile::__l2::<lambda_15b0abf9c4de299c39c4ca982c75af15>
{
  Core::Path filePath;
};

# Core::FileStorageArea::_onWriteFile::__l2::<lambda_dc5a3089a8b2b763b2c891493ff9690c>

struct __cppobj Core::FileStorageArea::_onWriteFile::__l2::<lambda_dc5a3089a8b2b763b2c891493ff9690c>
{
  Core::Path filePath;
};

# Core::FileStorageArea::_notifyEndWrite::__l2::<lambda_9ceb4840ea4a542dfbcc5529775b4669>

struct __cppobj Core::FileStorageArea::_notifyEndWrite::__l2::<lambda_9ceb4840ea4a542dfbcc5529775b4669>
{
};

# Core::FileStorageArea::_notifyBeginWrite::__l2::<lambda_782efc8dbbd17dc6092c2aa1cbfbb497>

struct __cppobj Core::FileStorageArea::_notifyBeginWrite::__l2::<lambda_782efc8dbbd17dc6092c2aa1cbfbb497>
{
};

# Core::FileStorageArea::teardown::__l2::<lambda_6c397a31ef6666ff81f041edaa2631b4>

struct __cppobj Core::FileStorageArea::teardown::__l2::<lambda_6c397a31ef6666ff81f041edaa2631b4>
{
};

# Core::FileStorageArea::unloadAllStorageAreaFlatFileManifests::__l2::<lambda_7ea44d43d0f25c41fabe3a97c0fb0ae1>

struct __cppobj Core::FileStorageArea::unloadAllStorageAreaFlatFileManifests::__l2::<lambda_7ea44d43d0f25c41fabe3a97c0fb0ae1>
{
  bool isInGame;
};

# Core::TransactionFrameSourceTarget

struct __cppobj Core::TransactionFrameSourceTarget
{
  Core::PathBuffer<Core::StackString<char,1024> > mSource;
  Core::PathBuffer<Core::StackString<char,1024> > mTarget;
  bool mSameStorageArea;
  std::shared_ptr<Core::FileSystemImpl> msptSourceTransaction;
  std::shared_ptr<Core::FileSystemImpl> msptTargetTransaction;
  Core::Result mResult;
};

# Core::BufferedFileOperations

struct __cppobj Core::BufferedFileOperations
{
};

# Core::FullCopyFileOperations

struct __cppobj Core::FullCopyFileOperations
{
};

# Core::FileSystem::_copyFlatFile::__l2::<lambda_59f1dae2cea57e1507336cfd77c69a25>

struct __cppobj Core::FileSystem::_copyFlatFile::__l2::<lambda_59f1dae2cea57e1507336cfd77c69a25>
{
  const std::vector<Core::ExcludedPath> excludedDirectories;
  const std::vector<Core::ExcludedPath> excludedFiles;
};

# Core::FileSystem::_copyFlatFile::__l2::<lambda_b369de15cd08f52ddd9124a32cf777ff>

struct __cppobj Core::FileSystem::_copyFlatFile::__l2::<lambda_b369de15cd08f52ddd9124a32cf777ff>
{
  const std::vector<Core::ExcludedPath> excludedDirectories;
  const std::vector<Core::ExcludedPath> excludedFiles;
};

# Core::FileSystem::_getDirectoriesAndFileSizesRecursively::__l2::<lambda_8f05f056b1b0f9db216a6ae76d779648>

struct __cppobj Core::FileSystem::_getDirectoriesAndFileSizesRecursively::__l2::<lambda_8f05f056b1b0f9db216a6ae76d779648>
{
  std::vector<Core::PathBuffer<std::string >> *directoriesOut;
  std::vector<Core::FileSystem::BasicFileData> *filesOut;
};

# Core::FileSystem::_getDirectoriesAndFileSizesRecursively::__l2::<lambda_8f05f056b1b0f9db216a6ae76d779648>::()::__l2::<lambda_1b4b4d12aa7c3738ea721ec3d2340bfb>

struct __cppobj Core::FileSystem::_getDirectoriesAndFileSizesRecursively::__l2::<lambda_8f05f056b1b0f9db216a6ae76d779648>::()::__l2::<lambda_1b4b4d12aa7c3738ea721ec3d2340bfb>
{
  std::vector<Core::PathBuffer<std::string >> *directoriesOut;
  std::vector<Core::FileSystem::BasicFileData> *filesOut;
};

# Core::FileSystem::copyFlatFile::__l2::<lambda_11920479d4ac4d1270adfef516545fba>

struct __cppobj Core::FileSystem::copyFlatFile::__l2::<lambda_11920479d4ac4d1270adfef516545fba>
{
  bool *directoriesCreated;
  std::vector<Core::PathBuffer<std::string >> *directories;
  std::vector<Core::FileSystem::BasicFileData> *files;
  unsigned __int64 *currentFileBytesWritten;
};

# Core::FileSystem::copyFlatFile::__l21::<lambda_cd091415c6b84e021144bc6398c7c8da>

struct __cppobj Core::FileSystem::copyFlatFile::__l21::<lambda_cd091415c6b84e021144bc6398c7c8da>
{
  Core::FileSystem::copyFlatFile::__l2::<lambda_11920479d4ac4d1270adfef516545fba> *copyFilesFunction;
};

# Core::FileSystem::copyFlatFile::__l21::<lambda_2960446a33dd3ee282caa2cb3c92146b>

struct __cppobj Core::FileSystem::copyFlatFile::__l21::<lambda_2960446a33dd3ee282caa2cb3c92146b>
{
  Core::FileSystem::copyFlatFile::__l2::<lambda_11920479d4ac4d1270adfef516545fba> *copyFilesFunction;
};

# Core::FileSystem::copyFlatFile::__l21::<lambda_cd091415c6b84e021144bc6398c7c8da>::()::__l2::<lambda_0ca94aac4569a0f57c3e4116dbe45192>

struct __cppobj Core::FileSystem::copyFlatFile::__l21::<lambda_cd091415c6b84e021144bc6398c7c8da>::()::__l2::<lambda_0ca94aac4569a0f57c3e4116dbe45192>
{
  Core::TransactionFrameSourceTarget *frame;
};

# Core::FileSystem::copyFlatFile::__l21::<lambda_2960446a33dd3ee282caa2cb3c92146b>::()::__l2::<lambda_69c33ad75c1b6d4aad9a9a7f6c001afc>

struct __cppobj Core::FileSystem::copyFlatFile::__l21::<lambda_2960446a33dd3ee282caa2cb3c92146b>::()::__l2::<lambda_69c33ad75c1b6d4aad9a9a7f6c001afc>
{
  Core::TransactionFrameSourceTarget *frame;
};

# Core::FileSystem::isDirectoryPathAFlatFile::__l2::<lambda_ba6aeccfb37c12edd13095ab456aa64d>

struct __cppobj Core::FileSystem::isDirectoryPathAFlatFile::__l2::<lambda_ba6aeccfb37c12edd13095ab456aa64d>
{
  const Core::Path directoryPath;
};

# Core::FileSystem::copyTimeAndAccessRights::__l2::<lambda_c033534d5eecc0197ff1369a212317de>

struct __cppobj Core::FileSystem::copyTimeAndAccessRights::__l2::<lambda_c033534d5eecc0197ff1369a212317de>
{
};

# Core::FileSystem::copyTimeAndAccessRights::__l2::<lambda_b730c966c7777fb392720be343448011>

struct __cppobj Core::FileSystem::copyTimeAndAccessRights::__l2::<lambda_b730c966c7777fb392720be343448011>
{
};

# Core::FileSystem::getLastModificationTime::__l2::<lambda_a8258e75735e6e6ac90c376b39de4a94>

struct __cppobj Core::FileSystem::getLastModificationTime::__l2::<lambda_a8258e75735e6e6ac90c376b39de4a94>
{
  __int64 *pLastModificationTime;
};

# Core::FileSystem::getFileOrDirectorySize::__l2::<lambda_23ad657e885b9bc09908c0e65cebb496>

struct __cppobj Core::FileSystem::getFileOrDirectorySize::__l2::<lambda_23ad657e885b9bc09908c0e65cebb496>
{
  unsigned __int64 *pFileSizeOut;
};

# Core::FileSystem::renameFileOrDirectory::__l2::<lambda_c64e7e4d3a4704a1764678e8a7980409>

struct __cppobj Core::FileSystem::renameFileOrDirectory::__l2::<lambda_c64e7e4d3a4704a1764678e8a7980409>
{
};

# Core::FileSystem::renameFileOrDirectory::__l2::<lambda_5f2aaa5b39814ab0554bc9e1cf59d262>

struct __cppobj Core::FileSystem::renameFileOrDirectory::__l2::<lambda_5f2aaa5b39814ab0554bc9e1cf59d262>
{
};

# Core::FileSystem::fileOrDirectoryExists::__l2::<lambda_63447d7cdc7eaea4403895078b7fa012>

struct __cppobj Core::FileSystem::fileOrDirectoryExists::__l2::<lambda_63447d7cdc7eaea4403895078b7fa012>
{
};

# Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l2::<lambda_b8b9fcbcc1b4161573b3d5a4c81a71e6>

struct __cppobj Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l2::<lambda_b8b9fcbcc1b4161573b3d5a4c81a71e6>
{
  bool *directoriesCreated;
  std::vector<Core::PathBuffer<std::string >> *directories;
  std::vector<Core::FileSystem::BasicFileData> *files;
  unsigned __int64 *currentFileBytesWritten;
};

# Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l8::<lambda_9e4e40d446878180584232c8cc3081d6>

struct __cppobj Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l8::<lambda_9e4e40d446878180584232c8cc3081d6>
{
  Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l2::<lambda_b8b9fcbcc1b4161573b3d5a4c81a71e6> *copyFilesFunction;
};

# Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l8::<lambda_fb0bf9b7b803726bfc6690ea01f6ae19>

struct __cppobj Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l8::<lambda_fb0bf9b7b803726bfc6690ea01f6ae19>
{
  Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l2::<lambda_b8b9fcbcc1b4161573b3d5a4c81a71e6> *copyFilesFunction;
};

# Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l8::<lambda_9e4e40d446878180584232c8cc3081d6>::()::__l2::<lambda_9586ee1d7b5c4f84a89c5d224303fcd0>

struct __cppobj Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l8::<lambda_9e4e40d446878180584232c8cc3081d6>::()::__l2::<lambda_9586ee1d7b5c4f84a89c5d224303fcd0>
{
  Core::TransactionFrameSourceTarget *frame;
};

# Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l8::<lambda_fb0bf9b7b803726bfc6690ea01f6ae19>::()::__l2::<lambda_1fec565e4f93ca6d00a24a04d5dbb735>

struct __cppobj Core::FileSystem::copyDirectoryAndContentsRecursivelyWithLimit::__l8::<lambda_fb0bf9b7b803726bfc6690ea01f6ae19>::()::__l2::<lambda_1fec565e4f93ca6d00a24a04d5dbb735>
{
  Core::TransactionFrameSourceTarget *frame;
};

# Core::FileSystem::copyDirectoryAndContentsRecursively::__l2::<lambda_c78555f3b1695fafcdf6d01e1099072f>

struct __cppobj Core::FileSystem::copyDirectoryAndContentsRecursively::__l2::<lambda_c78555f3b1695fafcdf6d01e1099072f>
{
};

# Core::FileSystem::copyDirectoryAndContentsRecursively::__l2::<lambda_f414bf42b212717f4d0adcb9f5967090>

struct __cppobj Core::FileSystem::copyDirectoryAndContentsRecursively::__l2::<lambda_f414bf42b212717f4d0adcb9f5967090>
{
};

# Core::FileSystem::getDirectoryFilesAllocatedSizeRecursively::__l2::<lambda_94073d6a316f2e1a892b79ccaaefc8f6>

struct __cppobj Core::FileSystem::getDirectoryFilesAllocatedSizeRecursively::__l2::<lambda_94073d6a316f2e1a892b79ccaaefc8f6>
{
  unsigned __int64 *totalSize;
  unsigned __int64 *totalAllocatedSize;
};

# Core::FileSystem::getDirectoryFilesSizeRecursively::__l2::<lambda_3833884770e4c3d480d36fca9259fd8c>

struct __cppobj Core::FileSystem::getDirectoryFilesSizeRecursively::__l2::<lambda_3833884770e4c3d480d36fca9259fd8c>
{
  unsigned __int64 *totalSize;
};

# Core::FileSystem::getDirectoryFilesRecursively::__l2::<lambda_e9eff914473c6d34d40c6cbc412dbb3d>

struct __cppobj Core::FileSystem::getDirectoryFilesRecursively::__l2::<lambda_e9eff914473c6d34d40c6cbc412dbb3d>
{
  std::vector<Core::PathBuffer<std::string >> *files;
};

# Core::FileSystem::getDirectoryFiles::__l2::<lambda_dce81ee113bc11b2fdd53e34c5286d4c>

struct __cppobj Core::FileSystem::getDirectoryFiles::__l2::<lambda_dce81ee113bc11b2fdd53e34c5286d4c>
{
  std::vector<Core::PathBuffer<std::string >> *files;
};

# Core::FileSystem::iterateOverDirectory::__l2::<lambda_97105071004ec7095109b7e0f37579af>

struct __cppobj Core::FileSystem::iterateOverDirectory::__l2::<lambda_97105071004ec7095109b7e0f37579af>
{
  Core::DirectoryIterationFlags *flags;
  std::function<Core::Result __cdecl(Core::DirectoryIterationItem const &)> *callbackFunction;
};

# Core::FileSystem::deleteDirectoryContentsRecursively::__l2::<lambda_7cab9334a3d4e10e470fff5917ff314a>

struct __cppobj Core::FileSystem::deleteDirectoryContentsRecursively::__l2::<lambda_7cab9334a3d4e10e470fff5917ff314a>
{
};

# Core::FileSystem::deleteDirectoryAndContentsRecursively::__l2::<lambda_8d29a50532adb45e363af47d5ad15e71>

struct __cppobj Core::FileSystem::deleteDirectoryAndContentsRecursively::__l2::<lambda_8d29a50532adb45e363af47d5ad15e71>
{
};

# Core::FileSystem::deleteEmptyDirectory::__l2::<lambda_f9b239be90ab0ce9ab4754a2f86e02b7>

struct __cppobj Core::FileSystem::deleteEmptyDirectory::__l2::<lambda_f9b239be90ab0ce9ab4754a2f86e02b7>
{
};

# Core::FileSystem::directoryExists::__l2::<lambda_ababc69c28ce180126a3fc6c1c288e0a>

struct __cppobj Core::FileSystem::directoryExists::__l2::<lambda_ababc69c28ce180126a3fc6c1c288e0a>
{
};

# Core::FileSystem::createDirectoryRecursively::__l2::<lambda_ae33db32cfa4c3058521ae6dc898c527>

struct __cppobj Core::FileSystem::createDirectoryRecursively::__l2::<lambda_ae33db32cfa4c3058521ae6dc898c527>
{
};

# Core::FileSystem::createOneDirectoryIfNotExisting::__l2::<lambda_b24e28e9b08811b5272c340e585d1023>

struct __cppobj Core::FileSystem::createOneDirectoryIfNotExisting::__l2::<lambda_b24e28e9b08811b5272c340e585d1023>
{
};

# Core::FileSystem::createOneDirectory::__l2::<lambda_5c4bf3aed8d7b172c16c39d1de709664>

struct __cppobj Core::FileSystem::createOneDirectory::__l2::<lambda_5c4bf3aed8d7b172c16c39d1de709664>
{
};

# Core::FileSystem::readFileData::__l2::<lambda_2bb06f9776bb3fec7711880479a7a9e4>

struct __cppobj Core::FileSystem::readFileData::__l2::<lambda_2bb06f9776bb3fec7711880479a7a9e4>
{
  std::vector<unsigned char> *data;
};

# Core::FileSystem::copyFile::__l2::<lambda_98016297add55f2d692193ce16f14d33>

struct __cppobj Core::FileSystem::copyFile::__l2::<lambda_98016297add55f2d692193ce16f14d33>
{
};

# Core::FileSystem::createEmptyFile::__l2::<lambda_e30753ee6bce3dc092e0ccedcfe2dc4e>

struct __cppobj Core::FileSystem::createEmptyFile::__l2::<lambda_e30753ee6bce3dc092e0ccedcfe2dc4e>
{
};

# Core::FileSystem::renameFile::__l2::<lambda_5b3722df85f1c14b76002c1297911384>

struct __cppobj Core::FileSystem::renameFile::__l2::<lambda_5b3722df85f1c14b76002c1297911384>
{
};

# Core::FileSystem::renameFile::__l2::<lambda_0769214b2aefb637872126adcc74bc0b>

struct __cppobj Core::FileSystem::renameFile::__l2::<lambda_0769214b2aefb637872126adcc74bc0b>
{
};

# Core::FileSystem::getFileSize::__l2::<lambda_32e79a4882533ce7b414fade529de37a>

struct __cppobj Core::FileSystem::getFileSize::__l2::<lambda_32e79a4882533ce7b414fade529de37a>
{
  unsigned __int64 *pFileSize;
};

# Core::FileSystem::deleteFile::__l2::<lambda_6de33e8cd4806f655a265e464d8c499e>

struct __cppobj Core::FileSystem::deleteFile::__l2::<lambda_6de33e8cd4806f655a265e464d8c499e>
{
};

# Core::FileSystem::fileExists::__l2::<lambda_d1885a642012505d321d6ac0d7c97d4a>

struct __cppobj Core::FileSystem::fileExists::__l2::<lambda_d1885a642012505d321d6ac0d7c97d4a>
{
};

# Core::BufferedFileOperations::moveDirectory::__l2::<lambda_4753ddacc45f0cb68dfc18f78dd428be>

struct __cppobj Core::BufferedFileOperations::moveDirectory::__l2::<lambda_4753ddacc45f0cb68dfc18f78dd428be>
{
  Core::FileSystemImpl *pSourceTransaction;
  Core::FileSystemImpl *pTargetTransaction;
};

# Core::BufferedFileOperations::copyDirectory::__l2::<lambda_a2eef328ca40f13edd75cdcccfa58465>

struct __cppobj Core::BufferedFileOperations::copyDirectory::__l2::<lambda_a2eef328ca40f13edd75cdcccfa58465>
{
  Core::FileSystemImpl *pSourceTransaction;
  Core::FileSystemImpl *pTargetTransaction;
};

# Core::FileLogObjectFormatter<unsigned __int64>

struct __cppobj Core::FileLogObjectFormatter<unsigned __int64>
{
};

# Core::FileLogObjectFormatter<void const *>

struct __cppobj Core::FileLogObjectFormatter<void const *>
{
};

# Core::FileLogObjectFormatter<void *>

struct __cppobj Core::FileLogObjectFormatter<void *>
{
};

# Core::FileLogObjectFormatter<Core::Path>

struct __cppobj Core::FileLogObjectFormatter<Core::Path>
{
};

# Core::FileLogObjectFormatter<enum Core::FileBufferingMode>

struct __cppobj Core::FileLogObjectFormatter<enum Core::FileBufferingMode>
{
};

# Core::FileLogObjectFormatter<Core::FileOpenMode>

struct __cppobj Core::FileLogObjectFormatter<Core::FileOpenMode>
{
};

# Core::FileAccessLog

struct __cppobj Core::FileAccessLog
{
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > mStartTime;
};

# Core::FileImpl::_writeOperation::__l2::<lambda_f13385fbcbb6a43df353813e61158f95>

struct __cppobj Core::FileImpl::_writeOperation::__l2::<lambda_f13385fbcbb6a43df353813e61158f95>
{
  Core::FileImpl *const __this;
};

# Core::FileSystemImpl::_countDirectoryFiles::__l2::<lambda_dc64033ae47903a7638e40cc87720134>

struct __cppobj Core::FileSystemImpl::_countDirectoryFiles::__l2::<lambda_dc64033ae47903a7638e40cc87720134>
{
  unsigned __int64 *pCount;
};

# Core::FileSystemImpl::_getDirectoryFilesAllocatedSizeRecursively::__l2::<lambda_5562b976d593a4176cc77dc8327b16de>

struct __cppobj Core::FileSystemImpl::_getDirectoryFilesAllocatedSizeRecursively::__l2::<lambda_5562b976d593a4176cc77dc8327b16de>
{
  unsigned __int64 *totalSize;
  unsigned __int64 *totalSizeAllocated;
};

# Core::FileSystemImpl::_getDirectoryFilesSizeRecursively::__l2::<lambda_503b0d304b6dc01274c19526de486849>

struct __cppobj Core::FileSystemImpl::_getDirectoryFilesSizeRecursively::__l2::<lambda_503b0d304b6dc01274c19526de486849>
{
  unsigned __int64 *totalSize;
  unsigned __int64 *totalSizeAllocated;
};

# Core::FileSystemImpl::_getDirectoryFiles::__l2::<lambda_5674593dcb7a8757f43f15395ae89cbf>

struct __cppobj Core::FileSystemImpl::_getDirectoryFiles::__l2::<lambda_5674593dcb7a8757f43f15395ae89cbf>
{
  std::vector<Core::PathBuffer<std::string >> *files;
};

# Core::FileSystemImpl::_getDirectoryFilesRecursively::__l2::<lambda_c7f2d615d74f2d40c7ae8ea00f711f70>

struct __cppobj Core::FileSystemImpl::_getDirectoryFilesRecursively::__l2::<lambda_c7f2d615d74f2d40c7ae8ea00f711f70>
{
  std::vector<Core::PathBuffer<std::string >> *filesOut;
};

# Core::FileSystemImpl::_copyDirectoryAndContentsRecursively::__l2::<lambda_e8a74e3fa9d64d0666d464b4abb3af64>

struct __cppobj Core::FileSystemImpl::_copyDirectoryAndContentsRecursively::__l2::<lambda_e8a74e3fa9d64d0666d464b4abb3af64>
{
  Core::FileSystemImpl *const __this;
};

# Core::FileSystemImpl::_getFileOrDirectorySize::__l2::<lambda_510bb1f513f6f2de5d3586b2a7b507ea>

struct __cppobj Core::FileSystemImpl::_getFileOrDirectorySize::__l2::<lambda_510bb1f513f6f2de5d3586b2a7b507ea>
{
  unsigned __int64 *fullSize;
};

# Core::FileSystemImpl::_deleteRecursively::__l2::<lambda_70c1e4ec2481f3155b0ab9f182f3ba91>

struct __cppobj Core::FileSystemImpl::_deleteRecursively::__l2::<lambda_70c1e4ec2481f3155b0ab9f182f3ba91>
{
  _BYTE deleteFileType[4];
  Core::FileSystemImpl *const __this;
};

# Core::FileSystemImpl::renameFileOrDirectory::__l18::<lambda_2709165f98132c9a9997d2958f20f9cf>

struct __cppobj Core::FileSystemImpl::renameFileOrDirectory::__l18::<lambda_2709165f98132c9a9997d2958f20f9cf>
{
  std::vector<Core::PathPart> *sourceDirectoryRelativeFiles;
};

# Core::FileSystemImpl::renameDirectory::__l15::<lambda_f4afaae01ac1e75e419c2234648f46d4>

struct __cppobj Core::FileSystemImpl::renameDirectory::__l15::<lambda_f4afaae01ac1e75e419c2234648f46d4>
{
  std::vector<Core::PathPart> *sourceDirectoryRelativeFiles;
};

# Core::FileSystemImpl::createEmptyFile::__l2::<lambda_27e0d656b51539490326c34f95575217>

struct __cppobj Core::FileSystemImpl::createEmptyFile::__l2::<lambda_27e0d656b51539490326c34f95575217>
{
  const Core::Path filePath;
};

# Core::FileSystemImpl::renameFile::__l2::<lambda_0bb993fdb791492d24befa1bf48a8f79>

struct __cppobj Core::FileSystemImpl::renameFile::__l2::<lambda_0bb993fdb791492d24befa1bf48a8f79>
{
  const Core::Path sourceFilePath;
  const Core::Path targetFilePath;
};

# Core::FileSystemImpl::deleteFile::__l2::<lambda_5d58dc9160bba45e8abca001d26f80cb>

struct __cppobj Core::FileSystemImpl::deleteFile::__l2::<lambda_5d58dc9160bba45e8abca001d26f80cb>
{
  const Core::Path filePath;
};

# Core::FileSystemImpl::openFile::__l2::<lambda_461a514e6615232b4ed3038dd4b768c5>

struct __cppobj Core::FileSystemImpl::openFile::__l2::<lambda_461a514e6615232b4ed3038dd4b768c5>
{
  const Core::Path filePath;
};

# Core::FileSystemImpl::iterateOverDirectory::__l11::<lambda_8000543e5b85867bb6a22ad93460477a>

struct __cppobj Core::FileSystemImpl::iterateOverDirectory::__l11::<lambda_8000543e5b85867bb6a22ad93460477a>
{
  std::function<Core::Result __cdecl(Core::DirectoryIterationItem const &)> callbackFunction;
};

# Core::FileSystemImpl::renameDirectory::__l15::<lambda_80c965a700fa9e8de54b85ee15501326>

struct __cppobj Core::FileSystemImpl::renameDirectory::__l15::<lambda_80c965a700fa9e8de54b85ee15501326>
{
  std::vector<Core::PathPart> sourceDirectoryRelativeFiles;
  const Core::Path sourceDirectoryPath;
  const Core::Path targetDirectoryPath;
};

# Core::FlatFile

struct __cppobj Core::FlatFile : Core::FileImpl
{
  std::unique_ptr<Core::FileImpl> mFlatFile;
  Core::PathBuffer<std::string > mRequestedPath;
  unsigned __int64 mFileSize;
  unsigned __int64 mSeekPos;
};

# Core::FlatFile_vtbl

struct /*VFT*/ Core::FlatFile_vtbl
{
  void (__fastcall *~FileImpl)(Core::FileImpl *this);
  Core::PathBuffer<std::string > *(__fastcall *_getPath)(Core::FileImpl *this, Core::PathBuffer<std::string > *result);
  unsigned __int64 (__fastcall *_getBlockSize)(Core::FileImpl *this);
  bool (__fastcall *_isOpen)(Core::FileImpl *this);
  Core::Result *(__fastcall *_close)(Core::FileImpl *this, Core::Result *result);
  Core::Result *(__fastcall *_read)(Core::FileImpl *this, Core::Result *result, void *, unsigned __int64, unsigned __int64 *);
  Core::Result *(__fastcall *_readExactly)(Core::FileImpl *this, Core::Result *result, void *, unsigned __int64);
  Core::Result *(__fastcall *_skip)(Core::FileImpl *this, Core::Result *result, unsigned __int64);
  Core::Result *(__fastcall *_readAtPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64, void *, unsigned __int64, unsigned __int64 *);
  Core::Result *(__fastcall *_getPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
  Core::Result *(__fastcall *_setPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64);
  Core::Result *(__fastcall *_write)(Core::FileImpl *this, Core::Result *result, const void *, unsigned __int64);
  Core::Result *(__fastcall *_flush)(Core::FileImpl *this, Core::Result *result);
  Core::Result *(__fastcall *_getSize)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
  Core::Result *(__fastcall *_getRemainingSize)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
};

# Core::FlatFileOperations::transferFlatFileDirectory::__l2::<lambda_3c0622a849f57ee920bb577629846fa4>

struct __cppobj Core::FlatFileOperations::transferFlatFileDirectory::__l2::<lambda_3c0622a849f57ee920bb577629846fa4>
{
  Core::FileSystemImpl *sourceTransaction;
  Core::FileSystemImpl *targetTransaction;
};

# Core::FlatFileOperations::transferFlatFileDirectory::__l2::<lambda_5a55ba87b6b5fe9bc44e0f49bf1faded>

struct __cppobj Core::FlatFileOperations::transferFlatFileDirectory::__l2::<lambda_5a55ba87b6b5fe9bc44e0f49bf1faded>
{
  std::vector<Core::PathBuffer<std::string >> *filePathStrings;
  std::vector<Core::PathBuffer<std::string >> *directoryPathStrings;
};

# Core::FlatFileOperations::createFlatFile::__l26::<lambda_9662e73c17516696b47892439af5e946>

struct __cppobj Core::FlatFileOperations::createFlatFile::__l26::<lambda_9662e73c17516696b47892439af5e946>
{
  Core::FileSystemImpl *sourceTransaction;
};

# Core::FlatFileOperations::createFlatFile::__l2::<lambda_c4c151e7f93bbdca80f386e6ff39a58e>

struct __cppobj Core::FlatFileOperations::createFlatFile::__l2::<lambda_c4c151e7f93bbdca80f386e6ff39a58e>
{
  std::unique_ptr<Core::FileImpl> *flatFile;
  std::vector<char> *writeBuffer;
  unsigned __int64 *writeBufferSize;
};

# Core::FlatFileOperations::createFlatFile::__l2::<lambda_526442116e44cd87fd919e887759154d>

struct __cppobj Core::FlatFileOperations::createFlatFile::__l2::<lambda_526442116e44cd87fd919e887759154d>
{
  Core::PathBuffer<Core::StackString<char,1024> > *flatFilePath;
  const std::vector<Core::ExcludedPath> *exclusionPaths;
  const Core::Path *sourceDirectoryPath;
  const Core::Path *targetDirectoryPath;
  unsigned __int64 *globalSeekPosition;
  std::vector<Core::FlatFileManifestInfo> *manifestInfoVector;
  Core::FileSystemImpl **sourceTransaction;
  unsigned __int64 *writeBufferSize;
  std::vector<char> *writeBuffer;
  Core::FlatFileOperations::createFlatFile::__l2::<lambda_c4c151e7f93bbdca80f386e6ff39a58e> *writeFunction;
};

# Core::FullCopyFileOperations::moveDirectory::__l2::<lambda_63729b716bfee6649c0df9e0ffa86dbc>

struct __cppobj Core::FullCopyFileOperations::moveDirectory::__l2::<lambda_63729b716bfee6649c0df9e0ffa86dbc>
{
  Core::FileSystemImpl *pSourceTransaction;
  Core::FileSystemImpl *pTargetTransaction;
};

# Core::FullCopyFileOperations::copyDirectory::__l2::<lambda_0c455d7b69a190ba0738aacf96149c18>

struct __cppobj Core::FullCopyFileOperations::copyDirectory::__l2::<lambda_0c455d7b69a190ba0738aacf96149c18>
{
  Core::FileSystemImpl *pSourceTransaction;
  Core::FileSystemImpl *pTargetTransaction;
};

# Core::SFAT::ErrorEntry

struct Core::SFAT::ErrorEntry
{
  SFAT::ErrorCode mErrorCode;
  const char *mDescription;
};

# Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_115ac0af8a687b65188947b62b811966>

struct __cppobj __declspec(align(8)) Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_115ac0af8a687b65188947b62b811966>
{
  const char *message;
  const unsigned int e;
};

# Core::SFAT::SfatFile

struct __cppobj Core::SFAT::SfatFile : Core::FileImpl
{
  SFAT::FileHandle mFileHandle;
  Core::PathBuffer<std::string > mPath;
};

# Core::SFAT::SfatFile_vtbl

struct /*VFT*/ Core::SFAT::SfatFile_vtbl
{
  void (__fastcall *~FileImpl)(Core::FileImpl *this);
  Core::PathBuffer<std::string > *(__fastcall *_getPath)(Core::FileImpl *this, Core::PathBuffer<std::string > *result);
  unsigned __int64 (__fastcall *_getBlockSize)(Core::FileImpl *this);
  bool (__fastcall *_isOpen)(Core::FileImpl *this);
  Core::Result *(__fastcall *_close)(Core::FileImpl *this, Core::Result *result);
  Core::Result *(__fastcall *_read)(Core::FileImpl *this, Core::Result *result, void *, unsigned __int64, unsigned __int64 *);
  Core::Result *(__fastcall *_readExactly)(Core::FileImpl *this, Core::Result *result, void *, unsigned __int64);
  Core::Result *(__fastcall *_skip)(Core::FileImpl *this, Core::Result *result, unsigned __int64);
  Core::Result *(__fastcall *_readAtPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64, void *, unsigned __int64, unsigned __int64 *);
  Core::Result *(__fastcall *_getPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
  Core::Result *(__fastcall *_setPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64);
  Core::Result *(__fastcall *_write)(Core::FileImpl *this, Core::Result *result, const void *, unsigned __int64);
  Core::Result *(__fastcall *_flush)(Core::FileImpl *this, Core::Result *result);
  Core::Result *(__fastcall *_getSize)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
  Core::Result *(__fastcall *_getRemainingSize)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
};

# Core::SFAT::SfatFileSystemImpl

struct __cppobj Core::SFAT::SfatFileSystemImpl : Core::FileSystemImpl
{
};

# Core::BasicDirectoryStorageArea<Core::SFAT::SfatFileSystemImpl>

struct __cppobj Core::BasicDirectoryStorageArea<Core::SFAT::SfatFileSystemImpl> : Core::FileStorageArea
{
};

# Core::BasicDirectoryStorageArea<Core::SFAT::SfatFileSystemImpl>_vtbl

struct /*VFT*/ Core::BasicDirectoryStorageArea<Core::SFAT::SfatFileSystemImpl>_vtbl
{
  void (__fastcall *~FileStorageArea)(Core::FileStorageArea *this);
  std::unique_ptr<Core::FileSystemImpl> *(__fastcall *createTransaction)(Core::FileStorageArea *this, std::unique_ptr<Core::FileSystemImpl> *result, Core::FileAccessType, Core::TransactionFlags);
  std::unique_ptr<Core::FileSystemImpl> *(__fastcall *createTransaction)(Core::FileStorageArea *this, std::unique_ptr<Core::FileSystemImpl> *result, Core::FileAccessType);
  bool (__fastcall *supportsSizeQuery)(Core::FileStorageArea *this);
  unsigned __int64 (__fastcall *getTotalSize)(Core::FileStorageArea *this);
  Core::Result *(__fastcall *getUsedSize)(Core::FileStorageArea *this, Core::Result *result, unsigned __int64 *);
  void (__fastcall *notifyChangeInFileSize)(Core::FileStorageArea *this, __int64, __int64);
  bool (__fastcall *handlesPendingWrites)(Core::FileStorageArea *this);
  void (__fastcall *informPendingWriteSize)(Core::FileStorageArea *this, const unsigned __int64 *, const bool);
  void (__fastcall *informStorageAreaCopy)(Core::FileStorageArea *this, const unsigned __int64 *);
  bool (__fastcall *supportsExtendSize)(Core::FileStorageArea *this);
  bool (__fastcall *canExtendSize)(Core::FileStorageArea *this);
  void (__fastcall *resetCanAttemptExtendSize)(Core::FileStorageArea *this);
  Core::Result *(__fastcall *getExtendSizeThreshold)(Core::FileStorageArea *this, Core::Result *result, unsigned __int64 *);
  void (__fastcall *attemptExtendSize)(Core::FileStorageArea *this, const __int64 *, std::function<void __cdecl(void)>);
  void (__fastcall *preemptiveExtendSize)(Core::FileStorageArea *this, const unsigned __int64, std::function<void __cdecl(void)>, std::function<void __cdecl(void)>);
  void (__fastcall *unloadFlatFileManifests)(Core::FileStorageArea *this, bool);
  bool (__fastcall *canFlushToDisk)(Core::FileStorageArea *this);
  bool (__fastcall *needsTick)(Core::FileStorageArea *this);
  void (__fastcall *tick)(Core::FileStorageArea *this);
  void (__fastcall *flushImmediately)(Core::FileStorageArea *this);
  void (__fastcall *enableFlushToDisk)(Core::FileStorageArea *this, bool);
  bool (__fastcall *checkCorrupt)(Core::FileStorageArea *this, bool);
  Core::FileStorageArea::FlushableLevelDbEnvType (__fastcall *getFlushableLevelDbEnvType)(Core::FileStorageArea *this);
  unsigned __int64 (__fastcall *getTransactionWriteSizeLimit)(Core::FileStorageArea *this);
  Core::Result *(__fastcall *setSaveDataIcon)(Core::FileStorageArea *this, Core::Result *result, const Core::Path *);
  bool (__fastcall *shouldAllowCommit)(Core::FileStorageArea *this);
  void (__fastcall *trackFileWriteSize)(Core::FileStorageArea *this, const unsigned __int64);
  Core::Result *(__fastcall *_commit)(Core::FileStorageArea *this, Core::Result *result);
  Core::Result *(__fastcall *_onTransactionsEmpty)(Core::FileStorageArea *this, Core::Result *result, bool);
  void (__fastcall *_onTeardown)(Core::FileStorageArea *this);
};

# Core::SFAT::SfatFileStorageArea

struct __cppobj Core::SFAT::SfatFileStorageArea : Core::BasicDirectoryStorageArea<Core::SFAT::SfatFileSystemImpl>
{
  std::unique_ptr<SFAT::SplitFATFileStorage> mSfatFileStorage;
};

# Core::SFAT::SfatFileStorageArea_vtbl

struct /*VFT*/ Core::SFAT::SfatFileStorageArea_vtbl
{
  void (__fastcall *~FileStorageArea)(Core::FileStorageArea *this);
  std::unique_ptr<Core::FileSystemImpl> *(__fastcall *createTransaction)(Core::FileStorageArea *this, std::unique_ptr<Core::FileSystemImpl> *result, Core::FileAccessType, Core::TransactionFlags);
  std::unique_ptr<Core::FileSystemImpl> *(__fastcall *createTransaction)(Core::FileStorageArea *this, std::unique_ptr<Core::FileSystemImpl> *result, Core::FileAccessType);
  bool (__fastcall *supportsSizeQuery)(Core::FileStorageArea *this);
  unsigned __int64 (__fastcall *getTotalSize)(Core::FileStorageArea *this);
  Core::Result *(__fastcall *getUsedSize)(Core::FileStorageArea *this, Core::Result *result, unsigned __int64 *);
  void (__fastcall *notifyChangeInFileSize)(Core::FileStorageArea *this, __int64, __int64);
  bool (__fastcall *handlesPendingWrites)(Core::FileStorageArea *this);
  void (__fastcall *informPendingWriteSize)(Core::FileStorageArea *this, const unsigned __int64 *, const bool);
  void (__fastcall *informStorageAreaCopy)(Core::FileStorageArea *this, const unsigned __int64 *);
  bool (__fastcall *supportsExtendSize)(Core::FileStorageArea *this);
  bool (__fastcall *canExtendSize)(Core::FileStorageArea *this);
  void (__fastcall *resetCanAttemptExtendSize)(Core::FileStorageArea *this);
  Core::Result *(__fastcall *getExtendSizeThreshold)(Core::FileStorageArea *this, Core::Result *result, unsigned __int64 *);
  void (__fastcall *attemptExtendSize)(Core::FileStorageArea *this, const __int64 *, std::function<void __cdecl(void)>);
  void (__fastcall *preemptiveExtendSize)(Core::FileStorageArea *this, const unsigned __int64, std::function<void __cdecl(void)>, std::function<void __cdecl(void)>);
  void (__fastcall *unloadFlatFileManifests)(Core::FileStorageArea *this, bool);
  bool (__fastcall *canFlushToDisk)(Core::FileStorageArea *this);
  bool (__fastcall *needsTick)(Core::FileStorageArea *this);
  void (__fastcall *tick)(Core::FileStorageArea *this);
  void (__fastcall *flushImmediately)(Core::FileStorageArea *this);
  void (__fastcall *enableFlushToDisk)(Core::FileStorageArea *this, bool);
  bool (__fastcall *checkCorrupt)(Core::FileStorageArea *this, bool);
  Core::FileStorageArea::FlushableLevelDbEnvType (__fastcall *getFlushableLevelDbEnvType)(Core::FileStorageArea *this);
  unsigned __int64 (__fastcall *getTransactionWriteSizeLimit)(Core::FileStorageArea *this);
  Core::Result *(__fastcall *setSaveDataIcon)(Core::FileStorageArea *this, Core::Result *result, const Core::Path *);
  bool (__fastcall *shouldAllowCommit)(Core::FileStorageArea *this);
  void (__fastcall *trackFileWriteSize)(Core::FileStorageArea *this, const unsigned __int64);
  Core::Result *(__fastcall *_commit)(Core::FileStorageArea *this, Core::Result *result);
  Core::Result *(__fastcall *_onTransactionsEmpty)(Core::FileStorageArea *this, Core::Result *result, bool);
  void (__fastcall *_onTeardown)(Core::FileStorageArea *this);
};

# Core::SFAT::SfatFileSystemImpl::_iterateOverDirectory::__l2::<lambda_a82d3d9063de5ea50a256be6dc32ee0b>

struct __cppobj Core::SFAT::SfatFileSystemImpl::_iterateOverDirectory::__l2::<lambda_a82d3d9063de5ea50a256be6dc32ee0b>
{
  _BYTE flags[8];
  std::function<Core::Result __cdecl(Core::DirectoryIterationItem const &)> iterateFunction;
};

# Core::transferDirectory::__l2::<lambda_0b8f75ee91466c4b5ab2f43f74ac88d0>

struct __cppobj Core::transferDirectory::__l2::<lambda_0b8f75ee91466c4b5ab2f43f74ac88d0>
{
  const Core::Path sourceDirectoryPath;
  const Core::Path targetDirectoryPath;
  Core::FileSystemImpl *pTargetTransaction;
  const std::function<Core::Result __cdecl(Core::Path const &,Core::Path const &)> *fileTransferFunction;
};

# Core::WriteBufferedFileStorageArea

struct __cppobj __declspec(align(8)) Core::WriteBufferedFileStorageArea : Core::FileStorageArea
{
  std::weak_ptr<Core::FileStorageArea> mTargetStorageArea;
  std::shared_ptr<Core::MemoryFileSystem> mMemoryFileSystem;
  std::unordered_set<Core::PathBuffer<std::string >> mDiskFilesMarkedForDelete;
  std::mutex mDiskFilesMarkedForDeleteMutex;
  std::vector<Core::PathBuffer<std::string >> mIgnoredDirectories;
  bool mBufferEnabled;
  bool mHadWritesWhileDisabled;
  bool mDirectoryStructureReady;
};

# Core::WriteBufferedFileStorageArea_vtbl

struct /*VFT*/ Core::WriteBufferedFileStorageArea_vtbl
{
  void (__fastcall *~FileStorageArea)(Core::FileStorageArea *this);
  std::unique_ptr<Core::FileSystemImpl> *(__fastcall *createTransaction)(Core::FileStorageArea *this, std::unique_ptr<Core::FileSystemImpl> *result, Core::FileAccessType, Core::TransactionFlags);
  std::unique_ptr<Core::FileSystemImpl> *(__fastcall *createTransaction)(Core::FileStorageArea *this, std::unique_ptr<Core::FileSystemImpl> *result, Core::FileAccessType);
  bool (__fastcall *supportsSizeQuery)(Core::FileStorageArea *this);
  unsigned __int64 (__fastcall *getTotalSize)(Core::FileStorageArea *this);
  Core::Result *(__fastcall *getUsedSize)(Core::FileStorageArea *this, Core::Result *result, unsigned __int64 *);
  void (__fastcall *notifyChangeInFileSize)(Core::FileStorageArea *this, __int64, __int64);
  bool (__fastcall *handlesPendingWrites)(Core::FileStorageArea *this);
  void (__fastcall *informPendingWriteSize)(Core::FileStorageArea *this, const unsigned __int64 *, const bool);
  void (__fastcall *informStorageAreaCopy)(Core::FileStorageArea *this, const unsigned __int64 *);
  bool (__fastcall *supportsExtendSize)(Core::FileStorageArea *this);
  bool (__fastcall *canExtendSize)(Core::FileStorageArea *this);
  void (__fastcall *resetCanAttemptExtendSize)(Core::FileStorageArea *this);
  Core::Result *(__fastcall *getExtendSizeThreshold)(Core::FileStorageArea *this, Core::Result *result, unsigned __int64 *);
  void (__fastcall *attemptExtendSize)(Core::FileStorageArea *this, const __int64 *, std::function<void __cdecl(void)>);
  void (__fastcall *preemptiveExtendSize)(Core::FileStorageArea *this, const unsigned __int64, std::function<void __cdecl(void)>, std::function<void __cdecl(void)>);
  void (__fastcall *unloadFlatFileManifests)(Core::FileStorageArea *this, bool);
  bool (__fastcall *canFlushToDisk)(Core::FileStorageArea *this);
  bool (__fastcall *needsTick)(Core::FileStorageArea *this);
  void (__fastcall *tick)(Core::FileStorageArea *this);
  void (__fastcall *flushImmediately)(Core::FileStorageArea *this);
  void (__fastcall *enableFlushToDisk)(Core::FileStorageArea *this, bool);
  bool (__fastcall *checkCorrupt)(Core::FileStorageArea *this, bool);
  Core::FileStorageArea::FlushableLevelDbEnvType (__fastcall *getFlushableLevelDbEnvType)(Core::FileStorageArea *this);
  unsigned __int64 (__fastcall *getTransactionWriteSizeLimit)(Core::FileStorageArea *this);
  Core::Result *(__fastcall *setSaveDataIcon)(Core::FileStorageArea *this, Core::Result *result, const Core::Path *);
  bool (__fastcall *shouldAllowCommit)(Core::FileStorageArea *this);
  void (__fastcall *trackFileWriteSize)(Core::FileStorageArea *this, const unsigned __int64);
  Core::Result *(__fastcall *_commit)(Core::FileStorageArea *this, Core::Result *result);
  Core::Result *(__fastcall *_onTransactionsEmpty)(Core::FileStorageArea *this, Core::Result *result, bool);
  void (__fastcall *_onTeardown)(Core::FileStorageArea *this);
};

# Core::WriteBufferedTransaction

struct __cppobj Core::WriteBufferedTransaction : Core::FileSystemImpl
{
  std::shared_ptr<Core::MemoryFileSystem> mMemoryFileSystem;
  std::unique_ptr<Core::FileSystemImpl> mTargetFileSystem;
  std::vector<Core::PathBuffer<std::string >> mOpenWriteFiles;
  std::weak_ptr<Core::WriteBufferedFileStorageArea> mWriteBufferedStorageArea;
};

# Core::WriteBufferedTransaction::DirectoryItem

struct __cppobj Core::WriteBufferedTransaction::DirectoryItem
{
  Core::PathBuffer<Core::StackString<char,1024> > fullPathStr;
  unsigned __int64 fileSize;
  _BYTE fileType[4];
  Core::PathBuffer<Core::StackString<char,1024> > name;
};

# Core::WriteBufferedTransaction::_iterateOverDirectory::__l2::<lambda_6b73c3de54929890327bac627459521c>

struct __cppobj Core::WriteBufferedTransaction::_iterateOverDirectory::__l2::<lambda_6b73c3de54929890327bac627459521c>
{
  Core::DirectoryIterationFlags *flags;
  std::vector<Core::WriteBufferedTransaction::DirectoryItem> *directoryItems;
};

# Core::WriteBufferedTransaction::_iterateOverDirectory::__l11::<lambda_1946e1bc9bef338c903cddf8e9ecbe9d>

struct __cppobj Core::WriteBufferedTransaction::_iterateOverDirectory::__l11::<lambda_1946e1bc9bef338c903cddf8e9ecbe9d>
{
  Core::WriteBufferedTransaction *const __this;
  Core::DirectoryIterationFlags *flags;
  std::vector<Core::WriteBufferedTransaction::DirectoryItem> *directoryItems;
};

# Core::WriteBufferedTransaction::_renameDirectory::__l25::<lambda_d10a9b1d098dbe6b698afffa88c6ee9d>

struct __cppobj Core::WriteBufferedTransaction::_renameDirectory::__l25::<lambda_d10a9b1d098dbe6b698afffa88c6ee9d>
{
  Core::WriteBufferedTransaction *const __this;
};

# Core::WriteBufferedTransaction::_renameDirectory::__l28::<lambda_4544addd68b1faf00a855c5c60197d9d>

struct __cppobj Core::WriteBufferedTransaction::_renameDirectory::__l28::<lambda_4544addd68b1faf00a855c5c60197d9d>
{
  Core::WriteBufferedTransaction *const __this;
};

# Core::WriteBufferedTransaction::_deleteDirectoryAndContentsRecursively::__l14::<lambda_fa0a0e70c3ebc912bcd217758531fa0b>

struct __cppobj Core::WriteBufferedTransaction::_deleteDirectoryAndContentsRecursively::__l14::<lambda_fa0a0e70c3ebc912bcd217758531fa0b>
{
  Core::WriteBufferedTransaction *const __this;
};

# Core::StorageAreaState::_clearExtendDiskSpaceEvent::__l5::<lambda_07efab0bb5f898358436b60daeaa289b>

struct __cppobj Core::StorageAreaState::_clearExtendDiskSpaceEvent::__l5::<lambda_07efab0bb5f898358436b60daeaa289b>
{
};

# Core::StorageAreaState::_notifyExtendDiskSpaceEvent::__l5::<lambda_a4856f32bd108e8f97b68e0a06308ea5>

struct __cppobj Core::StorageAreaState::_notifyExtendDiskSpaceEvent::__l5::<lambda_a4856f32bd108e8f97b68e0a06308ea5>
{
  Core::StorageAreaState *const __this;
};

# Core::TreeChildCompare

struct __cppobj Core::TreeChildCompare
{
};

# Core::WriteBufferedFileStorageArea::_copyDirectoryStructureFromTarget::__l5::<lambda_60c3af1d2d583a26e7943e0574384c1c>

struct __cppobj Core::WriteBufferedFileStorageArea::_copyDirectoryStructureFromTarget::__l5::<lambda_60c3af1d2d583a26e7943e0574384c1c>
{
  Core::WriteBufferedFileStorageArea *const __this;
};

# Core::WriteBufferedFileStorageArea::flushImmediately::__l8::<lambda_cd7f7f2fa1b556c0b87993fce14d35c3>

struct __cppobj Core::WriteBufferedFileStorageArea::flushImmediately::__l8::<lambda_cd7f7f2fa1b556c0b87993fce14d35c3>
{
  Core::WriteBufferedFileStorageArea *const __this;
  Core::FileSystemImpl *flushTransaction;
  std::unordered_set<Core::PathBuffer<std::string >> *diskFilesToDelete;
};

# Core::WriteBufferedFileStorageArea::flushImmediately::__l5::<lambda_ff331816598526d1badf1539d609af7a>

struct __cppobj Core::WriteBufferedFileStorageArea::flushImmediately::__l5::<lambda_ff331816598526d1badf1539d609af7a>
{
  unsigned __int64 *bytesWrittenInMemory;
};

# Core::ZipUtils::ZipProgressList::getTotal::__l2::<lambda_25900bcfbf169194d0e83c45c7ac1579>

struct __cppobj Core::ZipUtils::ZipProgressList::getTotal::__l2::<lambda_25900bcfbf169194d0e83c45c7ac1579>
{
};

# Core::ZipUtils::ZipProgressList::getCount::__l2::<lambda_58228bab7440a3f1d9c1eb8c42d55823>

struct __cppobj Core::ZipUtils::ZipProgressList::getCount::__l2::<lambda_58228bab7440a3f1d9c1eb8c42d55823>
{
};

# Core::ZipUtils::zip::__l2::<lambda_5ae46d1d73114876d052dff181869b96>

struct __cppobj Core::ZipUtils::zip::__l2::<lambda_5ae46d1d73114876d052dff181869b96>
{
  const unsigned __int64 folderPathSize;
};

# Core::File_c

struct __cppobj Core::File_c : Core::FileImpl
{
  _iobuf *mpFile;
  Core::PathBuffer<std::string > mPath;
};

# Core::File_c_vtbl

struct /*VFT*/ Core::File_c_vtbl
{
  void (__fastcall *~FileImpl)(Core::FileImpl *this);
  Core::PathBuffer<std::string > *(__fastcall *_getPath)(Core::FileImpl *this, Core::PathBuffer<std::string > *result);
  unsigned __int64 (__fastcall *_getBlockSize)(Core::FileImpl *this);
  bool (__fastcall *_isOpen)(Core::FileImpl *this);
  Core::Result *(__fastcall *_close)(Core::FileImpl *this, Core::Result *result);
  Core::Result *(__fastcall *_read)(Core::FileImpl *this, Core::Result *result, void *, unsigned __int64, unsigned __int64 *);
  Core::Result *(__fastcall *_readExactly)(Core::FileImpl *this, Core::Result *result, void *, unsigned __int64);
  Core::Result *(__fastcall *_skip)(Core::FileImpl *this, Core::Result *result, unsigned __int64);
  Core::Result *(__fastcall *_readAtPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64, void *, unsigned __int64, unsigned __int64 *);
  Core::Result *(__fastcall *_getPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
  Core::Result *(__fastcall *_setPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64);
  Core::Result *(__fastcall *_write)(Core::FileImpl *this, Core::Result *result, const void *, unsigned __int64);
  Core::Result *(__fastcall *_flush)(Core::FileImpl *this, Core::Result *result);
  Core::Result *(__fastcall *_getSize)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
  Core::Result *(__fastcall *_getRemainingSize)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
};

# Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_a2b241e200a49d1bccbd5c4e5c9f9415>

struct __cppobj __declspec(align(8)) Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_a2b241e200a49d1bccbd5c4e5c9f9415>
{
  const char *message;
  const int e;
};

# Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_96b9092369a51fb5efabc26a9bf6ab18>

struct __cppobj __declspec(align(8)) Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_96b9092369a51fb5efabc26a9bf6ab18>
{
  const char *message;
  const int e;
};

# Core::FileSystem_generic

struct __cppobj Core::FileSystem_generic : Core::FileSystemImpl
{
};

# Core::Result::merge::__l2::<lambda_e9e7d2df6c85edda2ddb787d0d054ab3>

struct __cppobj Core::Result::merge::__l2::<lambda_e9e7d2df6c85edda2ddb787d0d054ab3>
{
  Core::Result r1;
  Core::Result r2;
};

# Core::Result::makeFailureWithStringLiteral::__l2::<lambda_6786cd360627176e361e4f99fe7e0af3>

struct __cppobj Core::Result::makeFailureWithStringLiteral::__l2::<lambda_6786cd360627176e361e4f99fe7e0af3>
{
  const char *message;
};

# Core::Result::makeFailure::__l2::<lambda_c392752b38699bff0935fb2fc585a36b>

struct __cppobj Core::Result::makeFailure::__l2::<lambda_c392752b38699bff0935fb2fc585a36b>
{
  std::string message;
};

# Core::File_c_windows

struct __cppobj Core::File_c_windows : Core::FileImpl
{
  _iobuf *mpFile;
  Core::PathBuffer<std::string > mPath;
};

# Core::File_c_windows_vtbl

struct /*VFT*/ Core::File_c_windows_vtbl
{
  void (__fastcall *~FileImpl)(Core::FileImpl *this);
  Core::PathBuffer<std::string > *(__fastcall *_getPath)(Core::FileImpl *this, Core::PathBuffer<std::string > *result);
  unsigned __int64 (__fastcall *_getBlockSize)(Core::FileImpl *this);
  bool (__fastcall *_isOpen)(Core::FileImpl *this);
  Core::Result *(__fastcall *_close)(Core::FileImpl *this, Core::Result *result);
  Core::Result *(__fastcall *_read)(Core::FileImpl *this, Core::Result *result, void *, unsigned __int64, unsigned __int64 *);
  Core::Result *(__fastcall *_readExactly)(Core::FileImpl *this, Core::Result *result, void *, unsigned __int64);
  Core::Result *(__fastcall *_skip)(Core::FileImpl *this, Core::Result *result, unsigned __int64);
  Core::Result *(__fastcall *_readAtPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64, void *, unsigned __int64, unsigned __int64 *);
  Core::Result *(__fastcall *_getPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
  Core::Result *(__fastcall *_setPosition)(Core::FileImpl *this, Core::Result *result, unsigned __int64);
  Core::Result *(__fastcall *_write)(Core::FileImpl *this, Core::Result *result, const void *, unsigned __int64);
  Core::Result *(__fastcall *_flush)(Core::FileImpl *this, Core::Result *result);
  Core::Result *(__fastcall *_getSize)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
  Core::Result *(__fastcall *_getRemainingSize)(Core::FileImpl *this, Core::Result *result, unsigned __int64 *);
};

# Core::File_c_windows::_open::__l17::<lambda_a8b9f687c55d415a0f7b6f21070569be>

struct __cppobj __declspec(align(4)) Core::File_c_windows::_open::__l17::<lambda_a8b9f687c55d415a0f7b6f21070569be>
{
  const int openResult;
  Core::FileOpenMode fileOpenMode;
};

# Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_c9723e418416f6c36c8c8db8211211ed>

struct __cppobj Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_c9723e418416f6c36c8c8db8211211ed>
{
  const char *message;
  const __int64 e;
};

# Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_ec96fdc9438468c3d7f130f9629bfab3>

struct __cppobj Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_ec96fdc9438468c3d7f130f9629bfab3>
{
  const char *message;
  const unsigned __int64 e;
};

# Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_7e2f894038c1062f73c8be3813ac181e>

struct __cppobj __declspec(align(8)) Core::Result::makeFailureWithStringLiteralAndErrorCode::__l2::<lambda_7e2f894038c1062f73c8be3813ac181e>
{
  const char *message;
  const unsigned int e;
};

# CrashDumpLogSectionHeader

struct CrashDumpLogSectionHeader
{
  char mItemName[16];
  unsigned int mItemCount;
  unsigned int mItemSizeInBytes;
  unsigned int mItemFormatSizeInBytes;
};

# CrashDumpLogSectionHeaderImpl

struct __cppobj CrashDumpLogSectionHeaderImpl : CrashDumpLogSectionHeader
{
};

# CryptoUtils::getDirectroyChecksum::__l2::<lambda_f009b2a82a478edd33dcfe102076727a>

struct __cppobj CryptoUtils::getDirectroyChecksum::__l2::<lambda_f009b2a82a478edd33dcfe102076727a>
{
  Crypto::Hash::Hash *shaHash;
};

# Crypto::Asn1::Asn1Reader

struct __cppobj Crypto::Asn1::Asn1Reader
{
  const unsigned __int8 *mStart;
  const unsigned __int8 *mCurrent;
  const unsigned __int8 *mEnd;
  Crypto::Asn1::Asn1Type mReadType;
  int mReadLength;
};

# Crypto::Asymmetric::OpenSSLInterface

struct __cppobj Crypto::Asymmetric::OpenSSLInterface : Crypto::Asymmetric::ISystemInterface
{
  Crypto::Asymmetric::System mSystem;
  Crypto::Asymmetric::OpenSSLInterface::SystemType mSystemType;
  unsigned int mKeyBits;
  unsigned int mKeyExponent;
};

# Crypto::Asymmetric::OpenSSLInterface_vtbl

struct /*VFT*/ Crypto::Asymmetric::OpenSSLInterface_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Asymmetric::ISystemInterface *this);
  bool (__fastcall *generateKeyPair)(Crypto::Asymmetric::ISystemInterface *this, std::string *, std::string *);
  std::string *(__fastcall *encryptData)(Crypto::Asymmetric::ISystemInterface *this, std::string *result, const std::string *, const std::string *, Crypto::Asymmetric::Padding, Crypto::Asymmetric::PubKeyFormat);
  std::string *(__fastcall *decryptData)(Crypto::Asymmetric::ISystemInterface *this, std::string *result, const std::string *, const std::string *, Crypto::Asymmetric::Padding);
  std::string *(__fastcall *signData)(Crypto::Asymmetric::ISystemInterface *this, std::string *result, const std::string *, const std::string *, Crypto::Hash::HashType);
  bool (__fastcall *verifyData)(Crypto::Asymmetric::ISystemInterface *this, const std::string *, const std::string *, const std::string *, Crypto::Hash::HashType);
  std::string *(__fastcall *computeSharedSecret)(Crypto::Asymmetric::ISystemInterface *this, std::string *result, const std::string *, const std::string *);
  bool (__fastcall *ECCompressedKeyToPoint)(Crypto::Asymmetric::ISystemInterface *this, const std::string *, std::vector<unsigned char> *, std::vector<unsigned char> *);
  std::string *(__fastcall *getSystemAsString)(Crypto::Asymmetric::ISystemInterface *this, std::string *result);
};

# Crypto::Asymmetric::NullSSLInterface

struct __cppobj __declspec(align(8)) Crypto::Asymmetric::NullSSLInterface : Crypto::Asymmetric::ISystemInterface
{
  Crypto::Asymmetric::System mSystem;
};

# Crypto::Asymmetric::NullSSLInterface_vtbl

struct /*VFT*/ Crypto::Asymmetric::NullSSLInterface_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Asymmetric::ISystemInterface *this);
  bool (__fastcall *generateKeyPair)(Crypto::Asymmetric::ISystemInterface *this, std::string *, std::string *);
  std::string *(__fastcall *encryptData)(Crypto::Asymmetric::ISystemInterface *this, std::string *result, const std::string *, const std::string *, Crypto::Asymmetric::Padding, Crypto::Asymmetric::PubKeyFormat);
  std::string *(__fastcall *decryptData)(Crypto::Asymmetric::ISystemInterface *this, std::string *result, const std::string *, const std::string *, Crypto::Asymmetric::Padding);
  std::string *(__fastcall *signData)(Crypto::Asymmetric::ISystemInterface *this, std::string *result, const std::string *, const std::string *, Crypto::Hash::HashType);
  bool (__fastcall *verifyData)(Crypto::Asymmetric::ISystemInterface *this, const std::string *, const std::string *, const std::string *, Crypto::Hash::HashType);
  std::string *(__fastcall *computeSharedSecret)(Crypto::Asymmetric::ISystemInterface *this, std::string *result, const std::string *, const std::string *);
  bool (__fastcall *ECCompressedKeyToPoint)(Crypto::Asymmetric::ISystemInterface *this, const std::string *, std::vector<unsigned char> *, std::vector<unsigned char> *);
  std::string *(__fastcall *getSystemAsString)(Crypto::Asymmetric::ISystemInterface *this, std::string *result);
};

# Crypto::Certificate::ISystemInterface

struct __cppobj Crypto::Certificate::ISystemInterface
{
  Crypto::Certificate::ISystemInterface_vtbl *__vftable /*VFT*/;
};

# Crypto::Certificate::ISystemInterface_vtbl

struct /*VFT*/ Crypto::Certificate::ISystemInterface_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Certificate::ISystemInterface *this);
  std::string *(__fastcall *serialize)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Certificate::Encoding);
  std::string *(__fastcall *extractPublicKey)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Certificate::Encoding);
  std::string *(__fastcall *getIssuer)(Crypto::Certificate::ISystemInterface *this, std::string *result);
  bool (__fastcall *hasValidCertChain)(Crypto::Certificate::ISystemInterface *this);
  std::string *(__fastcall *generateCertificateThumbprint)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Hash::HashType, Crypto::Certificate::ThumbprintFormat);
  std::string *(__fastcall *generatePublicKeyThumbprint)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Hash::HashType, Crypto::Certificate::ThumbprintFormat);
};

# Crypto::Certificate::OpenSSLCertificateInterface

struct __cppobj Crypto::Certificate::OpenSSLCertificateInterface : Crypto::Certificate::ISystemInterface
{
  std::unique_ptr<x509_st,void (__cdecl*)(x509_st *)> mCertificate;
};

# Crypto::Certificate::OpenSSLCertificateInterface_vtbl

struct /*VFT*/ Crypto::Certificate::OpenSSLCertificateInterface_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Certificate::ISystemInterface *this);
  std::string *(__fastcall *serialize)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Certificate::Encoding);
  std::string *(__fastcall *extractPublicKey)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Certificate::Encoding);
  std::string *(__fastcall *getIssuer)(Crypto::Certificate::ISystemInterface *this, std::string *result);
  bool (__fastcall *hasValidCertChain)(Crypto::Certificate::ISystemInterface *this);
  std::string *(__fastcall *generateCertificateThumbprint)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Hash::HashType, Crypto::Certificate::ThumbprintFormat);
  std::string *(__fastcall *generatePublicKeyThumbprint)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Hash::HashType, Crypto::Certificate::ThumbprintFormat);
};

# Crypto::Certificate::Certificate

struct __cppobj Crypto::Certificate::Certificate : Crypto::Certificate::ISystemInterface
{
  std::unique_ptr<Crypto::Certificate::ISystemInterface> mInterface;
};

# Crypto::Certificate::Certificate_vtbl

struct /*VFT*/ Crypto::Certificate::Certificate_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Certificate::ISystemInterface *this);
  std::string *(__fastcall *serialize)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Certificate::Encoding);
  std::string *(__fastcall *extractPublicKey)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Certificate::Encoding);
  std::string *(__fastcall *getIssuer)(Crypto::Certificate::ISystemInterface *this, std::string *result);
  bool (__fastcall *hasValidCertChain)(Crypto::Certificate::ISystemInterface *this);
  std::string *(__fastcall *generateCertificateThumbprint)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Hash::HashType, Crypto::Certificate::ThumbprintFormat);
  std::string *(__fastcall *generatePublicKeyThumbprint)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Hash::HashType, Crypto::Certificate::ThumbprintFormat);
};

# Crypto::Certificate::NullSSLCertificateInterface

struct __cppobj Crypto::Certificate::NullSSLCertificateInterface : Crypto::Certificate::ISystemInterface
{
};

# Crypto::Certificate::NullSSLCertificateInterface_vtbl

struct /*VFT*/ Crypto::Certificate::NullSSLCertificateInterface_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Certificate::ISystemInterface *this);
  std::string *(__fastcall *serialize)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Certificate::Encoding);
  std::string *(__fastcall *extractPublicKey)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Certificate::Encoding);
  std::string *(__fastcall *getIssuer)(Crypto::Certificate::ISystemInterface *this, std::string *result);
  bool (__fastcall *hasValidCertChain)(Crypto::Certificate::ISystemInterface *this);
  std::string *(__fastcall *generateCertificateThumbprint)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Hash::HashType, Crypto::Certificate::ThumbprintFormat);
  std::string *(__fastcall *generatePublicKeyThumbprint)(Crypto::Certificate::ISystemInterface *this, std::string *result, Crypto::Hash::HashType, Crypto::Certificate::ThumbprintFormat);
};

# Crypto::Hash::OpenSSLHashInterface

struct __cppobj Crypto::Hash::OpenSSLHashInterface : Crypto::Hash::IHash
{
  Crypto::Hash::HashType mHashType;
  std::unique_ptr<evp_md_ctx_st,void (__cdecl*)(evp_md_ctx_st *)> mHashPointer;
};

# Crypto::Hash::OpenSSLHashInterface_vtbl

struct /*VFT*/ Crypto::Hash::OpenSSLHashInterface_vtbl
{
  void (__fastcall *~IHash)(Crypto::Hash::IHash *this);
  void (__fastcall *reset)(Crypto::Hash::IHash *this);
  void (__fastcall *update)(Crypto::Hash::IHash *this, const void *, unsigned int);
  void (__fastcall *final)(Crypto::Hash::IHash *this, unsigned __int8 *);
  unsigned __int64 (__fastcall *resultSize)(Crypto::Hash::IHash *this);
};

# Crypto::Hash::NullSSLHashInterface

struct __cppobj Crypto::Hash::NullSSLHashInterface : Crypto::Hash::IHash
{
  Crypto::Hash::md5 mMd5;
};

# Crypto::Hash::NullSSLHashInterface_vtbl

struct /*VFT*/ Crypto::Hash::NullSSLHashInterface_vtbl
{
  void (__fastcall *~IHash)(Crypto::Hash::IHash *this);
  void (__fastcall *reset)(Crypto::Hash::IHash *this);
  void (__fastcall *update)(Crypto::Hash::IHash *this, const void *, unsigned int);
  void (__fastcall *final)(Crypto::Hash::IHash *this, unsigned __int8 *);
  unsigned __int64 (__fastcall *resultSize)(Crypto::Hash::IHash *this);
};

# Crypto::Pkcs7::NullSSLpkcs7Interface

struct __cppobj Crypto::Pkcs7::NullSSLpkcs7Interface : Crypto::Pkcs7::ISystemInterface
{
};

# Crypto::Pkcs7::NullSSLpkcs7Interface_vtbl

struct /*VFT*/ Crypto::Pkcs7::NullSSLpkcs7Interface_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Pkcs7::ISystemInterface *this);
  std::vector<unsigned char> *(__fastcall *verifyAndReadPKCS7Data)(Crypto::Pkcs7::ISystemInterface *this, std::vector<unsigned char> *result, const std::string *);
};

# Crypto::Pkcs7::OpenSSLpkcs7Interface

struct __cppobj Crypto::Pkcs7::OpenSSLpkcs7Interface : Crypto::Pkcs7::ISystemInterface
{
};

# Crypto::Pkcs7::OpenSSLpkcs7Interface_vtbl

struct /*VFT*/ Crypto::Pkcs7::OpenSSLpkcs7Interface_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Pkcs7::ISystemInterface *this);
  std::vector<unsigned char> *(__fastcall *verifyAndReadPKCS7Data)(Crypto::Pkcs7::ISystemInterface *this, std::vector<unsigned char> *result, const std::string *);
};

# Crypto::Pkcs7::Pkcs7Verifier

struct __cppobj Crypto::Pkcs7::Pkcs7Verifier : Crypto::Pkcs7::ISystemInterface
{
  std::unique_ptr<Crypto::Pkcs7::ISystemInterface> mInterface;
};

# Crypto::Pkcs7::Pkcs7Verifier_vtbl

struct /*VFT*/ Crypto::Pkcs7::Pkcs7Verifier_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Pkcs7::ISystemInterface *this);
  std::vector<unsigned char> *(__fastcall *verifyAndReadPKCS7Data)(Crypto::Pkcs7::ISystemInterface *this, std::vector<unsigned char> *result, const std::string *);
};

# Crypto::Symmetric::NullSSLSymmetricInterface

struct __cppobj __declspec(align(8)) Crypto::Symmetric::NullSSLSymmetricInterface : Crypto::Symmetric::ISystemInterface
{
  Crypto::Symmetric::System mSystem;
};

# Crypto::Symmetric::NullSSLSymmetricInterface_vtbl

struct /*VFT*/ Crypto::Symmetric::NullSSLSymmetricInterface_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Symmetric::ISystemInterface *this);
  void (__fastcall *init)(Crypto::Symmetric::ISystemInterface *this, const std::string *, const std::string *);
  void (__fastcall *encrypt)(Crypto::Symmetric::ISystemInterface *this, const std::string *, std::string *);
  void (__fastcall *decrypt)(Crypto::Symmetric::ISystemInterface *this, const std::string *, std::string *);
  unsigned __int64 (__fastcall *getKeySize)(Crypto::Symmetric::ISystemInterface *this);
  unsigned __int64 (__fastcall *getBlockSize)(Crypto::Symmetric::ISystemInterface *this);
  unsigned __int64 (__fastcall *getEncryptionBufferSize)(Crypto::Symmetric::ISystemInterface *this, const unsigned __int64);
  bool (__fastcall *encryptToBuffer)(Crypto::Symmetric::ISystemInterface *this, const char *, const unsigned __int64, char *, const unsigned __int64, unsigned __int64 *);
};

# Crypto::Symmetric::OpenSSLSymmetricInterface

struct __cppobj Crypto::Symmetric::OpenSSLSymmetricInterface : Crypto::Symmetric::ISystemInterface
{
  Crypto::Symmetric::System mSystem;
  Crypto::Symmetric::OperationMode mMode;
  bool mIsBlockMode;
  std::unique_ptr<evp_cipher_ctx_st,void (__cdecl*)(evp_cipher_ctx_st *)> mEncryptionPointer;
  std::unique_ptr<evp_cipher_ctx_st,void (__cdecl*)(evp_cipher_ctx_st *)> mDecryptionPointer;
};

# Crypto::Symmetric::OpenSSLSymmetricInterface_vtbl

struct /*VFT*/ Crypto::Symmetric::OpenSSLSymmetricInterface_vtbl
{
  void (__fastcall *~ISystemInterface)(Crypto::Symmetric::ISystemInterface *this);
  void (__fastcall *init)(Crypto::Symmetric::ISystemInterface *this, const std::string *, const std::string *);
  void (__fastcall *encrypt)(Crypto::Symmetric::ISystemInterface *this, const std::string *, std::string *);
  void (__fastcall *decrypt)(Crypto::Symmetric::ISystemInterface *this, const std::string *, std::string *);
  unsigned __int64 (__fastcall *getKeySize)(Crypto::Symmetric::ISystemInterface *this);
  unsigned __int64 (__fastcall *getBlockSize)(Crypto::Symmetric::ISystemInterface *this);
  unsigned __int64 (__fastcall *getEncryptionBufferSize)(Crypto::Symmetric::ISystemInterface *this, const unsigned __int64);
  bool (__fastcall *encryptToBuffer)(Crypto::Symmetric::ISystemInterface *this, const char *, const unsigned __int64, char *, const unsigned __int64, unsigned __int64 *);
};

# CFF_EncodingRec_

struct CFF_EncodingRec_
{
  unsigned int format;
  unsigned int offset;
  unsigned int count;
  unsigned __int16 sids[256];
  unsigned __int16 codes[256];
};

# CFF_CharsetRec_

struct CFF_CharsetRec_
{
  unsigned int format;
  unsigned int offset;
  wchar_t *sids;
  wchar_t *cids;
  unsigned int max_cid;
  unsigned int num_glyphs;
};

# CFF_FontRecDictRec_

struct CFF_FontRecDictRec_
{
  unsigned int version;
  unsigned int notice;
  unsigned int copyright;
  unsigned int full_name;
  unsigned int family_name;
  unsigned int weight;
  unsigned __int8 is_fixed_pitch;
  int italic_angle;
  int underline_position;
  int underline_thickness;
  int paint_type;
  int charstring_type;
  FT_Matrix_ font_matrix;
  unsigned __int8 has_font_matrix;
  unsigned int units_per_em;
  FT_Vector_ font_offset;
  unsigned int unique_id;
  FT_BBox_ font_bbox;
  int stroke_width;
  unsigned int charset_offset;
  unsigned int encoding_offset;
  unsigned int charstrings_offset;
  unsigned int private_offset;
  unsigned int private_size;
  int synthetic_base;
  unsigned int embedded_postscript;
  unsigned int cid_registry;
  unsigned int cid_ordering;
  int cid_supplement;
  int cid_font_version;
  int cid_font_revision;
  int cid_font_type;
  unsigned int cid_count;
  unsigned int cid_uid_base;
  unsigned int cid_fd_array_offset;
  unsigned int cid_fd_select_offset;
  unsigned int cid_font_name;
  unsigned __int16 num_designs;
  unsigned __int16 num_axes;
  unsigned int vstore_offset;
  unsigned int maxstack;
};

# CFF_SubFontRec_

struct __declspec(align(8)) CFF_SubFontRec_
{
  CFF_FontRecDictRec_ font_dict;
  CFF_PrivateRec_ private_dict;
  CFF_BlendRec_ blend;
  unsigned int lenNDV;
  int *NDV;
  unsigned __int8 *blend_stack;
  unsigned __int8 *blend_top;
  unsigned int blend_used;
  unsigned int blend_alloc;
  CFF_IndexRec_ local_subrs_index;
  unsigned __int8 **local_subrs;
  unsigned int random;
};

# CFF_PrivateRec_

struct CFF_PrivateRec_
{
  unsigned __int8 num_blue_values;
  unsigned __int8 num_other_blues;
  unsigned __int8 num_family_blues;
  unsigned __int8 num_family_other_blues;
  int blue_values[14];
  int other_blues[10];
  int family_blues[14];
  int family_other_blues[10];
  int blue_scale;
  int blue_shift;
  int blue_fuzz;
  int standard_width;
  int standard_height;
  unsigned __int8 num_snap_widths;
  unsigned __int8 num_snap_heights;
  int snap_widths[13];
  int snap_heights[13];
  unsigned __int8 force_bold;
  int force_bold_threshold;
  int lenIV;
  int language_group;
  int expansion_factor;
  int initial_random_seed;
  unsigned int local_subrs_offset;
  int default_width;
  int nominal_width;
  unsigned int vsindex;
  CFF_SubFontRec_ *subfont;
};

# CFF_FontRec_

struct CFF_FontRec_
{
  FT_LibraryRec_ *library;
  FT_StreamRec_ *stream;
  FT_MemoryRec_ *memory;
  unsigned int base_offset;
  unsigned int num_faces;
  unsigned int num_glyphs;
  unsigned __int8 version_major;
  unsigned __int8 version_minor;
  unsigned __int8 header_size;
  unsigned int top_dict_length;
  unsigned __int8 cff2;
  CFF_IndexRec_ name_index;
  CFF_IndexRec_ top_dict_index;
  CFF_IndexRec_ global_subrs_index;
  CFF_EncodingRec_ encoding;
  CFF_CharsetRec_ charset;
  CFF_IndexRec_ charstrings_index;
  CFF_IndexRec_ font_dict_index;
  CFF_IndexRec_ private_index;
  CFF_IndexRec_ local_subrs_index;
  char *font_name;
  unsigned __int8 **global_subrs;
  unsigned int num_strings;
  unsigned __int8 **strings;
  unsigned __int8 *string_pool;
  unsigned int string_pool_size;
  CFF_SubFontRec_ top_font;
  unsigned int num_subfonts;
  CFF_SubFontRec_ *subfonts[256];
  CFF_FDSelectRec_ fd_select;
  PSHinter_Interface_ *pshinter;
  const FT_Service_PsCMapsRec_ *psnames;
  const void *cffload;
  PS_FontInfoRec_ *font_info;
  char *registry;
  char *ordering;
  FT_Generic_ cf2_instance;
  CFF_VStoreRec_ vstore;
  PS_FontExtraRec_ *font_extra;
};

# CFF_BlendRec_

struct CFF_BlendRec_
{
  unsigned __int8 builtBV;
  unsigned __int8 usedBV;
  CFF_FontRec_ *font;
  unsigned int lastVsindex;
  unsigned int lenNDV;
  int *lastNDV;
  unsigned int lenBV;
  int *BV;
};

# CFF_FDSelectRec_

struct __declspec(align(4)) CFF_FDSelectRec_
{
  unsigned __int8 format;
  unsigned int range_count;
  unsigned __int8 *data;
  unsigned int data_size;
  unsigned int cache_first;
  unsigned int cache_count;
  unsigned __int8 cache_fd;
};

# CFF_VarData_

struct CFF_VarData_
{
  unsigned int regionIdxCount;
  unsigned int *regionIndices;
};

# CFF_AxisCoords_

struct CFF_AxisCoords_
{
  int startCoord;
  int peakCoord;
  int endCoord;
};

# CFF_VarRegion_

struct CFF_VarRegion_
{
  CFF_AxisCoords_ *axisList;
};

# CFF_VStoreRec_

struct CFF_VStoreRec_
{
  unsigned int dataCount;
  CFF_VarData_ *varData;
  unsigned __int16 axisCount;
  unsigned int regionCount;
  CFF_VarRegion_ *varRegionList;
};

# CFF_GlyphSlotRec_

struct __declspec(align(8)) CFF_GlyphSlotRec_
{
  FT_GlyphSlotRec_ root;
  unsigned __int8 hint;
  unsigned __int8 scaled;
  int x_scale;
  int y_scale;
};

# CFF_Builder_

struct CFF_Builder_
{
  FT_MemoryRec_ *memory;
  TT_FaceRec_ *face;
  CFF_GlyphSlotRec_ *glyph;
  FT_GlyphLoaderRec_ *loader;
  FT_Outline_ *base;
  FT_Outline_ *current;
  int pos_x;
  int pos_y;
  FT_Vector_ left_bearing;
  FT_Vector_ advance;
  FT_BBox_ bbox;
  unsigned __int8 path_begun;
  unsigned __int8 load_points;
  unsigned __int8 no_recurse;
  unsigned __int8 metrics_only;
  void *hints_funcs;
  void *hints_globals;
  CFF_Builder_FuncsRec_ funcs;
};

# CFF_SizeRec_

struct __declspec(align(8)) CFF_SizeRec_
{
  FT_SizeRec_ root;
  unsigned int strike_index;
};

# CFF_Decoder_Zone_

struct CFF_Decoder_Zone_
{
  unsigned __int8 *base;
  unsigned __int8 *limit;
  unsigned __int8 *cursor;
};

# CFF_Decoder_

struct CFF_Decoder_
{
  CFF_Builder_ builder;
  CFF_FontRec_ *cff;
  int stack[49];
  int *top;
  CFF_Decoder_Zone_ zones[17];
  CFF_Decoder_Zone_ *zone;
  int flex_state;
  int num_flex_vectors;
  FT_Vector_ flex_vectors[7];
  int glyph_width;
  int nominal_width;
  unsigned __int8 read_width;
  unsigned __int8 width_only;
  int num_hints;
  int buildchar[32];
  unsigned int num_locals;
  unsigned int num_globals;
  int locals_bias;
  int globals_bias;
  unsigned __int8 **locals;
  unsigned __int8 **globals;
  unsigned __int8 **glyph_names;
  unsigned int num_glyphs;
  FT_Render_Mode_ hint_mode;
  unsigned __int8 seac;
  CFF_SubFontRec_ *current_subfont;
  int (__fastcall *get_glyph_callback)(TT_FaceRec_ *, unsigned int, unsigned __int8 **, unsigned int *);
  void (__fastcall *free_glyph_callback)(TT_FaceRec_ *, unsigned __int8 **, unsigned int);
};

# CFF_InternalRec_

struct CFF_InternalRec_
{
  PSH_GlobalsRec_ *topfont;
  PSH_GlobalsRec_ *subfonts[256];
};

# CFF_CMapStdRec_

struct CFF_CMapStdRec_
{
  FT_CMapRec_ cmap;
  wchar_t *gids;
};

# CID_FaceDictRec_

struct CID_FaceDictRec_
{
  PS_PrivateRec_ private_dict;
  unsigned int len_buildchar;
  int forcebold_threshold;
  int stroke_width;
  int expansion_factor;
  unsigned __int8 paint_type;
  unsigned __int8 font_type;
  FT_Matrix_ font_matrix;
  FT_Vector_ font_offset;
  unsigned int num_subrs;
  unsigned int subrmap_offset;
  int sd_bytes;
};

# CID_FaceInfoRec_

struct __declspec(align(8)) CID_FaceInfoRec_
{
  char *cid_font_name;
  int cid_version;
  int cid_font_type;
  char *registry;
  char *ordering;
  int supplement;
  PS_FontInfoRec_ font_info;
  FT_BBox_ font_bbox;
  unsigned int uid_base;
  int num_xuid;
  unsigned int xuid[16];
  unsigned int cidmap_offset;
  int fd_bytes;
  int gd_bytes;
  unsigned int cid_count;
  int num_dicts;
  CID_FaceDictRec_ *font_dicts;
  unsigned int data_offset;
};

# CID_SubrsRec_

struct CID_SubrsRec_
{
  int num_subrs;
  unsigned __int8 **code;
};

# CID_FaceRec_

struct CID_FaceRec_
{
  FT_FaceRec_ root;
  void *psnames;
  void *psaux;
  CID_FaceInfoRec_ cid;
  PS_FontExtraRec_ font_extra;
  CID_SubrsRec_ *subrs;
  void *pshinter;
  unsigned __int8 *binary_data;
  FT_StreamRec_ *cid_stream;
};

# CID_SizeRec_

struct __declspec(align(8)) CID_SizeRec_
{
  FT_SizeRec_ root;
  unsigned __int8 valid;
};

# CID_Loader_

struct __declspec(align(8)) CID_Loader_
{
  CID_Parser_ parser;
  int num_chars;
};

# CID_GlyphSlotRec_

struct __declspec(align(8)) CID_GlyphSlotRec_
{
  FT_GlyphSlotRec_ root;
  unsigned __int8 hint;
  unsigned __int8 scaled;
  int x_scale;
  int y_scale;
};

# CF2_OutlineCallbacksRec_

struct CF2_OutlineCallbacksRec_
{
  void (__fastcall *moveTo)(CF2_OutlineCallbacksRec_ *, CF2_CallbackParamsRec_ *const);
  void (__fastcall *lineTo)(CF2_OutlineCallbacksRec_ *, CF2_CallbackParamsRec_ *const);
  void (__fastcall *quadTo)(CF2_OutlineCallbacksRec_ *, CF2_CallbackParamsRec_ *const);
  void (__fastcall *cubeTo)(CF2_OutlineCallbacksRec_ *, CF2_CallbackParamsRec_ *const);
  int windingMomentum;
  FT_MemoryRec_ *memory;
  int *error;
};

# CF2_CallbackParamsRec_

struct CF2_CallbackParamsRec_
{
  FT_Vector_ pt0;
  FT_Vector_ pt1;
  FT_Vector_ pt2;
  FT_Vector_ pt3;
  int op;
};

# CF2_OutlineRec_

struct CF2_OutlineRec_
{
  CF2_OutlineCallbacksRec_ root;
  PS_Decoder_ *decoder;
};

# CF2_BlueRec_

struct __declspec(align(4)) CF2_BlueRec_
{
  int csBottomEdge;
  int csTopEdge;
  int csFlatEdge;
  int dsFlatEdge;
  unsigned __int8 bottomZone;
};

# CF2_BluesRec_

struct CF2_BluesRec_
{
  int scale;
  unsigned int count;
  unsigned __int8 suppressOvershoot;
  unsigned __int8 doEmBoxHints;
  int blueScale;
  int blueShift;
  int blueFuzz;
  int boost;
  CF2_HintRec_ emBoxTopEdge;
  CF2_HintRec_ emBoxBottomEdge;
  CF2_BlueRec_ zone[12];
};

# CF2_FontRec_

struct CF2_FontRec_
{
  FT_MemoryRec_ *memory;
  int error;
  unsigned __int8 isT1;
  unsigned __int8 isCFF2;
  int renderingFlags;
  CF2_Matrix_ currentTransform;
  CF2_Matrix_ innerTransform;
  CF2_Matrix_ outerTransform;
  int ppem;
  CFF_BlendRec_ blend;
  unsigned int vsindex;
  unsigned int lenNDV;
  int *NDV;
  int unitsPerEm;
  int syntheticEmboldeningAmountX;
  int syntheticEmboldeningAmountY;
  CF2_OutlineRec_ outline;
  PS_Decoder_ *decoder;
  CFF_SubFontRec_ *lastSubfont;
  unsigned __int8 hinted;
  unsigned __int8 darkened;
  unsigned __int8 stemDarkened;
  int darkenParams[8];
  int stdVW;
  int stdHW;
  int darkenX;
  int darkenY;
  unsigned __int8 reverseWinding;
  CF2_BluesRec_ blues;
  const FT_Service_CFFLoadRec_ *cffload;
};

# CF2_StemHintRec_

struct CF2_StemHintRec_
{
  unsigned __int8 used;
  int min;
  int max;
  int minDS;
  int maxDS;
};

# CF2_StackNumber_

struct CF2_StackNumber_
{
  union
  {
    int r;
    int f;
    int i;
  } u;
  CF2_NumberType_ type;
};

# CF2_StackRec_

struct __declspec(align(8)) CF2_StackRec_
{
  FT_MemoryRec_ *memory;
  int *error;
  CF2_StackNumber_ *buffer;
  CF2_StackNumber_ *top;
  unsigned int stackSize;
};

# CF2_HintMoveRec_

struct __declspec(align(8)) CF2_HintMoveRec_
{
  unsigned __int64 j;
  int moveUp;
};

# Cpal_

struct __declspec(align(8)) Cpal_
{
  unsigned __int16 version;
  unsigned __int16 num_colors;
  unsigned __int8 *colors;
  unsigned __int8 *color_indices;
  void *table;
  unsigned int table_size;
};

# Colr_

struct __declspec(align(8)) Colr_
{
  unsigned __int16 version;
  unsigned __int16 num_base_glyphs;
  unsigned __int16 num_layers;
  unsigned __int8 *base_glyphs;
  unsigned __int8 *layers;
  void *table;
  unsigned int table_size;
};

# cg::Blob

struct __cppobj cg::Blob
{
  std::unique_ptr<unsigned char [0]> mBlobData;
  unsigned __int64 mBlobSize;
};

# cg::DiskStorage<std::shared_ptr<cg::Blob> >

struct __cppobj cg::DiskStorage<std::shared_ptr<cg::Blob> >
{
  std::unordered_map<std::string,std::shared_ptr<cg::Blob>> mHashToBinaryMap;
  Core::PathBuffer<std::string > mSaveLocation;
  std::vector<cg::CacheLocation> mLoadLocations;
};

# cg::HLSLCompiler

struct __cppobj cg::HLSLCompiler
{
};

# Core::Profile::ProfileMultiSectionCPU::ProfileSectionSuspend

struct __cppobj Core::Profile::ProfileMultiSectionCPU::ProfileSectionSuspend
{
};

# Core::Profile::ProfileMultiSectionCPU

struct __cppobj Core::Profile::ProfileMultiSectionCPU
{
};

# cwrobject

struct __declspec(align(8)) cwrobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  _object *pool;
  __int64 *indices;
  _object *result;
  __int64 r;
  int stopped;
};

# countobject

struct countobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  __int64 cnt;
  _object *long_cnt;
  _object *long_step;
};

# cycleobject

struct __declspec(align(8)) cycleobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  _object *it;
  _object *saved;
  int firstpass;
};

# chainobject

struct chainobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  _object *source;
  _object *active;
};

# compressobject

struct compressobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  _object *data;
  _object *selectors;
};

# combinationsobject

struct __declspec(align(8)) combinationsobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  _object *pool;
  __int64 *indices;
  _object *result;
  __int64 r;
  int stopped;
};

# constdef

struct __declspec(align(8)) constdef
{
  char *name;
  int value;
};

# compobject

struct __declspec(align(8)) compobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  z_stream_s zst;
  _object *unused_data;
  _object *unconsumed_tail;
  int is_initialised;
};

# ConnectionObject

struct ConnectionObject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  void *handle;
  int flags;
  _object *weakreflist;
  char buffer[1024];
};

# classmethod

struct classmethod
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  _object *cm_callable;
};

# calliterobject

struct calliterobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  _object *it_callable;
  _object *it_sentinel;
};

# cmpwrapperobject

struct cmpwrapperobject
{
  __int64 ob_refcnt;
  _typeobject *ob_type;
  _object *func;
};

# compiler_unit

struct __declspec(align(8)) compiler_unit
{
  _symtable_entry *u_ste;
  _object *u_name;
  _object *u_consts;
  _object *u_names;
  _object *u_varnames;
  _object *u_cellvars;
  _object *u_freevars;
  _object *u_private;
  int u_argcount;
  basicblock_ *u_blocks;
  basicblock_ *u_curblock;
  int u_nfblocks;
  fblockinfo u_fblock[20];
  int u_firstlineno;
  int u_lineno;
  bool u_lineno_set;
};

# callobj

struct callobj
{
  void (__fastcall *func)(void *);
  void *arg;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,6,D3D12_SHADER_BYTECODE>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,6,D3D12_SHADER_BYTECODE>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_SHADER_BYTECODE _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,3,D3D12_SHADER_BYTECODE>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,3,D3D12_SHADER_BYTECODE>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_SHADER_BYTECODE _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<ID3D12RootSignature *,0,ID3D12RootSignature *>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<ID3D12RootSignature *,0,ID3D12RootSignature *>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  ID3D12RootSignature *_Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_PIPELINE_STATE_FLAGS,20,enum D3D12_PIPELINE_STATE_FLAGS>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_PIPELINE_STATE_FLAGS,20,enum D3D12_PIPELINE_STATE_FLAGS>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_PIPELINE_STATE_FLAGS _Inner;
};

# CD3DX12_SUBRESOURCE_TILING

struct __cppobj CD3DX12_SUBRESOURCE_TILING : D3D12_SUBRESOURCE_TILING
{
};

# CD3DX12_BLEND_DESC

struct __cppobj CD3DX12_BLEND_DESC : D3D12_BLEND_DESC
{
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_BLEND_DESC,8,CD3DX12_DEFAULT>

struct __cppobj __declspec(align(8)) CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_BLEND_DESC,8,CD3DX12_DEFAULT>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  CD3DX12_BLEND_DESC _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum DXGI_FORMAT,16,enum DXGI_FORMAT>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum DXGI_FORMAT,16,enum DXGI_FORMAT>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  DXGI_FORMAT _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE,13,enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE,13,enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_INDEX_BUFFER_STRIP_CUT_VALUE _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_CACHED_PIPELINE_STATE,19,D3D12_CACHED_PIPELINE_STATE>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_CACHED_PIPELINE_STATE,19,D3D12_CACHED_PIPELINE_STATE>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_CACHED_PIPELINE_STATE _Inner;
};

# CD3DX12_ROOT_PARAMETER1

struct __cppobj CD3DX12_ROOT_PARAMETER1 : D3D12_ROOT_PARAMETER1
{
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,5,D3D12_SHADER_BYTECODE>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,5,D3D12_SHADER_BYTECODE>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_SHADER_BYTECODE _Inner;
};

# CD3DX12_RANGE_UINT64

struct __cppobj CD3DX12_RANGE_UINT64 : D3D12_RANGE_UINT64
{
};

# CD3DX12_DEPTH_STENCIL_DESC1

struct __cppobj CD3DX12_DEPTH_STENCIL_DESC1 : D3D12_DEPTH_STENCIL_DESC1
{
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_DEPTH_STENCIL_DESC1,21,CD3DX12_DEFAULT>

struct __cppobj __declspec(align(8)) CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_DEPTH_STENCIL_DESC1,21,CD3DX12_DEFAULT>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  CD3DX12_DEPTH_STENCIL_DESC1 _Inner;
};

# CD3DX12_SUBRESOURCE_RANGE_UINT64

struct __cppobj CD3DX12_SUBRESOURCE_RANGE_UINT64 : D3D12_SUBRESOURCE_RANGE_UINT64
{
};

# CD3DX12_VIEW_INSTANCING_DESC

struct __cppobj CD3DX12_VIEW_INSTANCING_DESC : D3D12_VIEW_INSTANCING_DESC
{
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_VIEW_INSTANCING_DESC,22,CD3DX12_DEFAULT>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_VIEW_INSTANCING_DESC,22,CD3DX12_DEFAULT>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  CD3DX12_VIEW_INSTANCING_DESC _Inner;
};

# CD3DX12_TILED_RESOURCE_COORDINATE

struct __cppobj CD3DX12_TILED_RESOURCE_COORDINATE : D3D12_TILED_RESOURCE_COORDINATE
{
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,1,D3D12_SHADER_BYTECODE>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,1,D3D12_SHADER_BYTECODE>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_SHADER_BYTECODE _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<unsigned int,9,DefaultSampleMask>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<unsigned int,9,DefaultSampleMask>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  unsigned int _Inner;
};

# CD3DX12_SUBRESOURCE_FOOTPRINT

struct __cppobj CD3DX12_SUBRESOURCE_FOOTPRINT : D3D12_SUBRESOURCE_FOOTPRINT
{
};

# CD3DX12_GPU_DESCRIPTOR_HANDLE

struct __cppobj CD3DX12_GPU_DESCRIPTOR_HANDLE : D3D12_GPU_DESCRIPTOR_HANDLE
{
};

# CD3DX12_DESCRIPTOR_RANGE

struct __cppobj CD3DX12_DESCRIPTOR_RANGE : D3D12_DESCRIPTOR_RANGE
{
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_RT_FORMAT_ARRAY,15,D3D12_RT_FORMAT_ARRAY>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_RT_FORMAT_ARRAY,15,D3D12_RT_FORMAT_ARRAY>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_RT_FORMAT_ARRAY _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<unsigned int,18,unsigned int>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<unsigned int,18,unsigned int>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  unsigned int _Inner;
};

# CD3DX12_HEAP_PROPERTIES

struct __cppobj CD3DX12_HEAP_PROPERTIES : D3D12_HEAP_PROPERTIES
{
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,2,D3D12_SHADER_BYTECODE>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,2,D3D12_SHADER_BYTECODE>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_SHADER_BYTECODE _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_INPUT_LAYOUT_DESC,12,D3D12_INPUT_LAYOUT_DESC>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_INPUT_LAYOUT_DESC,12,D3D12_INPUT_LAYOUT_DESC>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_INPUT_LAYOUT_DESC _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_PRIMITIVE_TOPOLOGY_TYPE,14,enum D3D12_PRIMITIVE_TOPOLOGY_TYPE>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_PRIMITIVE_TOPOLOGY_TYPE,14,enum D3D12_PRIMITIVE_TOPOLOGY_TYPE>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_PRIMITIVE_TOPOLOGY_TYPE _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_STREAM_OUTPUT_DESC,7,D3D12_STREAM_OUTPUT_DESC>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_STREAM_OUTPUT_DESC,7,D3D12_STREAM_OUTPUT_DESC>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_STREAM_OUTPUT_DESC _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,4,D3D12_SHADER_BYTECODE>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,4,D3D12_SHADER_BYTECODE>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  D3D12_SHADER_BYTECODE _Inner;
};

# CD3DX12_RASTERIZER_DESC

struct __cppobj CD3DX12_RASTERIZER_DESC : D3D12_RASTERIZER_DESC
{
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_RASTERIZER_DESC,10,CD3DX12_DEFAULT>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_RASTERIZER_DESC,10,CD3DX12_DEFAULT>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  CD3DX12_RASTERIZER_DESC _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<DXGI_SAMPLE_DESC,17,DefaultSampleDesc>

struct __cppobj __declspec(align(8)) CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<DXGI_SAMPLE_DESC,17,DefaultSampleDesc>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  DXGI_SAMPLE_DESC _Inner;
};

# CD3DX12_PIPELINE_STATE_STREAM1

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM1
{
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_PIPELINE_STATE_FLAGS,20,enum D3D12_PIPELINE_STATE_FLAGS> Flags;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<unsigned int,18,unsigned int> NodeMask;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<ID3D12RootSignature *,0,ID3D12RootSignature *> pRootSignature;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_INPUT_LAYOUT_DESC,12,D3D12_INPUT_LAYOUT_DESC> InputLayout;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE,13,enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE> IBStripCutValue;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_PRIMITIVE_TOPOLOGY_TYPE,14,enum D3D12_PRIMITIVE_TOPOLOGY_TYPE> PrimitiveTopologyType;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,1,D3D12_SHADER_BYTECODE> VS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,5,D3D12_SHADER_BYTECODE> GS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_STREAM_OUTPUT_DESC,7,D3D12_STREAM_OUTPUT_DESC> StreamOutput;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,4,D3D12_SHADER_BYTECODE> HS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,3,D3D12_SHADER_BYTECODE> DS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,2,D3D12_SHADER_BYTECODE> PS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,6,D3D12_SHADER_BYTECODE> CS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_BLEND_DESC,8,CD3DX12_DEFAULT> BlendState;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_DEPTH_STENCIL_DESC1,21,CD3DX12_DEFAULT> DepthStencilState;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum DXGI_FORMAT,16,enum DXGI_FORMAT> DSVFormat;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_RASTERIZER_DESC,10,CD3DX12_DEFAULT> RasterizerState;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_RT_FORMAT_ARRAY,15,D3D12_RT_FORMAT_ARRAY> RTVFormats;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<DXGI_SAMPLE_DESC,17,DefaultSampleDesc> SampleDesc;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<unsigned int,9,DefaultSampleMask> SampleMask;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_CACHED_PIPELINE_STATE,19,D3D12_CACHED_PIPELINE_STATE> CachedPSO;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_VIEW_INSTANCING_DESC,22,CD3DX12_DEFAULT> ViewInstancingDesc;
};

# CD3DX12_RESOURCE_ALLOCATION_INFO

struct __cppobj CD3DX12_RESOURCE_ALLOCATION_INFO : D3D12_RESOURCE_ALLOCATION_INFO
{
};

# CD3DX12_RT_FORMAT_ARRAY

struct __cppobj CD3DX12_RT_FORMAT_ARRAY : D3D12_RT_FORMAT_ARRAY
{
};

# CD3DX12_PACKED_MIP_INFO

struct __cppobj CD3DX12_PACKED_MIP_INFO : D3D12_PACKED_MIP_INFO
{
};

# CD3DX12_DEPTH_STENCIL_DESC

struct __cppobj CD3DX12_DEPTH_STENCIL_DESC : D3D12_DEPTH_STENCIL_DESC
{
};

# CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_DEPTH_STENCIL_DESC,11,CD3DX12_DEFAULT>

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_DEPTH_STENCIL_DESC,11,CD3DX12_DEFAULT>
{
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE _Type;
  CD3DX12_DEPTH_STENCIL_DESC _Inner;
};

# CD3DX12_ROOT_DESCRIPTOR_TABLE

struct __cppobj CD3DX12_ROOT_DESCRIPTOR_TABLE : D3D12_ROOT_DESCRIPTOR_TABLE
{
};

# CD3DX12_RANGE

struct __cppobj CD3DX12_RANGE : D3D12_RANGE
{
};

# CD3DX12_ROOT_DESCRIPTOR1

struct __cppobj CD3DX12_ROOT_DESCRIPTOR1 : D3D12_ROOT_DESCRIPTOR1
{
};

# CD3DX12_CLEAR_VALUE

struct __cppobj CD3DX12_CLEAR_VALUE : D3D12_CLEAR_VALUE
{
};

# CD3DX12_RECT

struct __cppobj CD3DX12_RECT : tagRECT
{
};

# CD3DX12_PIPELINE_STATE_STREAM

struct __cppobj CD3DX12_PIPELINE_STATE_STREAM
{
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_PIPELINE_STATE_FLAGS,20,enum D3D12_PIPELINE_STATE_FLAGS> Flags;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<unsigned int,18,unsigned int> NodeMask;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<ID3D12RootSignature *,0,ID3D12RootSignature *> pRootSignature;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_INPUT_LAYOUT_DESC,12,D3D12_INPUT_LAYOUT_DESC> InputLayout;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE,13,enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE> IBStripCutValue;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum D3D12_PRIMITIVE_TOPOLOGY_TYPE,14,enum D3D12_PRIMITIVE_TOPOLOGY_TYPE> PrimitiveTopologyType;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,1,D3D12_SHADER_BYTECODE> VS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,5,D3D12_SHADER_BYTECODE> GS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_STREAM_OUTPUT_DESC,7,D3D12_STREAM_OUTPUT_DESC> StreamOutput;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,4,D3D12_SHADER_BYTECODE> HS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,3,D3D12_SHADER_BYTECODE> DS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,2,D3D12_SHADER_BYTECODE> PS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_SHADER_BYTECODE,6,D3D12_SHADER_BYTECODE> CS;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_BLEND_DESC,8,CD3DX12_DEFAULT> BlendState;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_DEPTH_STENCIL_DESC1,21,CD3DX12_DEFAULT> DepthStencilState;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<enum DXGI_FORMAT,16,enum DXGI_FORMAT> DSVFormat;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<CD3DX12_RASTERIZER_DESC,10,CD3DX12_DEFAULT> RasterizerState;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_RT_FORMAT_ARRAY,15,D3D12_RT_FORMAT_ARRAY> RTVFormats;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<DXGI_SAMPLE_DESC,17,DefaultSampleDesc> SampleDesc;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<unsigned int,9,DefaultSampleMask> SampleMask;
  CD3DX12_PIPELINE_STATE_STREAM_SUBOBJECT<D3D12_CACHED_PIPELINE_STATE,19,D3D12_CACHED_PIPELINE_STATE> CachedPSO;
};

# CD3DX12_SHADER_BYTECODE

struct __cppobj CD3DX12_SHADER_BYTECODE : D3D12_SHADER_BYTECODE
{
};

# CD3DX12_HEAP_DESC

struct __cppobj CD3DX12_HEAP_DESC : D3D12_HEAP_DESC
{
};

# CD3DX12_ROOT_CONSTANTS

struct __cppobj CD3DX12_ROOT_CONSTANTS : D3D12_ROOT_CONSTANTS
{
};

# CD3DX12_DEFAULT

struct __cppobj CD3DX12_DEFAULT
{
};

# CD3DX12_ROOT_DESCRIPTOR

struct __cppobj CD3DX12_ROOT_DESCRIPTOR : D3D12_ROOT_DESCRIPTOR
{
};

# CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC

struct __cppobj CD3DX12_VERSIONED_ROOT_SIGNATURE_DESC : D3D12_VERSIONED_ROOT_SIGNATURE_DESC
{
};

# CD3DX12_DESCRIPTOR_RANGE1

struct __cppobj CD3DX12_DESCRIPTOR_RANGE1 : D3D12_DESCRIPTOR_RANGE1
{
};

# CD3DX12_RESOURCE_BARRIER

struct __cppobj CD3DX12_RESOURCE_BARRIER : D3D12_RESOURCE_BARRIER
{
};

# CD3DX12_TILE_SHAPE

struct __cppobj CD3DX12_TILE_SHAPE : D3D12_TILE_SHAPE
{
};

# CD3DX12_ROOT_PARAMETER

struct __cppobj CD3DX12_ROOT_PARAMETER : D3D12_ROOT_PARAMETER
{
};

# CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER

struct __cppobj __declspec(align(8)) CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER : ID3DX12PipelineParserCallbacks
{
  CD3DX12_PIPELINE_STATE_STREAM1 PipelineStream;
  bool SeenDSS;
};

# CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER_vtbl

struct /*VFT*/ CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER_vtbl
{
  void (__fastcall *FlagsCb)(ID3DX12PipelineParserCallbacks *this, D3D12_PIPELINE_STATE_FLAGS);
  void (__fastcall *NodeMaskCb)(ID3DX12PipelineParserCallbacks *this, unsigned int);
  void (__fastcall *RootSignatureCb)(ID3DX12PipelineParserCallbacks *this, ID3D12RootSignature *);
  void (__fastcall *InputLayoutCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_INPUT_LAYOUT_DESC *);
  void (__fastcall *IBStripCutValueCb)(ID3DX12PipelineParserCallbacks *this, D3D12_INDEX_BUFFER_STRIP_CUT_VALUE);
  void (__fastcall *PrimitiveTopologyTypeCb)(ID3DX12PipelineParserCallbacks *this, D3D12_PRIMITIVE_TOPOLOGY_TYPE);
  void (__fastcall *VSCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_SHADER_BYTECODE *);
  void (__fastcall *GSCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_SHADER_BYTECODE *);
  void (__fastcall *StreamOutputCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_STREAM_OUTPUT_DESC *);
  void (__fastcall *HSCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_SHADER_BYTECODE *);
  void (__fastcall *DSCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_SHADER_BYTECODE *);
  void (__fastcall *PSCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_SHADER_BYTECODE *);
  void (__fastcall *CSCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_SHADER_BYTECODE *);
  void (__fastcall *BlendStateCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_BLEND_DESC *);
  void (__fastcall *DepthStencilStateCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_DEPTH_STENCIL_DESC *);
  void (__fastcall *DepthStencilState1Cb)(ID3DX12PipelineParserCallbacks *this, const D3D12_DEPTH_STENCIL_DESC1 *);
  void (__fastcall *DSVFormatCb)(ID3DX12PipelineParserCallbacks *this, DXGI_FORMAT);
  void (__fastcall *RasterizerStateCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_RASTERIZER_DESC *);
  void (__fastcall *RTVFormatsCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_RT_FORMAT_ARRAY *);
  void (__fastcall *SampleDescCb)(ID3DX12PipelineParserCallbacks *this, const DXGI_SAMPLE_DESC *);
  void (__fastcall *SampleMaskCb)(ID3DX12PipelineParserCallbacks *this, unsigned int);
  void (__fastcall *ViewInstancingCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_VIEW_INSTANCING_DESC *);
  void (__fastcall *CachedPSOCb)(ID3DX12PipelineParserCallbacks *this, const D3D12_CACHED_PIPELINE_STATE *);
  void (__fastcall *ErrorBadInputParameter)(ID3DX12PipelineParserCallbacks *this, unsigned int);
  void (__fastcall *ErrorDuplicateSubobject)(ID3DX12PipelineParserCallbacks *this, D3D12_PIPELINE_STATE_SUBOBJECT_TYPE);
  void (__fastcall *ErrorUnknownSubobject)(ID3DX12PipelineParserCallbacks *this, unsigned int);
  void (__fastcall *~CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER)(CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER *this);
};

# CD3DX12_STATIC_SAMPLER_DESC

struct __cppobj CD3DX12_STATIC_SAMPLER_DESC : D3D12_STATIC_SAMPLER_DESC
{
};

# CD3DX12_TILE_REGION_SIZE

struct __cppobj CD3DX12_TILE_REGION_SIZE : D3D12_TILE_REGION_SIZE
{
};

# CD3DX12_RESOURCE_DESC

struct __cppobj CD3DX12_RESOURCE_DESC : D3D12_RESOURCE_DESC
{
};

# CD3DX12_ROOT_DESCRIPTOR_TABLE1

struct __cppobj CD3DX12_ROOT_DESCRIPTOR_TABLE1 : D3D12_ROOT_DESCRIPTOR_TABLE1
{
};

# CD3DX12_ROOT_SIGNATURE_DESC

struct __cppobj CD3DX12_ROOT_SIGNATURE_DESC : D3D12_ROOT_SIGNATURE_DESC
{
};

# CD3DX12_BOX

struct __cppobj CD3DX12_BOX : D3D12_BOX
{
};

# CD3DX12_VIEWPORT

struct __cppobj CD3DX12_VIEWPORT : D3D12_VIEWPORT
{
};

# CD3DX12_CPU_DESCRIPTOR_HANDLE

struct __cppobj CD3DX12_CPU_DESCRIPTOR_HANDLE : D3D12_CPU_DESCRIPTOR_HANDLE
{
};

# CD3DX12_TEXTURE_COPY_LOCATION

struct __cppobj CD3DX12_TEXTURE_COPY_LOCATION : D3D12_TEXTURE_COPY_LOCATION
{
};

# CD3D10_BUFFER_DESC

struct __cppobj CD3D10_BUFFER_DESC : D3D10_BUFFER_DESC
{
};

# CD3D10_TEXTURE3D_DESC

struct __cppobj CD3D10_TEXTURE3D_DESC : D3D10_TEXTURE3D_DESC
{
};

# CD3D10_TEXTURE1D_DESC

struct __cppobj CD3D10_TEXTURE1D_DESC : D3D10_TEXTURE1D_DESC
{
};

# CD3D10_TEXTURE2D_DESC

struct __cppobj CD3D10_TEXTURE2D_DESC : D3D10_TEXTURE2D_DESC
{
};

# CustomBlob_vtbl

struct /*VFT*/ CustomBlob_vtbl
{
  HRESULT (__fastcall *QueryInterface)(IUnknown *this, const _GUID *, void **);
  unsigned int (__fastcall *AddRef)(IUnknown *this);
  unsigned int (__fastcall *Release)(IUnknown *this);
  void *(__fastcall *GetBufferPointer)(IDxcBlob *this);
  unsigned __int64 (__fastcall *GetBufferSize)(IDxcBlob *this);
};

# ClientBlockPipeline::SchematicsRepository::initialize::__l3::<lambda_36fe93a8a83ef8295732048982aa2084>

struct __cppobj ClientBlockPipeline::SchematicsRepository::initialize::__l3::<lambda_36fe93a8a83ef8295732048982aa2084>
{
  std::shared_ptr<ClientBlockPipeline::BlockSchematic> *unitCubeSchematic;
};

# ClientBlockPipeline::SchematicsRepository::initialize::__l2::<lambda_c8bf51537187d29f59c33c62c3c7a05a>

struct __cppobj __declspec(align(8)) ClientBlockPipeline::SchematicsRepository::initialize::__l2::<lambda_c8bf51537187d29f59c33c62c3c7a05a>
{
  ClientBlockPipeline::SchematicsRepository *const __this;
  GeometryGroup *geometryGroup;
  bool logMissingGeoFiles;
};

# ClientBlockPipeline::MaterialRepository::initialize::__l2::<lambda_575b10f8db8420256f90ab5bf50a87a2>

struct __cppobj ClientBlockPipeline::MaterialRepository::initialize::__l2::<lambda_575b10f8db8420256f90ab5bf50a87a2>
{
  ClientBlockPipeline::MaterialRepository *const __this;
  const AtlasItemManager *atlasItemManager;
};

# Core::SplitPathT<1024,64>::{ctor}::__l2::<lambda_83b6a43be58f1d78baf3530a9d590def>

struct __cppobj Core::SplitPathT<1024,64>::{ctor}::__l2::<lambda_83b6a43be58f1d78baf3530a9d590def>
{
  std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > > *splitEnd;
  std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > > *splitStart;
  Core::SplitPathT<1024,64> *const __this;
  const std::string *fullPath;
};

# CameraDirector::addBehavior::__l2::<lambda_1c1fbcf3fec7fc7de1bf265f1c00b1b9>

struct __cppobj CameraDirector::addBehavior::__l2::<lambda_1c1fbcf3fec7fc7de1bf265f1c00b1b9>
{
};

# ClientSkinSystem::remove::__l2::<lambda_0cad8ee36e5ba241ae3ee659790efe13>

struct __cppobj ClientSkinSystem::remove::__l2::<lambda_0cad8ee36e5ba241ae3ee659790efe13>
{
  const std::string *skinName;
};

# ClientSkinSystem::tick::__l2::<lambda_346f831595d9860bd46068111e94c71c>

struct __cppobj ClientSkinSystem::tick::__l2::<lambda_346f831595d9860bd46068111e94c71c>
{
  IClientInstance *client;
  ActorResourceDefinitionGroup *resourceDefinitions;
  ActorRenderDispatcher *actorRenderDispatcher;
  mce::TextureGroup **textures;
  RenderControllerGroup *renderControllerGroup;
  std::vector<OwnerPtrT<EntityRefTraits>> *entitiesToDestroy;
};

# ClientSkinSystem::reload::__l2::<lambda_52d40358c32c85ac2c9cfebb8826247d>

struct __cppobj ClientSkinSystem::reload::__l2::<lambda_52d40358c32c85ac2c9cfebb8826247d>
{
};

# ClientSkinSystem::tick::__l15::<lambda_5d8ca0b0bd3b0f4ffa442c4eaf79d1ba>

struct __cppobj ClientSkinSystem::tick::__l15::<lambda_5d8ca0b0bd3b0f4ffa442c4eaf79d1ba>
{
  const QueuedSkinUpdate *skinUpdate;
  ClientSkin **clientSkinPtr;
};

# ClientSkinSystem::isSkinInitialized::__l2::<lambda_80f3e1385c420140c701edc607325458>

struct __cppobj ClientSkinSystem::isSkinInitialized::__l2::<lambda_80f3e1385c420140c701edc607325458>
{
  const std::string *skinName;
  bool *skinInitialized;
};

# ClientSkinSystem::shutdown::__l2::<lambda_ac2ea9a020444e9166952b675d37947d>

struct __cppobj ClientSkinSystem::shutdown::__l2::<lambda_ac2ea9a020444e9166952b675d37947d>
{
  ActorResourceDefinitionGroup *resourceDefinitions;
  ActorRenderDispatcher *actorRenderDispatcher;
  std::vector<OwnerPtrT<EntityRefTraits>> *entitiesToDestroy;
  IClientInstance *client;
};

# ClientSkinSystem::_updateClientSkin::__l2::<lambda_3edaec2b809ed40c0096426422f09c9f>::()::__l5::<lambda_cf07724eba396e721b3ca246dc006722>

struct __cppobj ClientSkinSystem::_updateClientSkin::__l2::<lambda_3edaec2b809ed40c0096426422f09c9f>::()::__l5::<lambda_cf07724eba396e721b3ca246dc006722>
{
  const std::string *skinName;
};

# ClientSkinSystem::frameUpdate::__l2::<lambda_d78e08ce14f5e743ea2d90497190fe10>

struct __cppobj ClientSkinSystem::frameUpdate::__l2::<lambda_d78e08ce14f5e743ea2d90497190fe10>
{
  ActorRenderDispatcher *actorRenderDispatcher;
  FrameUpdateContext *frameUpdateContext;
};

# ClientSkinSystem::createOrUpdate::__l2::<lambda_e2bb3a03cfba500e00a8b5ef631d4200>

struct __cppobj ClientSkinSystem::createOrUpdate::__l2::<lambda_e2bb3a03cfba500e00a8b5ef631d4200>
{
  const SerializedSkin *skin;
  ClientSkin **clientSkinPtr;
};

# ContainerInteractionStateMachine::addEdge::__l2::<lambda_6d4574ad219e0ca4cd753481d8e6702c>

struct __cppobj ContainerInteractionStateMachine::addEdge::__l2::<lambda_6d4574ad219e0ca4cd753481d8e6702c>
{
  int priority;
};

# ContainerInteractionStateMachine::addEdge::__l2::<lambda_92c0b8dabac7b5d4f04cfa89ede40c6f>

struct __cppobj ContainerInteractionStateMachine::addEdge::__l2::<lambda_92c0b8dabac7b5d4f04cfa89ede40c6f>
{
  int priority;
};

# ContainerScreenController::_handleAutoPlace::__l19::<lambda_a7e6c24a2f4aa6c4b7839d09b89dd531>

struct __cppobj ContainerScreenController::_handleAutoPlace::__l19::<lambda_a7e6c24a2f4aa6c4b7839d09b89dd531>
{
  ContainerScreenController *const __this;
};

# ChooseRealmScreenController::tick::__l5::<lambda_ce4cfdb9455b5e5dcd5105ec90205592>

struct __cppobj ChooseRealmScreenController::tick::__l5::<lambda_ce4cfdb9455b5e5dcd5105ec90205592>
{
};

# ChooseRealmScreenController::_getRealmSubscriptionFromWorld::__l2::<lambda_a59eada55120e8a2d8d9959c56f2fa32>::()::__l8::<lambda_dfa699d1726b79d9393f5577767085c0>

struct __cppobj ChooseRealmScreenController::_getRealmSubscriptionFromWorld::__l2::<lambda_a59eada55120e8a2d8d9959c56f2fa32>::()::__l8::<lambda_dfa699d1726b79d9393f5577767085c0>
{
  const Realms::RealmId *realmId;
};

# ChooseRealmScreenController::_getRealmSubscriptionFromWorld::__l2::<lambda_a59eada55120e8a2d8d9959c56f2fa32>::()::__l17::<lambda_f0dea08d65f06e43b376c2cf7c63330a>

struct __cppobj ChooseRealmScreenController::_getRealmSubscriptionFromWorld::__l2::<lambda_a59eada55120e8a2d8d9959c56f2fa32>::()::__l17::<lambda_f0dea08d65f06e43b376c2cf7c63330a>
{
  const Realms::RealmId *realmId;
};

# ControlsSettingsScreenController::_registerControllerCallbacks::__l2::<lambda_7847dc19740a716fdd766d12d5c86f1d>

struct __cppobj ControlsSettingsScreenController::_registerControllerCallbacks::__l2::<lambda_7847dc19740a716fdd766d12d5c86f1d>
{
  ControlsSettingsScreenController *const __this;
};

# ControlsSettingsScreenController::_getBindingText::__l2::<lambda_fdbd089d3d733f0b53d51c2aa7dfbe11>

struct __cppobj ControlsSettingsScreenController::_getBindingText::__l2::<lambda_fdbd089d3d733f0b53d51c2aa7dfbe11>
{
  std::vector<ControlsSettingsScreenController::BindingInfo> *bindings;
  int *collectionIndex;
  RemappingLayout *layout;
};

# ChatSettingsScreenController::_registerDropdowns::__l5::<lambda_9b5014f3a912108a04a2bc8bbbeec454>

struct __cppobj ChatSettingsScreenController::_registerDropdowns::__l5::<lambda_9b5014f3a912108a04a2bc8bbbeec454>
{
};

# ContentManager::_removeContentItemsFromSource::__l2::<lambda_6711fd63ee14d294123abb55459e3544>

struct __cppobj ContentManager::_removeContentItemsFromSource::__l2::<lambda_6711fd63ee14d294123abb55459e3544>
{
  gsl::not_null<ContentSource *> source;
};

# ContentManager::addRealmsUnknownPackSources::__l2::<lambda_0522fe99464192388b93f93c5f6c9bac>::()::__l2::<lambda_883164331dbbbf7498e8f845f3ad8f71>

struct __cppobj ContentManager::addRealmsUnknownPackSources::__l2::<lambda_0522fe99464192388b93f93c5f6c9bac>::()::__l2::<lambda_883164331dbbbf7498e8f845f3ad8f71>
{
};

# ContentManager::addRealmsUnknownPackSources::__l2::<lambda_0522fe99464192388b93f93c5f6c9bac>

struct __cppobj ContentManager::addRealmsUnknownPackSources::__l2::<lambda_0522fe99464192388b93f93c5f6c9bac>
{
};

# ClientNetworkHandler::handle::__l16::<lambda_5561662f42c77b771a48f5acdc233f4b>

struct __cppobj ClientNetworkHandler::handle::__l16::<lambda_5561662f42c77b771a48f5acdc233f4b>
{
  const PackInstanceId *packId;
};

# ClientNetworkHandler::handle::__l23::<lambda_78304ad6565246e86b5b1cad8710a276>

struct __cppobj ClientNetworkHandler::handle::__l23::<lambda_78304ad6565246e86b5b1cad8710a276>
{
  const PackIdVersion *packId;
};

# ClientNetworkHandler::handle::__l6::<lambda_9ccd5eca4a6e01ef665b722d6e0d666f>

struct __cppobj ClientNetworkHandler::handle::__l6::<lambda_9ccd5eca4a6e01ef665b722d6e0d666f>
{
  const PackInstanceId *packId;
};

# ClientNetworkHandler::handle::__l39::<lambda_18b666b0d869a5a2e7ee3af14d5c15f8>

struct __cppobj ClientNetworkHandler::handle::__l39::<lambda_18b666b0d869a5a2e7ee3af14d5c15f8>
{
  ContentTierIncompatibleReason *reason;
  ClientNetworkHandler *const __this;
  const NetworkIdentifier *source;
};

# cg::RenderMaterialGroupLoader<std::unordered_map<HashedString,std::shared_ptr<mce::RenderMaterialInfo>>,mce::RenderMaterial,mce::RenderMaterialInfo,ResourcePackManager>::_loadMaterialSet::__l2::<lambda_d63b68c752f428d88d11ada0b6f633c3>

struct __cppobj cg::RenderMaterialGroupLoader<std::unordered_map<HashedString,std::shared_ptr<mce::RenderMaterialInfo>>,mce::RenderMaterial,mce::RenderMaterialInfo,ResourcePackManager>::_loadMaterialSet::__l2::<lambda_d63b68c752f428d88d11ada0b6f633c3>
{
};

# ContentDiscovery::_performPagedSearch::__l2::<lambda_4ab40c2ace68b9c044570f58003d2f49>

struct __cppobj ContentDiscovery::_performPagedSearch::__l2::<lambda_4ab40c2ace68b9c044570f58003d2f49>
{
};

# Concurrency::details::_CancellationTokenState::_DeregisterCallback::__l20::<lambda_a1eabba02874cbf8cbb226c45133fc37>

struct __cppobj Concurrency::details::_CancellationTokenState::_DeregisterCallback::__l20::<lambda_a1eabba02874cbf8cbb226c45133fc37>
{
  Concurrency::details::_CancellationTokenRegistration *_PRegistration;
};

# CameraShakeSystem::_updateQueue::__l2::<lambda_d61e7c3288a18a3e31eee25c3654b29e>

struct __cppobj CameraShakeSystem::_updateQueue::__l2::<lambda_d61e7c3288a18a3e31eee25c3654b29e>
{
};

# CreativeItemRegistry::findCreativeItemEntry::__l2::<lambda_e4b2086d82625c57457346d7797ccfae>

struct __cppobj CreativeItemRegistry::findCreativeItemEntry::__l2::<lambda_e4b2086d82625c57457346d7797ccfae>
{
  const ItemInstance *instance;
};

# Core::StorageBackedMemoryFileSystem::_iterateOverDirectory::__l10::<lambda_878c19021d7da4d7685cec971d8b658c>

struct __cppobj Core::StorageBackedMemoryFileSystem::_iterateOverDirectory::__l10::<lambda_878c19021d7da4d7685cec971d8b658c>
{
  const std::shared_ptr<Core::MemoryFileSystemEntryDir::MemoryFileSystemEntryItem> *memoryEntry;
};

# Core::StorageBackedMemoryFileSystem::_iterateOverDirectory::__l2::<lambda_62c6b78f19988924534899f86a6208b9>

struct __cppobj Core::StorageBackedMemoryFileSystem::_iterateOverDirectory::__l2::<lambda_62c6b78f19988924534899f86a6208b9>
{
};

# createUniqueRakPeer::__l2::<lambda_0a3c41180c80396c20a59fbf840b6cc2>

struct __cppobj createUniqueRakPeer::__l2::<lambda_0a3c41180c80396c20a59fbf840b6cc2>
{
};

# CompositePackSource::forEachPackConst::__l6::<lambda_559bc3fba05953cf51044a45a84dcf0d>::()::__l2::<lambda_94881c2d5f2439f0f3d7abfd265d1f85>

struct __cppobj CompositePackSource::forEachPackConst::__l6::<lambda_559bc3fba05953cf51044a45a84dcf0d>::()::__l2::<lambda_94881c2d5f2439f0f3d7abfd265d1f85>
{
  const Pack *pack;
};

# CompositePackSource::forEachPack::__l6::<lambda_367a75bf960abb288ec97e873c12428a>::()::__l2::<lambda_3ee788a979476d70dee0056be8066734>

struct __cppobj CompositePackSource::forEachPack::__l6::<lambda_367a75bf960abb288ec97e873c12428a>::()::__l2::<lambda_3ee788a979476d70dee0056be8066734>
{
  Pack *pack;
};

# CommandRegistry::getEnumData::__l2::<lambda_86d01d235c68d5da7516a91a4dbc0d88>

struct __cppobj CommandRegistry::getEnumData::__l2::<lambda_86d01d235c68d5da7516a91a4dbc0d88>
{
};

# CommandOutputParameter::{ctor}::__l2::<lambda_5bc458185b2deeba3ef3cfb203dcc63a>

struct __cppobj CommandOutputParameter::{ctor}::__l2::<lambda_5bc458185b2deeba3ef3cfb203dcc63a>
{
};

# CommandOutputParameter::{ctor}::__l2::<lambda_79c00cfab4d52f473ca50a94395df6fd>

struct __cppobj CommandOutputParameter::{ctor}::__l2::<lambda_79c00cfab4d52f473ca50a94395df6fd>
{
};

# CommandOutputParameter::{ctor}::__l2::<lambda_cc9cfb1b506bf2d7bdbe265f16ddcd0d>

struct __cppobj CommandOutputParameter::{ctor}::__l2::<lambda_cc9cfb1b506bf2d7bdbe265f16ddcd0d>
{
};

# CommandOutputParameter::{ctor}::__l2::<lambda_454b38b61802aa72c8df685b9942bef4>

struct __cppobj CommandOutputParameter::{ctor}::__l2::<lambda_454b38b61802aa72c8df685b9942bef4>
{
};

# Cat::updateEntitySpecificMolangVariables::__l2::<lambda_c7671d4afe1e4443a6fe07730450d768>::()::__l2::Literal

struct __cppobj Cat::updateEntitySpecificMolangVariables::__l2::<lambda_c7671d4afe1e4443a6fe07730450d768>::()::__l2::Literal
{
};

# Cat::updateEntitySpecificMolangVariables::__l2::<lambda_088bcb4166b0e8358d5892b9e16e2ff8>::()::__l2::Literal

struct __cppobj Cat::updateEntitySpecificMolangVariables::__l2::<lambda_088bcb4166b0e8358d5892b9e16e2ff8>::()::__l2::Literal
{
};

# Cat::updateEntitySpecificMolangVariables::__l2::<lambda_78eb8c2f82988959eebfbf814d4bdec7>::()::__l2::Literal

struct __cppobj Cat::updateEntitySpecificMolangVariables::__l2::<lambda_78eb8c2f82988959eebfbf814d4bdec7>::()::__l2::Literal
{
};

# Chicken::updateEntitySpecificMolangVariables::__l2::<lambda_71e7e183953c3b278e8dcfc8ea3535b3>::()::__l2::Literal

struct __cppobj Chicken::updateEntitySpecificMolangVariables::__l2::<lambda_71e7e183953c3b278e8dcfc8ea3535b3>::()::__l2::Literal
{
};

# Cat::updateEntitySpecificMolangVariables::__l2::<lambda_71997bae64275e8391ab72b262552e09>::()::__l2::Literal

struct __cppobj Cat::updateEntitySpecificMolangVariables::__l2::<lambda_71997bae64275e8391ab72b262552e09>::()::__l2::Literal
{
};

# Cat::updateEntitySpecificMolangVariables::__l2::<lambda_088bcb4166b0e8358d5892b9e16e2ff8>

struct __cppobj Cat::updateEntitySpecificMolangVariables::__l2::<lambda_088bcb4166b0e8358d5892b9e16e2ff8>
{
};

# Cat::updateEntitySpecificMolangVariables::__l2::<lambda_71997bae64275e8391ab72b262552e09>

struct __cppobj Cat::updateEntitySpecificMolangVariables::__l2::<lambda_71997bae64275e8391ab72b262552e09>
{
};

# Chicken::updateEntitySpecificMolangVariables::__l2::<lambda_71e7e183953c3b278e8dcfc8ea3535b3>

struct __cppobj Chicken::updateEntitySpecificMolangVariables::__l2::<lambda_71e7e183953c3b278e8dcfc8ea3535b3>
{
};

# Cat::updateEntitySpecificMolangVariables::__l2::<lambda_78eb8c2f82988959eebfbf814d4bdec7>

struct __cppobj Cat::updateEntitySpecificMolangVariables::__l2::<lambda_78eb8c2f82988959eebfbf814d4bdec7>
{
};

# Cat::updateEntitySpecificMolangVariables::__l2::<lambda_c7671d4afe1e4443a6fe07730450d768>

struct __cppobj Cat::updateEntitySpecificMolangVariables::__l2::<lambda_c7671d4afe1e4443a6fe07730450d768>
{
};

# CraftableCompounds::_getCompoundId::__l2::<lambda_3046e99618621a9321dd5a1682abd6d6>

struct __cppobj CraftableCompounds::_getCompoundId::__l2::<lambda_3046e99618621a9321dd5a1682abd6d6>
{
};

# ContainerManagerController::handleSplitMultiple::__l2::<lambda_91fce08554f365ad76dc12c216795bd5>

struct __cppobj ContainerManagerController::handleSplitMultiple::__l2::<lambda_91fce08554f365ad76dc12c216795bd5>
{
  const SlotData *dstSlot;
};

# ContainerManagerController::_handleSplitMultiple::__l26::<lambda_974632b6be046e0594d6cf40d3d2cfb8>

struct __cppobj ContainerManagerController::_handleSplitMultiple::__l26::<lambda_974632b6be046e0594d6cf40d3d2cfb8>
{
  const SlotData *dstSlot;
};

# ContainerManagerController::handleSplitSingle::__l2::<lambda_f16ad91d24e1cbfe63879acbc5de101c>

struct __cppobj ContainerManagerController::handleSplitSingle::__l2::<lambda_f16ad91d24e1cbfe63879acbc5de101c>
{
  const SlotData *dstSlot;
};

# ContainerManagerController::_handleSplitMultiple::__l2::<lambda_29ab370350e9ab96da3527e211265550>

struct __cppobj ContainerManagerController::_handleSplitMultiple::__l2::<lambda_29ab370350e9ab96da3527e211265550>
{
  const int *desiredSlotCount;
};

# CraftingContainerManagerController::_getRecipesForItem::__l6::<lambda_20ea56172181be0a1fd00993199a0377>

struct __cppobj CraftingContainerManagerController::_getRecipesForItem::__l6::<lambda_20ea56172181be0a1fd00993199a0377>
{
  const Recipe *recipe;
};

# CraftingContainerManagerController::_inventoryContainsItemForRecipeInputSlot::__l11::<lambda_54ab0e0de58afccfa84e9825bce9cf67>

struct __cppobj CraftingContainerManagerController::_inventoryContainsItemForRecipeInputSlot::__l11::<lambda_54ab0e0de58afccfa84e9825bce9cf67>
{
  const CraftingContainerManagerController *const __this;
  const Recipe **recipe;
  const RecipeIngredient *ingredient;
  int *usableItemCount;
  int *requiredItemCountForSlot;
};

# ConduitBlockActor::_animateTick::__l18::<lambda_8948a1fc5775d36b9f6a3d9d5801a6d2>::()::__l2::Literal

struct __cppobj ConduitBlockActor::_animateTick::__l18::<lambda_8948a1fc5775d36b9f6a3d9d5801a6d2>::()::__l2::Literal
{
};

# ConduitBlockActor::_animateTick::__l18::<lambda_c35f4e32f5bf8989f4c498c20689058e>::()::__l2::Literal

struct __cppobj ConduitBlockActor::_animateTick::__l18::<lambda_c35f4e32f5bf8989f4c498c20689058e>::()::__l2::Literal
{
};

# ConduitBlockActor::_animateTick::__l12::<lambda_332602a69801e323d3466c49bbe69494>::()::__l2::Literal

struct __cppobj ConduitBlockActor::_animateTick::__l12::<lambda_332602a69801e323d3466c49bbe69494>::()::__l2::Literal
{
};

# ConduitBlockActor::_animateTick::__l12::<lambda_5ec3d77cb1f79f9898fb317d60d2aa61>::()::__l2::Literal

struct __cppobj ConduitBlockActor::_animateTick::__l12::<lambda_5ec3d77cb1f79f9898fb317d60d2aa61>::()::__l2::Literal
{
};

# ConduitBlockActor::_animateTick::__l12::<lambda_d0896100c07ed6919a015d5dfb87ed32>::()::__l2::Literal

struct __cppobj ConduitBlockActor::_animateTick::__l12::<lambda_d0896100c07ed6919a015d5dfb87ed32>::()::__l2::Literal
{
};

# ConduitBlockActor::_animateTick::__l12::<lambda_332602a69801e323d3466c49bbe69494>

struct __cppobj ConduitBlockActor::_animateTick::__l12::<lambda_332602a69801e323d3466c49bbe69494>
{
};

# ConduitBlockActor::_animateTick::__l12::<lambda_5ec3d77cb1f79f9898fb317d60d2aa61>

struct __cppobj ConduitBlockActor::_animateTick::__l12::<lambda_5ec3d77cb1f79f9898fb317d60d2aa61>
{
};

# ConduitBlockActor::_animateTick::__l18::<lambda_8948a1fc5775d36b9f6a3d9d5801a6d2>

struct __cppobj ConduitBlockActor::_animateTick::__l18::<lambda_8948a1fc5775d36b9f6a3d9d5801a6d2>
{
};

# ConduitBlockActor::_animateTick::__l18::<lambda_c35f4e32f5bf8989f4c498c20689058e>

struct __cppobj ConduitBlockActor::_animateTick::__l18::<lambda_c35f4e32f5bf8989f4c498c20689058e>
{
};

# ConduitBlockActor::_animateTick::__l12::<lambda_d0896100c07ed6919a015d5dfb87ed32>

struct __cppobj ConduitBlockActor::_animateTick::__l12::<lambda_d0896100c07ed6919a015d5dfb87ed32>
{
};

# CauldronBlock::spawnSplashParticles::__l4::<lambda_268157b0793be5c014e01b9041927df6>::()::__l2::Literal

struct __cppobj CauldronBlock::spawnSplashParticles::__l4::<lambda_268157b0793be5c014e01b9041927df6>::()::__l2::Literal
{
};

# CauldronBlock::spawnPotionParticles::__l2::<lambda_8ec88898e4e09dd63f50a425f5ed72ac>::()::__l2::Literal

struct __cppobj CauldronBlock::spawnPotionParticles::__l2::<lambda_8ec88898e4e09dd63f50a425f5ed72ac>::()::__l2::Literal
{
};

# CauldronBlock::spawnSplashParticles::__l4::<lambda_0829bba87c98acfd95d2e417f96a3a32>::()::__l2::Literal

struct __cppobj CauldronBlock::spawnSplashParticles::__l4::<lambda_0829bba87c98acfd95d2e417f96a3a32>::()::__l2::Literal
{
};

# CauldronBlock::spawnPotionParticles::__l2::<lambda_a053d6403b3fab894aebc284345e3de2>::()::__l2::Literal

struct __cppobj CauldronBlock::spawnPotionParticles::__l2::<lambda_a053d6403b3fab894aebc284345e3de2>::()::__l2::Literal
{
};

# ChemistryTableBlock::isUIValidForPlayer::__l2::<lambda_0915f42ac7b04290a5a7f086c25b45c2>

struct __cppobj __declspec(align(8)) ChemistryTableBlock::isUIValidForPlayer::__l2::<lambda_0915f42ac7b04290a5a7f086c25b45c2>
{
  const BlockPos *pos;
  Player *player;
  ChemistryTableType expectedType;
};

# CommandBlock::_executeChain::__l2::<lambda_606da47343c781dd92518e4a59002d67>

struct __cppobj CommandBlock::_executeChain::__l2::<lambda_606da47343c781dd92518e4a59002d67>
{
  const CommandBlock *const __this;
};

# CauldronBlock::spawnSplashParticles::__l4::<lambda_0829bba87c98acfd95d2e417f96a3a32>

struct __cppobj CauldronBlock::spawnSplashParticles::__l4::<lambda_0829bba87c98acfd95d2e417f96a3a32>
{
};

# CauldronBlock::spawnSplashParticles::__l4::<lambda_268157b0793be5c014e01b9041927df6>

struct __cppobj CauldronBlock::spawnSplashParticles::__l4::<lambda_268157b0793be5c014e01b9041927df6>
{
};

# CauldronBlock::spawnPotionParticles::__l2::<lambda_8ec88898e4e09dd63f50a425f5ed72ac>

struct __cppobj CauldronBlock::spawnPotionParticles::__l2::<lambda_8ec88898e4e09dd63f50a425f5ed72ac>
{
};

# CauldronBlock::spawnPotionParticles::__l2::<lambda_a053d6403b3fab894aebc284345e3de2>

struct __cppobj CauldronBlock::spawnPotionParticles::__l2::<lambda_a053d6403b3fab894aebc284345e3de2>
{
};

# ComposterBlock::_getFillChance::__l2::<lambda_419dbaacf7f5dac7c818cf2073c71d41>

struct __cppobj ComposterBlock::_getFillChance::__l2::<lambda_419dbaacf7f5dac7c818cf2073c71d41>
{
  const int itemId;
};

# Core::BufferedFileOperations::_copyFileSection::__l2::<lambda_bb541799037c24a1999c68a0da11795a>

struct __cppobj Core::BufferedFileOperations::_copyFileSection::__l2::<lambda_bb541799037c24a1999c68a0da11795a>
{
};

# Core::FlatFileOperations::createFlatFile::__l2::<lambda_526442116e44cd87fd919e887759154d>::()::__l8::<lambda_72985fa78ceb80a751661de54377b4fd>

struct __cppobj Core::FlatFileOperations::createFlatFile::__l2::<lambda_526442116e44cd87fd919e887759154d>::()::__l8::<lambda_72985fa78ceb80a751661de54377b4fd>
{
  const Core::DirectoryIterationItem *info;
};

# Core::FlatFileOperations::createFlatFile::__l2::<lambda_6e3c09c2edaf68375ca0d7b4a58153aa>

struct __cppobj Core::FlatFileOperations::createFlatFile::__l2::<lambda_6e3c09c2edaf68375ca0d7b4a58153aa>
{
  bool *deleteTargetDirectory;
  Core::FileSystemImpl **targetTransaction;
  const Core::Path *targetDirectoryPath;
};

# Core::MemoryFileSystem::_getWriteSize::__l2::<lambda_7eadf8289841af8c30f50ceb78e110ee>

struct __cppobj Core::MemoryFileSystem::_getWriteSize::__l2::<lambda_7eadf8289841af8c30f50ceb78e110ee>
{
  const Core::Path *path;
};

# Core::MemoryFileSystem::_clearWrites::__l6::<lambda_99da478020ef6039ba1765b5e5e0e39f>

struct __cppobj Core::MemoryFileSystem::_clearWrites::__l6::<lambda_99da478020ef6039ba1765b5e5e0e39f>
{
  const Core::PathBuffer<std::string > *entry;
};

# Core::MemoryFileSystem::_renameFile::__l2::<lambda_af74489a5f2c0898aa196e20d06b0b9b>

struct __cppobj Core::MemoryFileSystem::_renameFile::__l2::<lambda_af74489a5f2c0898aa196e20d06b0b9b>
{
  unsigned int *hashId;
};

# Core::MemoryFileSystem::_renameDirectory::__l2::<lambda_e7841f380c872902625dd4eaf9db3f4f>

struct __cppobj Core::MemoryFileSystem::_renameDirectory::__l2::<lambda_e7841f380c872902625dd4eaf9db3f4f>
{
  unsigned int *hashId;
};

# Core::MemoryFileSystem::_clearMarkedForRemovalList::__l2::<lambda_27ef4e3a090d8d258c821c20d2db478a>

struct __cppobj Core::MemoryFileSystem::_clearMarkedForRemovalList::__l2::<lambda_27ef4e3a090d8d258c821c20d2db478a>
{
  Core::MemoryFileSystem *const __this;
};

# Core::MemoryFileSystem::_isMarkedForRemoval::__l2::<lambda_8c5dca273da17002cc1f9331af31db1d>

struct __cppobj Core::MemoryFileSystem::_isMarkedForRemoval::__l2::<lambda_8c5dca273da17002cc1f9331af31db1d>
{
  const Core::Path *fileName;
};

# Core::MemoryFileSystemEntryDir::_entryItemExists::__l2::<lambda_511e3c8be73eec0889af6bc8680ef0c7>

struct __cppobj Core::MemoryFileSystemEntryDir::_entryItemExists::__l2::<lambda_511e3c8be73eec0889af6bc8680ef0c7>
{
  unsigned int *hashId;
};

# Core::MemoryFileSystemEntryDir::findEntry::__l2::<lambda_5f2910b1f4d5d938159606bbae560221>

struct __cppobj Core::MemoryFileSystemEntryDir::findEntry::__l2::<lambda_5f2910b1f4d5d938159606bbae560221>
{
  unsigned int *hashId;
};

# Core::MemoryFileSystemEntryDir::removeEntry::__l2::<lambda_69fd310c420d70d4d8671b695a229d0b>

struct __cppobj Core::MemoryFileSystemEntryDir::removeEntry::__l2::<lambda_69fd310c420d70d4d8671b695a229d0b>
{
  unsigned int hashId;
};

# Core::WriteBufferedTransaction::_iterateOverDirectory::__l2::<lambda_6b73c3de54929890327bac627459521c>::()::__l2::<lambda_05322b8b35d9bb0d8c75d99994469e60>

struct __cppobj Core::WriteBufferedTransaction::_iterateOverDirectory::__l2::<lambda_6b73c3de54929890327bac627459521c>::()::__l2::<lambda_05322b8b35d9bb0d8c75d99994469e60>
{
  const Core::DirectoryIterationItem *entry;
};

# Core::WriteBufferedTransaction::_iterateOverDirectory::__l2::<lambda_88fbf506cb1c8cfd5f1adb6787d95bd0>

struct __cppobj Core::WriteBufferedTransaction::_iterateOverDirectory::__l2::<lambda_88fbf506cb1c8cfd5f1adb6787d95bd0>
{
};

# Core::StorageAreasTree::teardown::__l2::<lambda_0755a5bd00a27a0611f4c990eda8f22a>

struct __cppobj Core::StorageAreasTree::teardown::__l2::<lambda_0755a5bd00a27a0611f4c990eda8f22a>
{
};

# Core::WriteBufferedFileStorageArea::isDiskFileMarkedForDelete::__l2::<lambda_ea3d8d37bf95b5eb93131867fe3f3945>

struct __cppobj Core::WriteBufferedFileStorageArea::isDiskFileMarkedForDelete::__l2::<lambda_ea3d8d37bf95b5eb93131867fe3f3945>
{
  const Core::Path filePath;
};

# Core::ZipUtils::unzipToFlatFile::__l2::<lambda_b9313d225ca61b1f28089ce687e52320>

struct __cppobj Core::ZipUtils::unzipToFlatFile::__l2::<lambda_b9313d225ca61b1f28089ce687e52320>
{
  Core::File *flatFileData;
  const Core::PathBuffer<Core::StackString<char,1024> > *flatFilePath;
};

# Core::ZipUtils::unzipToFlatFile::__l2::<lambda_4d7087ae060d66213d4d521c6e8ce67f>

struct __cppobj Core::ZipUtils::unzipToFlatFile::__l2::<lambda_4d7087ae060d66213d4d521c6e8ce67f>
{
  Core::File *flatFileData;
  Core::ZipUtils::unzipToFlatFile::__l2::<lambda_b9313d225ca61b1f28089ce687e52320> *cleanupFlatFile;
  const Core::PathBuffer<Core::StackString<char,1024> > *flatFilePath;
};

# Core::ZipUtils::unzipToFlatFile::__l2::<lambda_0853f5e845c982e8b5b22db61d3761cc>

struct __cppobj Core::ZipUtils::unzipToFlatFile::__l2::<lambda_0853f5e845c982e8b5b22db61d3761cc>
{
  Core::File *flatFileData;
  std::vector<char> *flatFileWriteBuffer;
  unsigned __int64 *flatFileWriteBufferSize;
  Core::ZipUtils::unzipToFlatFile::__l2::<lambda_b9313d225ca61b1f28089ce687e52320> *cleanupFlatFile;
  Core::ZipUtils::unzipToFlatFile::__l2::<lambda_4d7087ae060d66213d4d521c6e8ce67f> *commitFunction;
};

# Core::DeferredTask::wait::__l2::<lambda_fa9f190ff2929539c7df338a0d3fc742>

struct __cppobj Core::DeferredTask::wait::__l2::<lambda_fa9f190ff2929539c7df338a0d3fc742>
{
  const Core::DeferredTask *const __this;
};

# CrashDumpLog::startCrashDumpLogThread::__l2::<lambda_3f38d676909923056757cde92a5e511e>

struct __cppobj CrashDumpLog::startCrashDumpLogThread::__l2::<lambda_3f38d676909923056757cde92a5e511e>
{
};

# CrashDumpLog::crashDumpLogThreadRoutine::__l2::<lambda_eb8150138c414986d85a275a0c0de6f6>

struct __cppobj CrashDumpLog::crashDumpLogThreadRoutine::__l2::<lambda_eb8150138c414986d85a275a0c0de6f6>
{
};

# cg::isGraphicsDriverOutdated::__l11::<lambda_9ecc58e2b0547e10894428b94189c146>

struct __cppobj cg::isGraphicsDriverOutdated::__l11::<lambda_9ecc58e2b0547e10894428b94189c146>
{
};

# cg::isGraphicsDriverOutdated::__l2::<lambda_deac8803c550af270bc4c485d27cc466>

struct __cppobj cg::isGraphicsDriverOutdated::__l2::<lambda_deac8803c550af270bc4c485d27cc466>
{
  const unsigned int clientVendorID;
  const Json::Value root;
};

# cg::TextureSetDefinition::hasLayer::__l2::<lambda_9e4a48dc09cb34f739f707e24a352efa>

struct __cppobj cg::TextureSetDefinition::hasLayer::__l2::<lambda_9e4a48dc09cb34f739f707e24a352efa>
{
  const cg::TextureSetLayerType *t;
};

# cg::TextureSetDefinition::tryGetLayerInfo::__l2::<lambda_a67c1ceb90c43386c9a6872c55f0c9a7>

struct __cppobj cg::TextureSetDefinition::tryGetLayerInfo::__l2::<lambda_a67c1ceb90c43386c9a6872c55f0c9a7>
{
  const cg::TextureSetLayerType *t;
};

# cg::TextureSetDefinition::_getLayerRef::__l2::<lambda_122919bcaa2af1b4a9da852181b772d5>

struct __cppobj cg::TextureSetDefinition::_getLayerRef::__l2::<lambda_122919bcaa2af1b4a9da852181b772d5>
{
  const cg::TextureSetLayerType *t;
};

# cg::TextureSetDefinition::_removeLayerInfo::__l2::<lambda_346345030cb82925f1314d9c75044ce3>

struct __cppobj cg::TextureSetDefinition::_removeLayerInfo::__l2::<lambda_346345030cb82925f1314d9c75044ce3>
{
  const cg::TextureSetLayerType *type;
};

# cg::TextureSetImageContainer::_tryGetContainer::__l2::<lambda_b1e46f6acf0602219a700bab4d749937>

struct __cppobj cg::TextureSetImageContainer::_tryGetContainer::__l2::<lambda_b1e46f6acf0602219a700bab4d749937>
{
  const cg::TextureSetLayerType *layerType;
};

# cg::TextureSetImageContainer::_removeLayer::__l2::<lambda_d9b5c7be01976945648c92dd444cb646>

struct __cppobj cg::TextureSetImageContainer::_removeLayer::__l2::<lambda_d9b5c7be01976945648c92dd444cb646>
{
  const cg::TextureSetLayerType *layerType;
};

# cg::TextureSetImageContainer::_tryGetContainer::__l2::<lambda_dd4c2698f86da7c3e7928f0b9866294b>

struct __cppobj cg::TextureSetImageContainer::_tryGetContainer::__l2::<lambda_dd4c2698f86da7c3e7928f0b9866294b>
{
  const cg::TextureSetLayerType *layerType;
};

# cg::TextureSetImageDescription::tryGetLayerInfo::__l2::<lambda_b944b36403a31aa3a3ef6b97168b9bfc>

struct __cppobj cg::TextureSetImageDescription::tryGetLayerInfo::__l2::<lambda_b944b36403a31aa3a3ef6b97168b9bfc>
{
  const cg::TextureSetLayerType *layerType;
};

# ChalkboardBlockActor_vtbl

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

# ClientInstance_vtbl

struct /*VFT*/ ClientInstance_vtbl
{
  void (__fastcall *~IClientInstance)(IClientInstance *this);
  void (__fastcall *onInitMinecraftGame)(IClientInstance *this);
  void (__fastcall *onDestroyMinecraftGame)(IClientInstance *this);
  void (__fastcall *init)(IClientInstance *this, Core::FilePathManager *, NetworkHandler *, Timer *, Timer *, const gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *, int, IGameModuleApp *);
  void (__fastcall *initSceneFactory)(IClientInstance *this, hbui::ILibrary *, std::unique_ptr<SceneFactory>, std::unique_ptr<hbui::SceneProvider>);
  void (__fastcall *setUiRouter)(IClientInstance *this, std::unique_ptr<hbui::Router>);
  void (__fastcall *initGraphics)(IClientInstance *this);
  void (__fastcall *stop)(IClientInstance *this);
  void (__fastcall *teardown)(IClientInstance *this);
  void (__fastcall *preShutDown)(IClientInstance *this);
  void (__fastcall *requestLeaveGame)(IClientInstance *this, bool, bool);
  void (__fastcall *stopPlayScreen)(IClientInstance *this);
  bool (__fastcall *isLeaveGameDone)(IClientInstance *this);
  void (__fastcall *setupPlayScreenForLeaveGame)(IClientInstance *this);
  void (__fastcall *resetPrimaryClient)(IClientInstance *this);
  void (__fastcall *resetGameSession)(IClientInstance *this);
  void (__fastcall *tick)(IClientInstance *this);
  void (__fastcall *frameUpdate)(IClientInstance *this, FrameUpdateContext *);
  bool (__fastcall *update)(IClientInstance *this, bool);
  void (__fastcall *endFrame)(IClientInstance *this);
  void (__fastcall *startSubClientLateJoin)(IClientInstance *this, bool, std::unique_ptr<GameModuleClient>, bool);
  void (__fastcall *setupClientGame)(IClientInstance *this, std::function<void __cdecl(enum ClientGameSetupResult)> *, bool, std::unique_ptr<GameModuleClient>, bool);
  void (__fastcall *setKeyboardActive)(IClientInstance *this, bool);
  void (__fastcall *setAddOnList)(IClientInstance *this, std::vector<std::string>);
  std::vector<std::string> *(__fastcall *getAddOnList)(IClientInstance *this, std::vector<std::string> *result);
  BlockSource *(__fastcall *getRegion)(IClientInstance *this);
  const LocalPlayer *(__fastcall *getLocalPlayer)(IClientInstance *this);
  LocalPlayer *(__fastcall *getLocalPlayer)(IClientInstance *this);
  Actor *(__fastcall *getCameraEntity)(IClientInstance *this);
  void (__fastcall *setCameraEntity)(IClientInstance *this, Actor *);
  Actor *(__fastcall *getCameraTargetEntity)(IClientInstance *this);
  void (__fastcall *setCameraTargetEntity)(IClientInstance *this, Actor *);
  bool (__fastcall *isCameraBindingEntity)(IClientInstance *this);
  bool (__fastcall *resetCameraBinding)(IClientInstance *this);
  void (__fastcall *onActorRemove)(IClientInstance *this, Actor *);
  bool (__fastcall *isLeavingGame)(IClientInstance *this);
  bool (__fastcall *isDestroyingGame)(IClientInstance *this);
  bool (__fastcall *isShuttingDown)(IClientInstance *this);
  bool (__fastcall *useLowFrequencyUIRender)(IClientInstance *this);
  bool (__fastcall *isSplitScreenActive)(IClientInstance *this);
  bool (__fastcall *isVRClient)(IClientInstance *this);
  bool (__fastcall *isARClient)(IClientInstance *this);
  bool (__fastcall *isARVRClient)(IClientInstance *this);
  bool (__fastcall *isHoloviewerMode)(IClientInstance *this);
  bool (__fastcall *isHoloscreenMode)(IClientInstance *this);
  bool (__fastcall *isLivingroomMode)(IClientInstance *this);
  bool (__fastcall *isExitingLevel)(IClientInstance *this);
  bool (__fastcall *isNotVLRMode)(IClientInstance *this);
  bool (__fastcall *isHoloRealityMode)(IClientInstance *this);
  bool (__fastcall *isRealityFullVRMode)(IClientInstance *this);
  bool (__fastcall *isInBedScreen)(IClientInstance *this);
  bool (__fastcall *isKeyboardEnabled)(IClientInstance *this);
  bool (__fastcall *isVRTransitioning)(IClientInstance *this);
  bool (__fastcall *hasCommands)(IClientInstance *this);
  bool (__fastcall *isScriptingEnabled)(IClientInstance *this);
  float (__fastcall *getHoloviewerScale)(IClientInstance *this);
  int (__fastcall *getSplitScreenCount)(IClientInstance *this);
  bool (__fastcall *isStereoRendering)(IClientInstance *this);
  bool (__fastcall *isPlatformNX)(IClientInstance *this);
  bool (__fastcall *isLocalSplitscreenWith)(IClientInstance *this, const ActorUniqueID *);
  bool (__fastcall *isValidCrossPlatformSkin)(IClientInstance *this);
  bool (__fastcall *isSelectedSkinInitialized)(IClientInstance *this);
  SplitScreenInfo *(__fastcall *getSplitScreenInfo)(IClientInstance *this, SplitScreenInfo *result);
  int (__fastcall *getCurrentMaxGUIScaleIndex)(IClientInstance *this);
  const float *(__fastcall *getRealityModeFrameFactor)(IClientInstance *this);
  void (__fastcall *setRealityModeFrameFactor)(IClientInstance *this, const float *);
  bool (__fastcall *getRealityModeToggleTriggered)(IClientInstance *this);
  void (__fastcall *setRealityModeToggleTriggered)(IClientInstance *this, bool);
  bool (__fastcall *getHandlingControllerDisconnect)(IClientInstance *this);
  void (__fastcall *setOpenControllerDisconnectScreen)(IClientInstance *this, bool);
  const ClientPlayMode *(__fastcall *getClientPlayMode)(IClientInstance *this);
  void (__fastcall *setClientPlayMode)(IClientInstance *this, const ClientPlayMode *);
  bool (__fastcall *getLivingRoomForCredits)(IClientInstance *this);
  void (__fastcall *setLivingRoomForCredits)(IClientInstance *this, bool);
  std::function<void __cdecl(void)> *(__fastcall *getCreditsCallback)(IClientInstance *this, std::function<void __cdecl(void)> *result);
  void (__fastcall *setCreditsCallback)(IClientInstance *this, std::function<void __cdecl(void)>);
  void (__fastcall *setupTransitionForCredits)(IClientInstance *this, std::function<void __cdecl(void)>);
  void (__fastcall *refreshScreenSizeData)(IClientInstance *this);
  void (__fastcall *onScreenSizeChanged)(IClientInstance *this, int, int, float);
  void (__fastcall *onGuiScaleOffsetChanged)(IClientInstance *this);
  void (__fastcall *onSafeZoneChanged)(IClientInstance *this);
  void (__fastcall *quit)(IClientInstance *this, const std::string *, const std::string *);
  IMinecraftGame *(__fastcall *getMinecraftGame)(IClientInstance *this);
  Automation::AutomationClient *(__fastcall *getAutomationClient)(IClientInstance *this);
  IMinecraftEventing *(__fastcall *getEventing)(IClientInstance *this);
  FontHandle *(__fastcall *getFontHandle)(IClientInstance *this, FontHandle *result);
  FontHandle *(__fastcall *getRuneFontHandle)(IClientInstance *this, FontHandle *result);
  FontHandle *(__fastcall *getUnicodeFontHandle)(IClientInstance *this, FontHandle *result);
  GeometryGroup *(__fastcall *getGeometryGroup)(IClientInstance *this);
  Social::MultiplayerServiceManager *(__fastcall *getMultiplayerServiceManager)(IClientInstance *this);
  Level *(__fastcall *getLocalServerLevel)(IClientInstance *this);
  ResourcePackRepository *(__fastcall *getResourcePackRepository)(IClientInstance *this);
  ResourcePackManager *(__fastcall *getResourcePackManager)(IClientInstance *this);
  PackManifestFactory *(__fastcall *getPackManifestFactory)(IClientInstance *this);
  const IContentKeyProvider *(__fastcall *getKeyProvider)(IClientInstance *this);
  ResourcePacksInfoData *(__fastcall *getResourcePacksInfoData)(IClientInstance *this);
  std::shared_ptr<SkinRepository> *(__fastcall *getSkinRepository)(IClientInstance *this, std::shared_ptr<SkinRepository> *result);
  SkinRepositoryClientInterface *(__fastcall *getSkinRepositoryClientInterface)(IClientInstance *this);
  persona::PersonaPieceCollectionModel *(__fastcall *getPersonaPieceCollectionModel)(IClientInstance *this);
  PersonaRepository *(__fastcall *getPersonaRepository)(IClientInstance *this);
  mce::TextureGroup *(__fastcall *getTextures)(IClientInstance *this);
  mce::TextureGroup *(__fastcall *getStoreCacheTextures)(IClientInstance *this);
  MinecraftGraphics *(__fastcall *getMinecraftGraphics)(IClientInstance *this);
  UIRepository *(__fastcall *getUIRepository)(IClientInstance *this);
  gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *(__fastcall *getUserManager)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *result);
  bool (__fastcall *wantToQuit)(IClientInstance *this);
  bool (__fastcall *isPrimaryLevelCrossPlatformMultiplayer)(IClientInstance *this);
  bool (__fastcall *isPrimaryLevelMultiplayer)(IClientInstance *this);
  bool (__fastcall *isAdhocEnabled)(IClientInstance *this);
  void (__fastcall *linkToOffer)(IClientInstance *this, const std::string *, bool, const std::string *, StoreNavigationOrigin);
  void (__fastcall *linkToAllOffers)(IClientInstance *this, const std::string *, const std::string *, bool, const std::string *, const bool);
  void (__fastcall *navigateToBrazeScreen)(IClientInstance *this, const std::string *, const std::string *, const std::string *, const std::string *, const std::string *, const std::string *, const std::string *);
  void (__fastcall *navigateToStoreHomeScreen)(IClientInstance *this);
  void (__fastcall *navigateToCoinPurchaseScreen)(IClientInstance *this, int, std::function<void __cdecl(bool)>);
  void (__fastcall *navigateToPurchaseOfferScreen)(IClientInstance *this, StoreCatalogItem *, StoreNavigationOrigin, const bool);
  void (__fastcall *navigateToOfferCollectionScreen)(IClientInstance *this, StoreCatalogItem *);
  void (__fastcall *navigateToStoreSeeAllByCreatorScreen)(IClientInstance *this, const std::string *, const bool);
  void (__fastcall *navigateToServersScreen)(IClientInstance *this, const bool);
  void (__fastcall *navigateToHowToPlayScreen)(IClientInstance *this, const std::string *);
  void (__fastcall *tryPushLeaveGameScreen)(IClientInstance *this);
  void (__fastcall *doPushLeaveGameScreen)(IClientInstance *this);
  void (__fastcall *tryStartDayOneExperience)(IClientInstance *this);
  bool (__fastcall *isReadyToRender)(IClientInstance *this);
  void (__fastcall *onDimensionChangedEvent)(IClientInstance *this);
  void (__fastcall *onGameEventNotification)(IClientInstance *this, ui::GameEventNotification);
  std::string *(__fastcall *getTopScreenName)(IClientInstance *this, std::string *result);
  void (__fastcall *setLeaveGameInProgressAsReadyToContinue)(IClientInstance *this);
  void (__fastcall *stopDestroying)(IClientInstance *this);
  void (__fastcall *onClientCreatedLevel)(IClientInstance *this, std::unique_ptr<Level>, std::unique_ptr<LocalPlayer>);
  unsigned __int64 (__fastcall *getClientRandomId)(IClientInstance *this);
  UserAuthentication *(__fastcall *getUserAuthentication)(IClientInstance *this);
  std::weak_ptr<UserAuthentication> *(__fastcall *getWeakUserAuthentication)(IClientInstance *this, std::weak_ptr<UserAuthentication> *result);
  void (__fastcall *registerToUserManager)(IClientInstance *this, const gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *, int);
  void (__fastcall *resumeWithUserManager)(IClientInstance *this, const gsl::not_null<Bedrock::NonOwnerPointer<Social::IUserManager> > *, int);
  void (__fastcall *createUserAuthentication)(IClientInstance *this, unsigned __int64, const std::string *);
  void (__fastcall *createUserAuthentication)(IClientInstance *this, std::string);
  std::string *(__fastcall *getPlatformId)(IClientInstance *this, std::string *result);
  std::string *(__fastcall *getPlatformOnlineId)(IClientInstance *this, std::string *result);
  bool (__fastcall *isHoloCursorNeeded)(IClientInstance *this);
  bool (__fastcall *useController)(IClientInstance *this);
  bool (__fastcall *useTouchscreen)(IClientInstance *this);
  bool (__fastcall *getMouseGrabbed)(IClientInstance *this);
  bool (__fastcall *currentInputModeIsGamePadOrMotionController)(IClientInstance *this);
  bool (__fastcall *currentInputModeIsMouseAndKeyboard)(IClientInstance *this);
  bool (__fastcall *getForceMonoscopic)(IClientInstance *this);
  bool (__fastcall *allowPicking)(IClientInstance *this);
  bool (__fastcall *isShowingMenu)(IClientInstance *this);
  bool (__fastcall *isShowingProgressScreen)(IClientInstance *this);
  bool (__fastcall *isShowingWorldProgressScreen)(IClientInstance *this);
  bool (__fastcall *isShowingDeathScreen)(IClientInstance *this);
  bool (__fastcall *isScreenReplaceable)(IClientInstance *this);
  bool (__fastcall *isInGame)(IClientInstance *this);
  bool (__fastcall *isInRealm)(IClientInstance *this);
  bool (__fastcall *readyForShutdown)(IClientInstance *this);
  bool (__fastcall *isPrimaryClient)(IClientInstance *this);
  bool (__fastcall *isEduMode)(IClientInstance *this);
  bool (__fastcall *isGamepadCursorEnabled)(IClientInstance *this);
  const Minecraft *(__fastcall *getServerData)(IClientInstance *this);
  Minecraft *(__fastcall *getServerData)(IClientInstance *this);
  const MultiPlayerLevel *(__fastcall *getLevel)(IClientInstance *this);
  MultiPlayerLevel *(__fastcall *getLevel)(IClientInstance *this);
  bool (__fastcall *isPreGame)(IClientInstance *this);
  bool (__fastcall *isInMultiplayerGame)(IClientInstance *this);
  bool (__fastcall *isMultiPlayerClient)(IClientInstance *this);
  const Options *(__fastcall *getOptions)(IClientInstance *this);
  Options *(__fastcall *getOptions)(IClientInstance *this);
  const std::shared_ptr<Options const > *(__fastcall *getOptionsPtr)(IClientInstance *this, const std::shared_ptr<Options const > *result);
  std::shared_ptr<Options> *(__fastcall *getOptionsPtr)(IClientInstance *this, std::shared_ptr<Options> *result);
  const std::shared_ptr<Social::User const > *(__fastcall *getUser)(IClientInstance *this, const std::shared_ptr<Social::User const > *result);
  std::shared_ptr<Social::User> *(__fastcall *getUser)(IClientInstance *this, std::shared_ptr<Social::User> *result);
  GameRenderer *(__fastcall *getGameRenderer)(IClientInstance *this);
  HolosceneRenderer *(__fastcall *getHolosceneRenderer)(IClientInstance *this);
  LevelRenderer *(__fastcall *getLevelRenderer)(IClientInstance *this);
  LevelRendererCameraProxy *(__fastcall *getLevelRendererCameraProxy)(IClientInstance *this);
  const CameraManager *(__fastcall *getCameraManager)(IClientInstance *this);
  CameraManager *(__fastcall *getCameraManager)(IClientInstance *this);
  LightTexture *(__fastcall *getLightTexture)(IClientInstance *this);
  void (__fastcall *setupLevelRendering)(IClientInstance *this, Level *, Actor *);
  const mce::ViewportInfo *(__fastcall *getViewportInfo)(IClientInstance *this);
  void (__fastcall *setViewportInfo)(IClientInstance *this, const mce::ViewportInfo *);
  Vec2 *(__fastcall *getNormalizedViewportSize)(IClientInstance *this, Vec2 *result);
  void (__fastcall *updateChunkRadius)(IClientInstance *this);
  void (__fastcall *setUITexture)(IClientInstance *this, mce::Texture *);
  mce::Texture *(__fastcall *getUITexture)(IClientInstance *this);
  void (__fastcall *setLevelTexture)(IClientInstance *this, mce::Texture *);
  mce::Texture *(__fastcall *getLevelTexture)(IClientInstance *this);
  void (__fastcall *setUICursorTexture)(IClientInstance *this, mce::TexturePtr);
  mce::TexturePtr *(__fastcall *getUICursorTexture)(IClientInstance *this, mce::TexturePtr *result);
  mce::Camera *(__fastcall *getCamera)(IClientInstance *this);
  ShaderColor *(__fastcall *getShaderColor)(IClientInstance *this);
  ShaderColor *(__fastcall *getDarkShaderColor)(IClientInstance *this);
  void (__fastcall *clearGraphicsCache)(IClientInstance *this);
  void (__fastcall *getNormalizedUICursorTransform)(IClientInstance *this, MatrixStack::MatrixStackRef *, float);
  bool (__fastcall *shouldRenderUICursor)(IClientInstance *this);
  bool (__fastcall *getRenderPlayerModel)(IClientInstance *this);
  bool (__fastcall *getCameraFacesPlayerFront)(IClientInstance *this);
  float (__fastcall *getGuiScale)(IClientInstance *this);
  const Option *(__fastcall *getGuiScaleOption)(IClientInstance *this);
  int (__fastcall *getGuiScaleOffset)(IClientInstance *this);
  void (__fastcall *setGuiScaleOffset)(IClientInstance *this, int);
  void (__fastcall *renderImGui)(IClientInstance *this, ScreenContext *, bool);
  const GuiData *(__fastcall *getGuiData)(IClientInstance *this);
  GuiData *(__fastcall *getGuiData)(IClientInstance *this);
  GuidedFlowManager *(__fastcall *getGuidedFlowManager)(IClientInstance *this);
  const PixelCalc *(__fastcall *getDpadScale)(IClientInstance *this);
  gsl::not_null<Bedrock::NonOwnerPointer<DateManager const > > *(__fastcall *getDateManager)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<DateManager const > > *result);
  void (__fastcall *addOverrideHoursToDateTime)(IClientInstance *this, const unsigned int);
  ToastManager *(__fastcall *getToastManager)(IClientInstance *this);
  const AbstractScene *(__fastcall *getTopScene)(IClientInstance *this);
  AbstractScene *(__fastcall *getTopScene)(IClientInstance *this);
  const AbstractScene *(__fastcall *getActiveScene)(IClientInstance *this);
  AbstractScene *(__fastcall *getActiveScene)(IClientInstance *this);
  SceneFactory *(__fastcall *getSceneFactory)(IClientInstance *this);
  SceneStack *(__fastcall *getClientSceneStack)(IClientInstance *this);
  const SceneStack *(__fastcall *getClientSceneStack)(IClientInstance *this);
  hbui::Router *(__fastcall *getClientUIRouter)(IClientInstance *this);
  const SceneStack *(__fastcall *getMainSceneStack)(IClientInstance *this);
  SceneStack *(__fastcall *getMainSceneStack)(IClientInstance *this);
  SceneStack *(__fastcall *getCurrentSceneStack)(IClientInstance *this);
  const SceneStack *(__fastcall *getCurrentSceneStack)(IClientInstance *this);
  const hbui::Router *(__fastcall *getCurrentUIRouter)(IClientInstance *this);
  hbui::Router *(__fastcall *getCurrentUIRouter)(IClientInstance *this);
  hbui::ITelemetry *(__fastcall *getHBUITelemetry)(IClientInstance *this);
  SceneStack *(__fastcall *prepareSceneFor)(IClientInstance *this, const ui::SceneType, std::function<std::shared_ptr<AbstractScene> __cdecl(void)>);
  CachedScenes *(__fastcall *getCachedScenes)(IClientInstance *this);
  std::string *(__fastcall *getScreenName)(IClientInstance *this, std::string *result);
  std::string *(__fastcall *getScreenTelemetry)(IClientInstance *this, std::string *result);
  ui::SceneType (__fastcall *getTopSceneType)(IClientInstance *this);
  MobEffectsLayout *(__fastcall *getMobEffectsLayout)(IClientInstance *this);
  std::string *(__fastcall *emoticonifyText)(IClientInstance *this, std::string *result, const std::string *, bool);
  std::string *(__fastcall *emoticonifyText)(IClientInstance *this, std::string *result, const std::string *);
  void (__fastcall *onMobEffectsChange)(IClientInstance *this);
  void (__fastcall *setUISizeAndScale)(IClientInstance *this, int, int, float);
  void (__fastcall *forEachVisibleScreen)(IClientInstance *this, std::function<void __cdecl(AbstractScene &)>, bool);
  void (__fastcall *forEachScreen)(IClientInstance *this, std::function<bool __cdecl(AbstractScene &)>, bool);
  void (__fastcall *forEachScreenConst)(IClientInstance *this, std::function<bool __cdecl(AbstractScene const &)>, bool);
  bool (__fastcall *updateSceneStack)(IClientInstance *this);
  void (__fastcall *forEachAlwaysAcceptInputScreen)(IClientInstance *this, std::function<void __cdecl(AbstractScene &)>, const AbstractScene *);
  void (__fastcall *forEachAlwaysAcceptInputScreenWithTop)(IClientInstance *this, std::function<void __cdecl(AbstractScene &)>);
  void (__fastcall *showPlayerProfile)(IClientInstance *this, const std::string *, mce::UUID, const std::string *, const std::string *);
  InputMode (__fastcall *getCurrentInputMode)(IClientInstance *this);
  bool (__fastcall *isTouchGameplayAllowed)(IClientInstance *this);
  MinecraftInputHandler *(__fastcall *getMinecraftInput)(IClientInstance *this);
  void (__fastcall *setHoloInput)(IClientInstance *this, std::unique_ptr<HolographicPlatform>);
  HolographicPlatform *(__fastcall *getHoloInput)(IClientInstance *this);
  VoiceSystem *(__fastcall *getVoiceSystem)(IClientInstance *this);
  KeyboardManager *(__fastcall *getKeyboardManager)(IClientInstance *this);
  void (__fastcall *setVoiceSystem)(IClientInstance *this, std::unique_ptr<VoiceSystem>);
  void (__fastcall *setLastPointerLocation)(IClientInstance *this, float, float, float);
  Vec3 *(__fastcall *getLastPointerLocation)(IClientInstance *this);
  bool (__fastcall *shouldUseLastPointerLocationOnFocusChange)(IClientInstance *this);
  void (__fastcall *adjustGazeCursorByMouse)(IClientInstance *this, float, float);
  bool (__fastcall *currentScreenShouldStealMouse)(IClientInstance *this);
  BuildActionIntention *(__fastcall *getInProgressBAI)(IClientInstance *this);
  bool (__fastcall *newDictationDataAvailable)(IClientInstance *this);
  void (__fastcall *clearDictationDataAvailable)(IClientInstance *this);
  const std::string *(__fastcall *getDictationText)(IClientInstance *this);
  PacketSender *(__fastcall *getPacketSender)(IClientInstance *this);
  const NetworkHandler *(__fastcall *getClientNetworkSystem)(IClientInstance *this);
  NetworkHandler *(__fastcall *getClientNetworkSystem)(IClientInstance *this);
  void (__fastcall *setMoveTurnInput)(IClientInstance *this, std::unique_ptr<MoveInputHandler>);
  MoveInputHandler *(__fastcall *getMoveTurnInput)(IClientInstance *this);
  void (__fastcall *setupPersistentControls)(IClientInstance *this, InputMode);
  void (__fastcall *resetPlayerMovement)(IClientInstance *this);
  void (__fastcall *onClientInputInitComplete)(IClientInstance *this);
  void (__fastcall *setClientInputHandler)(IClientInstance *this, std::unique_ptr<ClientInputHandler>);
  ClientInputHandler *(__fastcall *getInput)(IClientInstance *this);
  int (__fastcall *getControllerId)(IClientInstance *this);
  bool (__fastcall *hasConnectedController)(IClientInstance *this);
  unsigned __int8 (__fastcall *getClientSubId)(IClientInstance *this);
  void (__fastcall *setSuspendInput)(IClientInstance *this, bool);
  void (__fastcall *setDisableInput)(IClientInstance *this, bool);
  void (__fastcall *grabMouse)(IClientInstance *this);
  void (__fastcall *releaseMouse)(IClientInstance *this);
  void (__fastcall *refocusMouse)(IClientInstance *this, bool);
  void (__fastcall *resetBai)(IClientInstance *this, int);
  void (__fastcall *clearInProgressBAI)(IClientInstance *this);
  gsl::not_null<Bedrock::NonOwnerPointer<SoundEngine> > *(__fastcall *getSoundEngine)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<SoundEngine> > *result);
  void (__fastcall *play)(IClientInstance *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *playUI)(IClientInstance *this, const std::string *, float, float);
  void (__fastcall *muteAudio)(IClientInstance *this);
  void (__fastcall *unMuteAudio)(IClientInstance *this);
  void (__fastcall *fadeOutMusic)(IClientInstance *this);
  TaskGroup *(__fastcall *getTaskGroup)(IClientInstance *this);
  void (__fastcall *onFullVanillaPackOnStack)(IClientInstance *this);
  bool (__fastcall *isFullVanillaPackOnStack)(IClientInstance *this);
  void (__fastcall *onPlayerLoaded)(IClientInstance *this, Player *);
  void (__fastcall *setClientGameMode)(IClientInstance *this, GameType);
  void (__fastcall *resetToDefaultGameMode)(IClientInstance *this);
  void (__fastcall *connectToThirdPartyServer)(IClientInstance *this, const std::string *, const std::string *, int);
  void (__fastcall *startExternalNetworkWorld)(IClientInstance *this, Social::GameConnectionInfo, const std::string *, bool);
  bool (__fastcall *checkForPiracy)(IClientInstance *this);
  void (__fastcall *updateChatFilterStatus)(IClientInstance *this);
  void (__fastcall *updateControllerHandling)(IClientInstance *this);
  void (__fastcall *setBehaviorCommandCallback)(IClientInstance *this, std::function<void __cdecl(std::string const &,enum BehaviorStatus)>);
  void (__fastcall *setBehaviorCommandStatus)(IClientInstance *this, std::string, BehaviorStatus);
  void (__fastcall *setConnectGamepadScreenActive)(IClientInstance *this, bool);
  Core::PathBuffer<std::string > *(__fastcall *requestScreenshot)(IClientInstance *this, Core::PathBuffer<std::string > *result, ScreenshotOptions *);
  DevConsoleLogger *(__fastcall *getDevConsoleLogger)(IClientInstance *this);
  std::shared_ptr<FileDataRequest> *(__fastcall *requestImageFromUrl)(IClientInstance *this, std::shared_ptr<FileDataRequest> *result, const std::string *, std::function<void __cdecl(Core::Path const &)>);
  void (__fastcall *initializeRenderResources)(IClientInstance *this);
  void (__fastcall *postInitRenderResources)(IClientInstance *this);
  void (__fastcall *onAppSuspended)(IClientInstance *this);
  void (__fastcall *onActiveResourcePacksChanged)(IClientInstance *this, const ActorResourceDefinitionGroup *);
  void (__fastcall *reloadEntityRenderers)(IClientInstance *this, const ActorResourceDefinitionGroup *);
  BlockTessellator *(__fastcall *getBlockTessellator)(IClientInstance *this);
  BlockActorRenderDispatcher *(__fastcall *getBlockEntityRenderDispatcher)(IClientInstance *this);
  ActorRenderDispatcher *(__fastcall *getEntityRenderDispatcher)(IClientInstance *this);
  ActorBlockRenderer *(__fastcall *getEntityBlockRenderer)(IClientInstance *this);
  ItemInHandRenderer *(__fastcall *getItemInHandRenderer)(IClientInstance *this);
  ItemRenderer *(__fastcall *getItemRenderer)(IClientInstance *this);
  std::deque<std::string> *(__fastcall *getSentMessageHistory)(IClientInstance *this);
  std::deque<std::string> *(__fastcall *getDevConsoleMessageHistory)(IClientInstance *this);
  const UIProfanityContext *(__fastcall *getUIProfanityContext)(IClientInstance *this);
  void (__fastcall *initTTSClient)(IClientInstance *this, TextToSpeechSystem *);
  std::shared_ptr<TextToSpeechClient const > *(__fastcall *getTTSClient)(IClientInstance *this, std::shared_ptr<TextToSpeechClient const > *result);
  std::shared_ptr<TextToSpeechClient> *(__fastcall *getTTSClient)(IClientInstance *this, std::shared_ptr<TextToSpeechClient> *result);
  std::shared_ptr<ITTSEventManager> *(__fastcall *getTTSEventManager)(IClientInstance *this, std::shared_ptr<ITTSEventManager> *result);
  void (__fastcall *addTTSMessage)(IClientInstance *this, const std::string *, ProfanityFilterContext, bool, bool, bool);
  void (__fastcall *initCommands)(IClientInstance *this);
  unsigned int (__fastcall *getUserId)(IClientInstance *this);
  long double (__fastcall *getServerConnectionTime)(IClientInstance *this);
  const ClientHMDState *(__fastcall *getHMDState)(IClientInstance *this);
  ClientHMDState *(__fastcall *getHMDState)(IClientInstance *this);
  void (__fastcall *setServerPingTime)(IClientInstance *this, int);
  int (__fastcall *getServerPingTime)(IClientInstance *this);
  void (__fastcall *setDefaultPlayscreenTab)(IClientInstance *this, PlayScreenDefaultTab);
  void (__fastcall *setClientInstanceState)(IClientInstance *this, const ClientInstanceState *);
  void (__fastcall *setUIEventCoordinator)(IClientInstance *this, std::unique_ptr<UIEventCoordinator> *);
  gsl::not_null<Bedrock::NonOwnerPointer<UIEventCoordinator> > *(__fastcall *getUIEventCoordinator)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<UIEventCoordinator> > *result);
  gsl::not_null<Bedrock::NonOwnerPointer<ClientInstanceEventCoordinator> > *(__fastcall *getEventCoordinator)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<ClientInstanceEventCoordinator> > *result);
  void (__fastcall *computeScreenCoordsFromScreenNormCoords)(IClientInstance *this, float, float, __int16 *, __int16 *);
  std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > *(__fastcall *getNoBlockBreakUntil)(IClientInstance *this, std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > > *result);
  void (__fastcall *setNoBlockBreakUntil)(IClientInstance *this, std::chrono::time_point<std::chrono::steady_clock,std::chrono::duration<__int64,std::ratio<1,1000000000> > >);
  void (__fastcall *setDictation)(IClientInstance *this, const std::string *);
  void (__fastcall *setNewDictationString)(IClientInstance *this, bool);
  GameModuleClient *(__fastcall *getGameModule)(IClientInstance *this);
  GameCallbacks *(__fastcall *getGameCallbacks)(IClientInstance *this);
  Core::StorageAreaStateListener *(__fastcall *getStorageAreaStateListener)(IClientInstance *this);
  MinecraftClientScriptEngine *(__fastcall *getScriptEngine)(IClientInstance *this);
  void (__fastcall *sendClientEnteredLevel)(IClientInstance *this);
  HitDetectSystem *(__fastcall *getHitDetectSystem)(IClientInstance *this);
  int (__fastcall *getScreenWidth)(IClientInstance *this);
  int (__fastcall *getScreenHeight)(IClientInstance *this);
  bool (__fastcall *getResponse)(IClientInstance *this);
  void (__fastcall *setResponse)(IClientInstance *this, bool);
  HitResult *(__fastcall *getPickResult)(IClientInstance *this, HitResult *result, int, int);
  unsigned __int64 (__fastcall *playCustomSound)(IClientInstance *this, const std::string *, Vec3, float, float);
  void (__fastcall *stopCustomSound)(IClientInstance *this, unsigned __int64);
  void (__fastcall *stopCustomSound)(IClientInstance *this, const std::string *);
  void (__fastcall *stopSounds)(IClientInstance *this);
  void (__fastcall *playDeferredCustomSound)(IClientInstance *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *playRecord)(IClientInstance *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *stopRecord)(IClientInstance *this, const Vec3 *);
  bool (__fastcall *getCrossHair)(IClientInstance *this);
  void (__fastcall *setCrossHair)(IClientInstance *this, bool);
  bool (__fastcall *isMouseHooked)(IClientInstance *this);
  void (__fastcall *setMouseHook)(IClientInstance *this, bool);
  void (__fastcall *updateMoveStates)(IClientInstance *this);
  void (__fastcall *updateFlyStates)(IClientInstance *this);
  void (__fastcall *updateSwimStates)(IClientInstance *this);
  bool (__fastcall *takeScreenshot)(IClientInstance *this, cg::ImageBuffer *);
  void (__fastcall *setHideSnakeGUI)(IClientInstance *this, bool);
  bool (__fastcall *getHideSnakeGUI)(IClientInstance *this);
  bool (__fastcall *isPlaying)(IClientInstance *this);
  ClientInstanceState (__fastcall *getClientInstanceState)(IClientInstance *this);
  LatencyGraphDisplay *(__fastcall *getLatencyGraphDisplay)(IClientInstance *this);
  std::weak_ptr<IClientInstance> *(__fastcall *getWeakPtrToThis)(IClientInstance *this, std::weak_ptr<IClientInstance> *result);
  const ClientRequirementVerifier *(__fastcall *getClientRequirementVerifier)(IClientInstance *this);
  gsl::not_null<Bedrock::NonOwnerPointer<FogDefinitionRegistry> > *(__fastcall *getFogDefinitionRegistry)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<FogDefinitionRegistry> > *result);
  gsl::not_null<Bedrock::NonOwnerPointer<FogDefinitionRegistry const > > *(__fastcall *getFogDefinitionRegistry)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<FogDefinitionRegistry const > > *result);
  gsl::not_null<Bedrock::NonOwnerPointer<FogManager> > *(__fastcall *getFogManager)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<FogManager> > *result);
  gsl::not_null<Bedrock::NonOwnerPointer<FogManager const > > *(__fastcall *getFogManager)(IClientInstance *this, gsl::not_null<Bedrock::NonOwnerPointer<FogManager const > > *result);
};

# ConduitBlockActor_vtbl

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

# Cat_vtbl

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

# CaveSpider_vtbl

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

# ChestBlockActor_vtbl

struct /*VFT*/ ChestBlockActor_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 *);
  void (__fastcall *loadItems)(ChestBlockActor *this, const CompoundTag *, Level *);
  bool (__fastcall *saveItems)(ChestBlockActor *this, CompoundTag *);
  void (__fastcall *playOpenSound)(ChestBlockActor *this, BlockSource *);
  void (__fastcall *playCloseSound)(ChestBlockActor *this, BlockSource *);
  bool (__fastcall *_canOpenThis)(ChestBlockActor *this, BlockSource *);
  AABB *(__fastcall *getObstructionAABB)(ChestBlockActor *this, AABB *result);
  bool (__fastcall *_detectEntityObstruction)(ChestBlockActor *this, BlockSource *);
};

# Chicken_vtbl

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

# ChunkSourceViewMgr_vtbl

struct /*VFT*/ ChunkSourceViewMgr_vtbl
{
  void (__fastcall *~BlockSourceListener)(BlockSourceListener *this);
  void (__fastcall *onSourceCreated)(BlockSourceListener *this, BlockSource *);
  void (__fastcall *onSourceDestroyed)(BlockSourceListener *this, BlockSource *);
  void (__fastcall *onAreaChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *, const BlockPos *);
  void (__fastcall *onBlockChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *, unsigned int, const Block *, const Block *, int, const ActorBlockSyncMessage *);
  void (__fastcall *onBrightnessChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *);
  void (__fastcall *onBlockEntityChanged)(BlockSourceListener *this, BlockSource *, BlockActor *);
  void (__fastcall *onBlockEntityAboutToBeRemoved)(BlockSourceListener *this, BlockSource *, std::shared_ptr<BlockActor>);
  void (__fastcall *onEntityChanged)(BlockSourceListener *this, BlockSource *, Actor *);
  void (__fastcall *onBlockEvent)(BlockSourceListener *this, BlockSource *, int, int, int, int, int);
  void (__fastcall *allChanged)(LevelListener *this);
  Particle *(__fastcall *addParticle)(LevelListener *this, ParticleType, const Vec3 *, const Vec3 *, int, const CompoundTag *, bool);
  void (__fastcall *sendServerLegacyParticle)(LevelListener *this, ParticleType, const Vec3 *, const Vec3 *, int);
  void (__fastcall *addParticleEffect)(LevelListener *this, const HashedString *, const Actor *, const HashedString *, const Vec3 *, const MolangVariableMap *);
  void (__fastcall *addParticleEffect)(LevelListener *this, const HashedString *, const Vec3 *, const MolangVariableMap *);
  void (__fastcall *addTerrainParticleEffect)(LevelListener *this, const BlockPos *, const Block *, const Vec3 *, float, float, float);
  void (__fastcall *addTerrainSlideEffect)(LevelListener *this, const BlockPos *, const Block *, const Vec3 *, float, float, float);
  void (__fastcall *addBreakingItemParticleEffect)(LevelListener *this, const Vec3 *, ParticleType, const TextureUVCoordinateSet *, bool);
  void (__fastcall *playMusic)(LevelListener *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *playStreamingMusic)(LevelListener *this, const std::string *, int, int, int);
  void (__fastcall *onEntityAdded)(LevelListener *this, Actor *);
  void (__fastcall *onEntityRemoved)(LevelListener *this, Actor *);
  void (__fastcall *onChunkLoaded)(LevelListener *this, ChunkSource *, LevelChunk *);
  void (__fastcall *onChunkUnloaded)(LevelListener *this, LevelChunk *);
  void (__fastcall *onLevelDestruction)(LevelListener *this, const std::string *);
  void (__fastcall *levelEvent)(LevelListener *this, LevelEvent, const CompoundTag *);
  void (__fastcall *levelEvent)(LevelListener *this, LevelEvent, const Vec3 *, int);
  void (__fastcall *levelSoundEvent)(LevelListener *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *levelSoundEvent)(LevelListener *this, LevelSoundEvent, const Vec3 *, int, const ActorDefinitionIdentifier *, bool, bool);
  void (__fastcall *stopSoundEvent)(LevelListener *this, const std::string *);
  void (__fastcall *stopAllSounds)(LevelListener *this);
  void (__fastcall *takePicture)(LevelListener *this, cg::ImageBuffer *, Actor *, Actor *, ScreenshotOptions *);
  void (__fastcall *playerListChanged)(LevelListener *this);
};

# ClassroomModeListener_vtbl

struct /*VFT*/ ClassroomModeListener_vtbl
{
  void (__fastcall *~BlockSourceListener)(BlockSourceListener *this);
  void (__fastcall *onSourceCreated)(BlockSourceListener *this, BlockSource *);
  void (__fastcall *onSourceDestroyed)(BlockSourceListener *this, BlockSource *);
  void (__fastcall *onAreaChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *, const BlockPos *);
  void (__fastcall *onBlockChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *, unsigned int, const Block *, const Block *, int, const ActorBlockSyncMessage *);
  void (__fastcall *onBrightnessChanged)(BlockSourceListener *this, BlockSource *, const BlockPos *);
  void (__fastcall *onBlockEntityChanged)(BlockSourceListener *this, BlockSource *, BlockActor *);
  void (__fastcall *onBlockEntityAboutToBeRemoved)(BlockSourceListener *this, BlockSource *, std::shared_ptr<BlockActor>);
  void (__fastcall *onEntityChanged)(BlockSourceListener *this, BlockSource *, Actor *);
  void (__fastcall *onBlockEvent)(BlockSourceListener *this, BlockSource *, int, int, int, int, int);
  void (__fastcall *allChanged)(LevelListener *this);
  Particle *(__fastcall *addParticle)(LevelListener *this, ParticleType, const Vec3 *, const Vec3 *, int, const CompoundTag *, bool);
  void (__fastcall *sendServerLegacyParticle)(LevelListener *this, ParticleType, const Vec3 *, const Vec3 *, int);
  void (__fastcall *addParticleEffect)(LevelListener *this, const HashedString *, const Actor *, const HashedString *, const Vec3 *, const MolangVariableMap *);
  void (__fastcall *addParticleEffect)(LevelListener *this, const HashedString *, const Vec3 *, const MolangVariableMap *);
  void (__fastcall *addTerrainParticleEffect)(LevelListener *this, const BlockPos *, const Block *, const Vec3 *, float, float, float);
  void (__fastcall *addTerrainSlideEffect)(LevelListener *this, const BlockPos *, const Block *, const Vec3 *, float, float, float);
  void (__fastcall *addBreakingItemParticleEffect)(LevelListener *this, const Vec3 *, ParticleType, const TextureUVCoordinateSet *, bool);
  void (__fastcall *playMusic)(LevelListener *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *playStreamingMusic)(LevelListener *this, const std::string *, int, int, int);
  void (__fastcall *onEntityAdded)(LevelListener *this, Actor *);
  void (__fastcall *onEntityRemoved)(LevelListener *this, Actor *);
  void (__fastcall *onChunkLoaded)(LevelListener *this, ChunkSource *, LevelChunk *);
  void (__fastcall *onChunkUnloaded)(LevelListener *this, LevelChunk *);
  void (__fastcall *onLevelDestruction)(LevelListener *this, const std::string *);
  void (__fastcall *levelEvent)(LevelListener *this, LevelEvent, const CompoundTag *);
  void (__fastcall *levelEvent)(LevelListener *this, LevelEvent, const Vec3 *, int);
  void (__fastcall *levelSoundEvent)(LevelListener *this, const std::string *, const Vec3 *, float, float);
  void (__fastcall *levelSoundEvent)(LevelListener *this, LevelSoundEvent, const Vec3 *, int, const ActorDefinitionIdentifier *, bool, bool);
  void (__fastcall *stopSoundEvent)(LevelListener *this, const std::string *);
  void (__fastcall *stopAllSounds)(LevelListener *this);
  void (__fastcall *takePicture)(LevelListener *this, cg::ImageBuffer *, Actor *, Actor *, ScreenshotOptions *);
  void (__fastcall *playerListChanged)(LevelListener *this);
};

# Creeper_vtbl

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

# ClientPlayerMovementProxy_vtbl

struct /*VFT*/ ClientPlayerMovementProxy_vtbl
{
  void (__fastcall *~IActorMovementProxy)(IActorMovementProxy *this);
  float (__fastcall *getGravity)(IActorMovementProxy *this);
  float (__fastcall *getLevelGravity)(IActorMovementProxy *this);
  bool (__fastcall *isRiding)(IActorMovementProxy *this);
  bool (__fastcall *isClientSide)(IActorMovementProxy *this);
  bool (__fastcall *isCreative)(IActorMovementProxy *this);
  bool (__fastcall *isInWater)(IActorMovementProxy *this);
  bool (__fastcall *isInLava)(IActorMovementProxy *this);
  bool (__fastcall *isInScaffolding)(IActorMovementProxy *this);
  bool (__fastcall *isOverScaffolding)(IActorMovementProxy *this);
  bool (__fastcall *isSwimming)(IActorMovementProxy *this);
  bool (__fastcall *isImmersedInWater)(IActorMovementProxy *this);
  bool (__fastcall *onClimbableBlock)(IActorMovementProxy *this);
  bool (__fastcall *onHoverableBlock)(IActorMovementProxy *this);
  bool (__fastcall *isHeadInWater)(IActorMovementProxy *this);
  bool (__fastcall *canBeginOrContinueClimbingLadder)(IActorMovementProxy *this);
  bool (__fastcall *isSwimmer)(IActorMovementProxy *this);
  bool (__fastcall *isImmobile)(IActorMovementProxy *this);
  bool (__fastcall *isControlledByLocalInstance)(IActorMovementProxy *this);
  bool (__fastcall *hasTeleported)(IActorMovementProxy *this);
  bool (__fastcall *usesOneWayCollision)(IActorMovementProxy *this);
  bool (__fastcall *isStuckInCollider)(IActorMovementProxy *this);
  void (__fastcall *setStuckInCollider)(IActorMovementProxy *this, bool);
  bool (__fastcall *isStuckItem)(IActorMovementProxy *this);
  const std::vector<AABB> *(__fastcall *getOnewayPhysicsBlocks)(IActorMovementProxy *this);
  bool (__fastcall *wasPenetratingLastFrame)(IActorMovementProxy *this);
  void (__fastcall *setWasPenetratingLastFrame)(IActorMovementProxy *this, bool);
  bool (__fastcall *isPrimaryLocalPlayer)(IActorMovementProxy *this);
  const std::vector<AABB> *(__fastcall *getSubAABBs)(IActorMovementProxy *this);
  void (__fastcall *setSubAABBs)(IActorMovementProxy *this, const std::vector<AABB> *);
  bool (__fastcall *isStackable)(IActorMovementProxy *this);
  void (__fastcall *testForEntityStacking)(IActorMovementProxy *this, const AABB *, std::vector<AABB> *);
  bool (__fastcall *getCollidableMobNear)(IActorMovementProxy *this);
  void (__fastcall *setCollidableMobNear)(IActorMovementProxy *this, bool);
  void (__fastcall *testForCollidableMobs)(IActorMovementProxy *this, const AABB *, std::vector<AABB> *);
  float (__fastcall *getWalkDist)(IActorMovementProxy *this);
  void (__fastcall *setWalkDist)(IActorMovementProxy *this, float);
  bool (__fastcall *isOnGround)(IActorMovementProxy *this);
  void (__fastcall *setOnGround)(IActorMovementProxy *this, bool);
  bool (__fastcall *wasOnGround)(IActorMovementProxy *this);
  void (__fastcall *setWasOnGround)(IActorMovementProxy *this, bool);
  int (__fastcall *getHealth)(IActorMovementProxy *this);
  bool (__fastcall *getHorizontalCollision)(IActorMovementProxy *this);
  void (__fastcall *setHorizontalCollision)(IActorMovementProxy *this, bool);
  bool (__fastcall *getVerticalCollision)(IActorMovementProxy *this);
  void (__fastcall *setVerticalCollision)(IActorMovementProxy *this, bool);
  bool (__fastcall *getCollision)(IActorMovementProxy *this);
  void (__fastcall *setCollision)(IActorMovementProxy *this, bool);
  float (__fastcall *getUserDefineMaxAutoStep)(IActorMovementProxy *this);
  float (__fastcall *getMaxAutoStep)(IActorMovementProxy *this);
  bool (__fastcall *isFree)(IActorMovementProxy *this, const Vec3 *);
  float (__fastcall *getHeightOffset)(IActorMovementProxy *this);
  Vec2 *(__fastcall *getSlideOffset)(IActorMovementProxy *this, Vec2 *result);
  void (__fastcall *setSlideOffset)(IActorMovementProxy *this, const Vec2 *);
  void (__fastcall *setTerrainSurfaceOffset)(IActorMovementProxy *this, float);
  const Vec3 *(__fastcall *getBlockMovementSlowdownMultiplier)(IActorMovementProxy *this);
  void (__fastcall *setBlockMovementSlowdownMultiplier)(IActorMovementProxy *this, const Vec3 *);
  float (__fastcall *getCurrentSwimAmount)(IActorMovementProxy *this);
  const WaterMovementComponent *(__fastcall *tryGetWaterMovementComponent)(IActorMovementProxy *this);
  const AttributeInstance *(__fastcall *getAttribute)(IActorMovementProxy *this, const Attribute *);
  bool (__fastcall *hasEffect)(IActorMovementProxy *this, const MobEffect *);
  const MobEffectInstance *(__fastcall *getEffect)(IActorMovementProxy *this, const MobEffect *);
  int (__fastcall *getActiveEffectCount)(IActorMovementProxy *this);
  const SynchedActorData *(__fastcall *getEntityData)(IActorMovementProxy *this);
  void (__fastcall *setStatusFlag)(IActorMovementProxy *this, ActorFlags, bool);
  bool (__fastcall *getStatusFlag)(IActorMovementProxy *this, ActorFlags);
  bool (__fastcall *hasCategory)(IActorMovementProxy *this, ActorCategory);
  bool (__fastcall *isType)(IActorMovementProxy *this, ActorType);
  Vec3 *(__fastcall *getPosition)(IActorMovementProxy *this, Vec3 *result);
  void (__fastcall *setPosition)(IActorMovementProxy *this, const Vec3 *);
  Vec2 *(__fastcall *getRotation)(IActorMovementProxy *this, Vec2 *result);
  void (__fastcall *setRotation)(IActorMovementProxy *this, const Vec2 *);
  const StateVectorComponent *(__fastcall *getStateVectorComponent)(IActorMovementProxy *this);
  StateVectorComponent *(__fastcall *getStateVectorComponentNonConst)(IActorMovementProxy *this);
  const AABBShapeComponent *(__fastcall *getAABBShapeComponent)(IActorMovementProxy *this);
  AABBShapeComponent *(__fastcall *getAABBShapeComponentNonConst)(IActorMovementProxy *this);
  void (__fastcall *setFallDistance)(IActorMovementProxy *this, float);
  bool (__fastcall *isSneaking)(IActorMovementProxy *this);
  void (__fastcall *setSneaking)(IActorMovementProxy *this, bool);
  Vec3 *(__fastcall *getHeadLookVector)(IActorMovementProxy *this, Vec3 *result, float);
  Vec3 *(__fastcall *getViewVector)(IActorMovementProxy *this, Vec3 *result, float);
  const BlockSource *(__fastcall *getRegion)(IActorMovementProxy *this);
  BlockSource *(__fastcall *getRegion)(IActorMovementProxy *this);
  std::vector<AABB> *(__fastcall *fetchCollisionShapes)(IActorMovementProxy *this, const AABB *, float *, bool, IActorMovementProxy *);
  const std::vector<std::shared_ptr<IActorMovementProxy>> *(__fastcall *fetchEntities)(IActorMovementProxy *this, const IActorMovementProxy *, const AABB *);
  bool (__fastcall *hasRegion)(IActorMovementProxy *this);
  IActorMovementProxy *(__fastcall *getRide)(IActorMovementProxy *this);
  bool (__fastcall *isWASDControlled)(IActorMovementProxy *this);
  int (__fastcall *getControllingSeat)(IActorMovementProxy *this);
  int (__fastcall *getRiderIndex)(IActorMovementProxy *this, const IActorMovementProxy *);
  IBoatMovementProxy *(__fastcall *tryAsBoat)(IActorMovementProxy *this);
  IMobMovementProxy *(__fastcall *tryAsMob)(IActorMovementProxy *this);
  IPlayerMovementProxy *(__fastcall *tryAsPlayer)(IActorMovementProxy *this);
  const std::vector<ActorUniqueID> *(__fastcall *getRiderIDs)(IActorMovementProxy *this);
  const ActorUniqueID *(__fastcall *getUniqueID)(IActorMovementProxy *this);
  ActorRuntimeID *(__fastcall *getRuntimeID)(IActorMovementProxy *this, ActorRuntimeID *result);
  AABB *(__fastcall *getHandleWaterAABB)(IActorMovementProxy *this, AABB *result);
  BlockPos *(__fastcall *getBlockPosCurrentlyStandingOn)(IActorMovementProxy *this, BlockPos *result, IActorMovementProxy *);
  void (__fastcall *blockOnStandOn)(IActorMovementProxy *this, const Block *, const BlockPos *);
  bool (__fastcall *_containsSneakCollisionShapes)(IActorMovementProxy *this, const AABB *);
  void (__fastcall *move)(IActorMovementProxy *this, const Vec3 *);
  void (__fastcall *moveBBs)(IActorMovementProxy *this, const Vec3 *);
  void (__fastcall *checkFallDamage)(IActorMovementProxy *this, float, bool);
  void (__fastcall *onBounceStarted)(IActorMovementProxy *this, const BlockPos *, const Block *);
  void (__fastcall *updatePrevPosRot)(IActorMovementProxy *this);
  void (__fastcall *sendActorMove)(IActorMovementProxy *this, const Vec3 *);
  void (__fastcall *_teleportTo)(IActorMovementProxy *this, const Vec3 *, bool, int, int);
  Actor *(__fastcall *_getActor)(IActorMovementProxy *this);
  const Actor *(__fastcall *_getRawActor)(IActorMovementProxy *this);
  Actor *(__fastcall *_getRawActor)(IActorMovementProxy *this);
  SynchedActorData *(__fastcall *_getEntityData)(IActorMovementProxy *this);
  const Vec2 *(__fastcall *_getRotPrev)(IActorMovementProxy *this);
  void (__fastcall *_setRotPrev)(IActorMovementProxy *this, const Vec2 *);
  void (__fastcall *_setPreviousPosRot)(IActorMovementProxy *this, const Vec3 *, const Vec2 *);
  void (__fastcall *_setHasTeleported)(IActorMovementProxy *this, bool);
  gsl::not_null<BaseAttributeMap *> *(__fastcall *_getAttributes)(IActorMovementProxy *this, gsl::not_null<BaseAttributeMap *> *result);
  void (__fastcall *_applySnapshot)(IActorMovementProxy *this, const PlayerSnapshot *);
  std::unique_ptr<PlayerSnapshot> *(__fastcall *_createSnapshot)(IActorMovementProxy *this, std::unique_ptr<PlayerSnapshot> *result);
  AdvanceFrameResult (__fastcall *_advanceLiveFrame)(IActorMovementProxy *this, const IReplayableActorInput *);
  bool (__fastcall *isSetWaterSpeed)(IMobMovementProxy *this);
  float (__fastcall *getWaterSpeed)(IMobMovementProxy *this);
  bool (__fastcall *isDisableGravityInLiquid)(IMobMovementProxy *this);
  int (__fastcall *getNoJumpDelay)(IMobMovementProxy *this);
  void (__fastcall *setNoJumpDelay)(IMobMovementProxy *this, int);
  bool (__fastcall *isJumping)(IMobMovementProxy *this);
  void (__fastcall *setJumping)(IMobMovementProxy *this, bool);
  bool (__fastcall *getJumpVelRedux)(IMobMovementProxy *this);
  void (__fastcall *setJumpVelRedux)(IMobMovementProxy *this, bool);
  Vec3 *(__fastcall *getJumpStartPos)(IMobMovementProxy *this, Vec3 *result);
  void (__fastcall *setJumpStartPos)(IMobMovementProxy *this, const Vec3 *);
  float (__fastcall *getJumpPower)(IMobMovementProxy *this);
  int (__fastcall *getJumpTicks)(IMobMovementProxy *this);
  void (__fastcall *setJumpTicks)(IMobMovementProxy *this, int);
  void (__fastcall *_endJump)(IMobMovementProxy *this);
  void (__fastcall *onPlayerJump)(IMobMovementProxy *this, int);
  float (__fastcall *getSpeed)(IMobMovementProxy *this);
  void (__fastcall *setSpeed)(IMobMovementProxy *this, float);
  bool (__fastcall *isSprinting)(IMobMovementProxy *this);
  void (__fastcall *setSprinting)(IMobMovementProxy *this, bool);
  bool (__fastcall *discardFriction)(IMobMovementProxy *this);
  const NavigationComponent *(__fastcall *tryGetNavigationComponent)(IMobMovementProxy *this);
  float (__fastcall *getTilt)(IMobMovementProxy *this);
  void (__fastcall *setTilt)(IMobMovementProxy *this, float);
  bool (__fastcall *_allowAscendingScaffolding)(IMobMovementProxy *this);
  void (__fastcall *ascendScaffolding)(IMobMovementProxy *this);
  void (__fastcall *descendScaffolding)(IMobMovementProxy *this);
  void (__fastcall *ascendLadder)(IMobMovementProxy *this);
  void (__fastcall *jumpFromGround)(IMobMovementProxy *this);
  bool (__fastcall *isGliding)(IMobMovementProxy *this);
  Vec3 *(__fastcall *getLocalMoveVelocity)(IMobMovementProxy *this, Vec3 *result);
  void (__fastcall *setLocalMoveVelocity)(IMobMovementProxy *this, const Vec3 *);
  float (__fastcall *getYRotA)(IMobMovementProxy *this);
  void (__fastcall *setYRotA)(IMobMovementProxy *this, float);
  bool (__fastcall *useNewAi)(IMobMovementProxy *this);
  void (__fastcall *newServerAiStep)(IMobMovementProxy *this);
  void (__fastcall *updateAi)(IMobMovementProxy *this);
  void (__fastcall *aiStep)(IMobMovementProxy *this);
  void (__fastcall *updateAttackAnim)(IMobMovementProxy *this);
  int (__fastcall *getNoActionTime)(IMobMovementProxy *this);
  void (__fastcall *setNoActionTime)(IMobMovementProxy *this, int);
  float (__fastcall *getYHeadRot)(IMobMovementProxy *this);
  void (__fastcall *setYHeadRot)(IMobMovementProxy *this, float);
  float (__fastcall *getSwimSpeedMultiplier)(IMobMovementProxy *this);
  void (__fastcall *setSwimSpeedMultiplier)(IMobMovementProxy *this, float);
  void (__fastcall *pushActors)(IMobMovementProxy *this);
  void (__fastcall *updateGliding)(IMobMovementProxy *this);
  void (__fastcall *travel)(IMobMovementProxy *this, float, float, float);
  void (__fastcall *playJumpSound)(IMobMovementProxy *this);
  void (__fastcall *emitJumpPreventedEvent)(IMobMovementProxy *this, const BlockPos *);
  float (__fastcall *getWaterWalkerEnchant)(IMobMovementProxy *this);
  float (__fastcall *calcGroundFriction)(IMobMovementProxy *this, const Block *, const BlockPos *);
  float (__fastcall *getFlyingSpeed)(IMobMovementProxy *this);
  void (__fastcall *setFlyingSpeed)(IMobMovementProxy *this, float);
  void (__fastcall *applyFinalFriction)(IMobMovementProxy *this, float, bool);
  bool (__fastcall *shouldApplyWaterGravity)(IMobMovementProxy *this);
  float (__fastcall *getFrictionModifier)(IMobMovementProxy *this);
  void (__fastcall *setFrictionModifier)(IMobMovementProxy *this, float);
  Mob *(__fastcall *_getMob)(IMobMovementProxy *this);
  float (__fastcall *_getYHeadRotOld)(IMobMovementProxy *this);
  void (__fastcall *_setYHeadRotOld)(IMobMovementProxy *this, float);
  MovementInterpolator *(__fastcall *_getInterpolation)(IMobMovementProxy *this);
  bool (__fastcall *canJump)(IPlayerMovementProxy *this);
  std::optional<AABB> *(__fastcall *getHead)(IPlayerMovementProxy *this, std::optional<AABB> *result);
  void (__fastcall *setHead)(IPlayerMovementProxy *this, std::optional<AABB>);
  std::optional<AABB> *(__fastcall *getOther)(IPlayerMovementProxy *this, std::optional<AABB> *result);
  void (__fastcall *setOther)(IPlayerMovementProxy *this, std::optional<AABB>);
  bool (__fastcall *getCamereDeparted)(IPlayerMovementProxy *this);
  bool (__fastcall *getThirdPersonPerspective)(IPlayerMovementProxy *this);
  Vec2 *(__fastcall *getRotationToCamera)(IPlayerMovementProxy *this, Vec2 *result);
  bool (__fastcall *canMove)(IPlayerMovementProxy *this);
  bool (__fastcall *canButtonJump)(IPlayerMovementProxy *this);
  bool (__fastcall *canButtonInAir)(IPlayerMovementProxy *this);
  bool (__fastcall *isSlowedByItemUse)(IPlayerMovementProxy *this);
  void (__fastcall *startGliding)(IPlayerMovementProxy *this);
  void (__fastcall *stopGliding)(IPlayerMovementProxy *this);
  bool (__fastcall *isFlying)(IPlayerMovementProxy *this);
  bool (__fastcall *isUsingItem)(IPlayerMovementProxy *this);
  bool (__fastcall *isSleeping)(IPlayerMovementProxy *this);
  bool (__fastcall *isServerAuthoritativeMovement)(IPlayerMovementProxy *this);
  bool (__fastcall *isAutoJumping)(IPlayerMovementProxy *this);
  void (__fastcall *setAutoJumping)(IPlayerMovementProxy *this, bool);
  bool (__fastcall *isAutoJumpEnabled)(IPlayerMovementProxy *this);
  bool (__fastcall *wasAutoJumping)(IPlayerMovementProxy *this);
  void (__fastcall *setWasAutoJumping)(IPlayerMovementProxy *this, bool);
  bool (__fastcall *isAdventureSettingsAutoJump)(IPlayerMovementProxy *this);
  void (__fastcall *setHasMoveInput)(IPlayerMovementProxy *this, bool);
  bool (__fastcall *hasMoveInput)(IPlayerMovementProxy *this);
  bool (__fastcall *isLocalPlayer)(IPlayerMovementProxy *this);
  float (__fastcall *getBob)(IPlayerMovementProxy *this);
  void (__fastcall *setBob)(IPlayerMovementProxy *this, float);
  float (__fastcall *getLastBob)(IPlayerMovementProxy *this);
  void (__fastcall *setLastBob)(IPlayerMovementProxy *this, float);
  void (__fastcall *setLastLookBob)(IPlayerMovementProxy *this, const Vec2 *);
  Vec2 *(__fastcall *getLookBob)(IPlayerMovementProxy *this, Vec2 *result);
  void (__fastcall *setLookBob)(IPlayerMovementProxy *this, const Vec2 *);
  ReplayStateComponent *(__fastcall *tryGetReplayComponent)(IPlayerMovementProxy *this);
  PlayerActionComponent *(__fastcall *tryGetPlayerActionComponent)(IPlayerMovementProxy *this);
  const Tick *(__fastcall *getCurrentTick)(IPlayerMovementProxy *this);
  const IClientInstanceProxy *(__fastcall *getClientInstance)(IPlayerMovementProxy *this);
  IClientInstanceProxy *(__fastcall *getClientInstance)(IPlayerMovementProxy *this);
  MoveInputHandler *(__fastcall *getMoveInputHandler)(IPlayerMovementProxy *this);
  int (__fastcall *getGlidingTicks)(IPlayerMovementProxy *this);
  InputMode (__fastcall *getInputMode)(IPlayerMovementProxy *this);
  ClientPlayMode (__fastcall *getPlayMode)(IPlayerMovementProxy *this);
  float (__fastcall *getVRMoveAdjustAngle)(IPlayerMovementProxy *this);
  float (__fastcall *getPlayerPaddleForce)(IPlayerMovementProxy *this, Side);
  void (__fastcall *setPlayerPaddleForce)(IPlayerMovementProxy *this, Side, float);
  bool (__fastcall *isPaddling)(IPlayerMovementProxy *this, Side);
  bool (__fastcall *areHandsBusy)(IPlayerMovementProxy *this);
  void (__fastcall *setHandsBusy)(IPlayerMovementProxy *this, bool);
  bool (__fastcall *getAbilityBool)(IPlayerMovementProxy *this, AbilitiesIndex);
  void (__fastcall *setAbilityBool)(IPlayerMovementProxy *this, AbilitiesIndex, bool);
  float (__fastcall *getAbilityFloat)(IPlayerMovementProxy *this, AbilitiesIndex);
  void (__fastcall *setAbilityFloat)(IPlayerMovementProxy *this, AbilitiesIndex, float);
  void (__fastcall *updateClientPlayerInputState)(IPlayerMovementProxy *this);
  bool (__fastcall *isEmoting)(IPlayerMovementProxy *this);
  void (__fastcall *setEmotingStatus)(IPlayerMovementProxy *this, bool);
  void (__fastcall *setEmotePlayedEndedEarly)(IPlayerMovementProxy *this, bool);
  void (__fastcall *fireEventPersonaEmotePlayed)(IPlayerMovementProxy *this);
  void (__fastcall *sendPacket)(IPlayerMovementProxy *this, RiderJumpPacket *);
  void (__fastcall *sendPacket)(IPlayerMovementProxy *this, PlayerActionPacket *);
  void (__fastcall *sendAdventureSettingsPacket)(IPlayerMovementProxy *this);
  bool (__fastcall *isArmorFlyEnabled)(IPlayerMovementProxy *this);
  void (__fastcall *setJumpRidingScale)(IPlayerMovementProxy *this, float);
  float (__fastcall *getJumpRidingScale)(IPlayerMovementProxy *this);
  void (__fastcall *registerFramewiseActionOrStop)(IPlayerMovementProxy *this);
  LoadingState (__fastcall *getLoadingState)(IPlayerMovementProxy *this);
  void (__fastcall *setCurrentLocalMoveVelocity)(IPlayerMovementProxy *this, const Vec2 *);
  void (__fastcall *setLastPos)(IPlayerMovementProxy *this, const Vec3 *);
  Vec3 *(__fastcall *getLastPos)(IPlayerMovementProxy *this, Vec3 *result);
  void (__fastcall *setLastDelta)(IPlayerMovementProxy *this, const Vec3 *);
  Vec3 *(__fastcall *getLastDelta)(IPlayerMovementProxy *this, Vec3 *result);
  void (__fastcall *sendPlayerInput)(IPlayerMovementProxy *this);
  void (__fastcall *sendInput)(IPlayerMovementProxy *this);
  void (__fastcall *sendClientAuthInput)(IPlayerMovementProxy *this);
  bool (__fastcall *shouldSendPosition)(IPlayerMovementProxy *this);
  void (__fastcall *sendPosition)(IPlayerMovementProxy *this);
  void (__fastcall *checkMovementStats)(IPlayerMovementProxy *this, const Vec3 *);
  void (__fastcall *sendPlayerMove)(IPlayerMovementProxy *this);
  bool (__fastcall *checkMaterial)(IPlayerMovementProxy *this, const AABB *, MaterialType);
  bool (__fastcall *checkNeedAutoJump)(IPlayerMovementProxy *this, float, float);
  Player *(__fastcall *_getPlayer)(IPlayerMovementProxy *this);
  void (__fastcall *_setPositionMode)(IPlayerMovementProxy *this, int);
  void (__fastcall *_onMovePlayerPacketNormal)(IPlayerMovementProxy *this, const Vec3 *, const Vec2 *, float);
  void (__fastcall *_resetPos)(IPlayerMovementProxy *this, bool);
  const std::vector<MobEffectInstance> *(__fastcall *_getAllEffects)(IPlayerMovementProxy *this);
  Vec2 *(__fastcall *_getCurrentLocalMoveVelocity)(IPlayerMovementProxy *this, Vec2 *result);
  const Abilities *(__fastcall *_getAbilities)(IPlayerMovementProxy *this);
  const AdventureSettings *(__fastcall *_getAdventureSettings)(IPlayerMovementProxy *this);
};