# S

# SemVersion

Offset Type Name
0 (2) uint16_t mMajor
2 (2) uint16_t mMinor
4 (2) uint16_t mPatch
8 (32) std::string mPreRelease
40 (32) std::string mBuildMeta
72 (32) std::string mFullVersionString
104 (1) bool mValidVersion
105 (1) bool mAnyVersion

# Shared<CommandContext>

Offset Type Name
0 (16) std::__shared_ptr<CommandContext,__gnu_cxx::_S_atomic> baseclass_0

# sysinfo

Offset Type Name
0 (8) __kernel_long_t uptime
8 (24) __kernel_ulong_t[3] loads
32 (8) __kernel_ulong_t totalram
40 (8) __kernel_ulong_t freeram
48 (8) __kernel_ulong_t sharedram
56 (8) __kernel_ulong_t bufferram
64 (8) __kernel_ulong_t totalswap
72 (8) __kernel_ulong_t freeswap
80 (2) __u16 procs
82 (2) __u16 pad
88 (8) __kernel_ulong_t totalhigh
96 (8) __kernel_ulong_t freehigh
104 (4) __u32 mem_unit
108 (0) char[] _f

# string_span

Offset Type Name
0 (16) gsl::basic_string_span<const char,-1>::impl_type span_

# StringKey

Offset Type Name
0 (40) HashedString baseclass_0
40 (8) const StringKey * mMatch

# SHPortalRoom::postProcess::$A4BF091F36AB25C4BAD93320DD623D59

Offset Type Name
0 (8) const Block ** endPortalEye
8 (8) const Block ** endPortalNoEye

# SelectorIterator<Player>

Offset Type Name
0 (16) CommandResultVector mTargets
16 (8) std::vector<Actor *>::iterator mIndex

# StackRefResultT<FeatureRefTraits>

Offset Type Name
0 (24) FeatureRefTraits::StackResultStorage baseclass_0

# ShouldTransformData

Offset Type Name
0 (8) std::unique_ptr<char []> mResult

# SpinLock

Offset Type Name
0 (1) std::hash<std::thread::id> mThreadHasher
8 (8) const size_t mNoThreadId
16 (8) std::atomic<unsigned long> mOwnerThread
24 (4) uint32_t mOwnerRefCount

# StrongholdFeature::StrongholdResult

Offset Type Name
0 (1) bool success
8 (8) ChunkPos location

# statvfs

Offset Type Name
0 (8) unsigned __int64 f_bsize
8 (8) unsigned __int64 f_frsize
16 (8) __fsblkcnt_t f_blocks
24 (8) __fsblkcnt_t f_bfree
32 (8) __fsblkcnt_t f_bavail
40 (8) __fsfilcnt_t f_files
48 (8) __fsfilcnt_t f_ffree
56 (8) __fsfilcnt_t f_favail
64 (8) unsigned __int64 f_fsid
72 (8) unsigned __int64 f_flag
80 (8) unsigned __int64 f_namemax
88 (24) int[6] __f_spare

# Social::Events::Event

Offset Type Name
0 (4) const Social::LocalUserId mUserId
8 (32) const std::string mName
40 (1) bool mShouldAggregate
44 (4) uint32_t mCustomAggregationTime
48 (8) std::chrono::_V2::steady_clock::time_point mEventCreationTime
56 (4) int mEventTags
64 (56) PropertyList mProperties
120 (56) MeasurementList mMeasurements
176 (1) bool mRecordStamped

# Social::Events::Property

Offset Type Name
0 (32) std::string mName
32 (16) Json::Value mValue

# Social::Events::Measurement

Offset Type Name
0 (32) std::string mName
32 (16) Json::Value mValue
48 (4) int mValueDivisorForAverage
52 (4) Social::Events::Measurement::AggregationType mType

# SkinData

Offset Type Name
0 (8) std::optional<int> mVariant
8 (8) std::optional<int> mMarkVariant

# Shared<MoveControl>

Offset Type Name
0 (16) std::__shared_ptr<MoveControl,__gnu_cxx::_S_atomic> baseclass_0

# ScaffoldingClimberComponent

Offset Type Name
0 (1) IEntityComponent baseclass_0

# ScaleByAgeComponent

Offset Type Name
0 (4) float mStartScale
4 (4) float mEndScale

# SchedulerComponent

Offset Type Name
0 (4) int mCurrentEventIndex

# SensingComponent

Offset Type Name
0 (56) SensingComponent::ActorSet mSeen
56 (56) SensingComponent::ActorSet mUnseen

# SensingComponent::ActorSet

Offset Type Name
0 (56) std::unordered_set<ActorUniqueID>::_Hashtable _M_h

# SpawnActorParameters

Offset Type Name
0 (1) bool mSpawnsItemStack
4 (4) int mSpawnTimeMin
8 (4) int mSpawnTimeMax
12 (4) int mSpawnTimer
16 (4) LevelSoundEvent mSpawnSound
24 (8) const Item * mItem
32 (32) std::string mEntityDefinition
64 (32) std::string mSpawnMethod
96 (64) ActorFilterGroup mFilters
160 (1) bool mSingleUse
161 (1) bool mShouldLeash
164 (4) int mNumToSpawn

# SpawnActorComponent

Offset Type Name
0 (24) std::vector<SpawnActorEntry> mSpawnEntries

# sockaddr_storage

Offset Type Name
0 (2) sa_family_t ss_family
2 (118) char[118] __ss_padding
120 (8) unsigned __int64 __ss_align

# Social::GameConnectionInfo

Offset Type Name
0 (2) Social::ConnectionType mType
8 (32) std::string mHostIpAddress
40 (32) std::string mUnresolvedUrl
72 (4) int mPort
80 (32) std::string mRakNetGUID
112 (128) ThirdPartyInfo mThirdPartyServerInfo

# sockaddr_in6

Offset Type Name
0 (2) sa_family_t sin6_family
2 (2) in_port_t sin6_port
4 (4) uint32_t sin6_flowinfo
8 (16) in6_addr sin6_addr
24 (4) uint32_t sin6_scope_id

# sockaddr_in

Offset Type Name
0 (2) sa_family_t sin_family
2 (2) in_port_t sin_port
4 (4) in_addr sin_addr
8 (8) unsigned __int8[8] sin_zero

# ServerToClientHandshakePacket

Offset Type Name
0 (40) Packet baseclass_0
40 (32) std::string mData

# ServerNetworkHandler::handle::$3CDCE61CA261A057C80CC046802E365C

Offset Type Name
0 (8) ServerNetworkHandler * this
8 (8) const NetworkIdentifier * source
16 (8) std::set<std::string> * downloading

# StartGamePacket

Offset Type Name
0 (40) Packet baseclass_0
40 (704) LevelSettings_0 mSettings
744 (8) ActorUniqueID mEntityId
752 (8) ActorRuntimeID mRuntimeId
760 (4) GameType mEntityGameType
764 (12) Vec3 mPos
776 (8) Vec2 mRot
784 (32) std::string mLevelId
816 (32) std::string mLevelName
848 (24) ContentIdentity mTemplateContentIdentity
872 (1) bool mIsTrial
873 (1) bool mIsServerAuthoritativeMovement
880 (8) uint64_t mLevelCurrentTime
888 (4) int mEnchantmentSeed
896 (32) std::string mMultiplayerCorrelationId
928 (8) const BlockPalette * mBlockPalette
936 (8) std::unique_ptr<Tag> mBlockPaletteList
944 (24) std::vector<ItemData> mItemData

# SetSpawnPositionPacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (12) NetworkBlockPosition mPos
48 (4) SpawnPositionType mSpawnPosType
52 (1) bool mForcedSpawnPos

# SetTimePacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (4) int mTime

# SetDifficultyPacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (4) Difficulty mDifficulty

# SetCommandsEnabledPacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (1) bool mCommandsEnabled

# ServerNetworkHandler::handle::$088F7A8FB772A70189C6E679C36D5276

Offset Type Name
0 (8) ServerNetworkHandler * this
8 (152) const NetworkIdentifier source
160 (16) std::shared_ptr<BlockActorDataPacket> packet
176 (1) const bool shouldFilterText

# ServerNetworkHandler::handle::$ED428D87CD11B947B517AB43C0D6E540

Offset Type Name
0 (8) ServerNetworkHandler * this
8 (152) const NetworkIdentifier source

# ServerPlayer::OnPlayerLoadedCallback

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<void (ServerPlayer &)>::_Invoker_type _M_invoker

# SerializedSkin

Offset Type Name
0 (32) std::string mId
32 (32) std::string fullId
64 (32) std::string mResourcePatch
96 (32) std::string mDefaultGeometryName
128 (32) mce::Image mSkinImage
160 (32) mce::Image mCapeImage
192 (24) std::vector<AnimatedImageData> mSkinAnimatedImages
216 (16) Json::Value mGeometryData
232 (16) Json::Value mGeometryDataMutable
248 (32) std::string mAnimationData
280 (32) std::string mCapeId
312 (1) bool mIsPremium
313 (1) bool mIsPersona
314 (1) bool mIsPersonaCapeOnClassicSkin
315 (1) TrustedSkinFlag mIsTrustedSkin
320 (24) std::vector<SerializedPersonaPieceHandle> mPersonaPieces
344 (32) std::string mArmSize
376 (56) std::unordered_map<persona::PieceType,TintMapColor> mPieceTintColors
432 (16) Color mSkinColor

# StructureTemplateDataResponsePacket

Offset Type Name
0 (40) Packet baseclass_0
40 (32) std::string mStructureName
72 (8) std::unique_ptr<CompoundTag> mStructureTag
80 (1) StructureTemplateResponseType_0 mResponseType

# StructureTemplate

Offset Type Name
0 (32) std::string mName
32 (168) StructureTemplateData mStructureTemplateData

# StructureTemplateData

Offset Type Name
0 (8) int (**)(void) _vptr$StructureTemplateData
8 (4) int mFormatVersion
12 (12) BlockPos mSize
24 (12) BlockPos mStructureWorldOrigin
40 (24) std::vector<int> mBlockIndices
64 (24) std::vector<int> mExtraBlockIndices
88 (56) std::unordered_map<std::string,StructureBlockPalette> mPalettes
144 (24) std::vector<std::unique_ptr<CompoundTag>> mEntityData

# ServerNetworkHandler::_onClientAuthenticated::$40782884DF021EB8A0B68AECF65B4504

Offset Type Name
0 (8) ServerNetworkHandler * this

# ServerNetworkHandler::_getActiveAndInProgressPlayerCount::$0EBB06E09BB4D485483DF06B22BB4AE5

Offset Type Name
0 (8) const ServerNetworkHandler * this
8 (8) mce::UUID * excludePlayer
16 (8) int * numPlayers

# StringByteInput

Offset Type Name
0 (8) BytesDataInput baseclass_0
8 (8) size_t mIdx
16 (16) string_span mBuffer

# StringByteOutput

Offset Type Name
0 (8) BytesDataOutput baseclass_0
8 (8) std::string * mBuffer

# SyncedAttribute

Offset Type Name
0 (32) std::string mName
32 (4) float mMinValue
36 (4) float mCurrentValue
40 (4) float mMaxValue

# SynchedActorData::DataList

Offset Type Name
0 (24) std::_Vector_base<std::unique_ptr<DataItem>> baseclass_0

# ScoreboardId

Offset Type Name
0 (8) int64_t mRawID
8 (8) IdentityDefinition * mIdentityDef

# ScoreboardIdentityPacketInfo

Offset Type Name
0 (16) ScoreboardId mScoreboardId
16 (8) PlayerScoreboardId mPlayerId

# StartGamePacket::write::$5498B64B1945F9BCA5158804213C50F5

Offset Type Name
0 (8) std::unique_ptr<ListTag> * blockPaletteList

# StructureEditorData_0

Offset Type Name
0 (32) std::string mStructureName
32 (32) std::string mDataField
64 (1) bool mIncludePlayers
65 (1) bool mShowBoundingBox
66 (1) StructureRedstoneSaveMode mRedstoneSaveMode
68 (4) StructureBlockType mType
72 (96) StructureSettings_0 mSettings

# StructureSettings_0

Offset Type Name
0 (32) std::string mPaletteName
32 (1) bool mIgnoreEntities
33 (1) bool mIgnoreBlocks
36 (12) BlockPos mStructureSize
48 (12) BlockPos mStructureOffset
60 (12) Vec3 mPivot
72 (8) ActorUniqueID mLastTouchedByPlayer
80 (1) Rotation mRotation
81 (1) Mirror mMirror
84 (4) float mIntegrityValue
88 (4) RandomSeed_0 mIntegritySeed

# SubpackInfo

Offset Type Name
0 (32) std::string mFolderName
32 (32) std::string mName
64 (4) MemoryTier mMemoryTier

# stdext::reference_wrapper<const Localization>

Offset Type Name
0 (8) const Localization * ptr

# Stopwatch

Offset Type Name
0 (8) int (**)(void) _vptr$Stopwatch
8 (8) double _st
16 (8) double _tt
24 (8) double _last
32 (8) double _max
40 (4) int _count
44 (4) int _printcounter

# ServerInstance::initializeServer::$1AF53268373D8F94D8C5F1843C50C698

Offset Type Name
0 (8) std::unordered_map<PackIdVersion,std::string> * packIdToContentKey
8 (8) ResourcePackRepository * resourcePackRepository

# Semaphore

Offset Type Name
0 (48) Bedrock::Threading::ConditionVariable mCondition
48 (40) Bedrock::Threading::Mutex mMutex
88 (4) std::atomic<unsigned int> mCount

# ScopedAutoreleasePool

Offset Type Name
0 (1) __int8[1] gap0

# SimpleEventPacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (4) SimpleEventPacket::Subtype mSubtype

# SetActorLinkPacket

Offset Type Name
0 (40) Packet baseclass_0
40 (32) ActorLink mLink

# ServerPlayer::recoverR5LostInventoryAndXP::$566869B8F3A3697DD8479CC05753D205

Offset Type Name
0 (24) std::vector<BlockPos> chestPositions

# ShowCreditsPacket

Offset Type Name
0 (40) Packet baseclass_0
40 (8) ActorRuntimeID mPlayerID
48 (4) ShowCreditsPacket::CreditsState mCreditsState

# SetPlayerGameTypePacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (4) GameType mPlayerGameType

# SelectorIterator<Actor>

Offset Type Name
0 (16) CommandResultVector mTargets
16 (8) std::vector<Actor *>::iterator mIndex

# ScriptApi::ScriptObjectHandle

Offset Type Name
0 (1) ScriptApi::EMPTYObjectHandle baseclass_0

# ScriptApi::EMPTYObjectHandle

Offset Type Name
0 (1) __int8[1] gap0

# ScriptEngineWithContext<ScriptServerContext>::createEntity::$C3475C4D5343D48D4C7832305B127EAE

Offset Type Name
0 (8) ScriptEngineWithContext<ScriptServerContext> * this
8 (8) ScriptApi::ScriptObjectHandle * entityHandle
16 (8) const std::string * templateName
24 (8) const ScriptApi::ScriptVersionInfo * info

# ScriptCommandCallbackData

Offset Type Name
0 (1) ScriptApi::ScriptObjectHandle mFunction
8 (32) std::string mCommand
40 (1) bool mCallbackReceived
48 (16) Json::Value mData

# ScriptOnlyComponents<ScriptServerContext>::ScriptOnly

Offset Type Name
0 (48) std::map<std::string,Json::Value> mLookup

# ShooterDescription

Offset Type Name
0 (8) ComponentDescription baseclass_0
8 (168) ActorDefinitionIdentifier mActorDef
176 (4) int mAuxValue

# SpawnActorDescription

Offset Type Name
0 (8) ComponentDescription baseclass_0
8 (24) std::vector<SpawnActorParameters> mSpawnParameters

# ScriptServerActorAttackEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (8) ActorUniqueID mTargetID

# ScriptEventData

Offset Type Name
0 (8) int (**)(void) _vptr$ScriptEventData
8 (32) std::string mEventName

# ScriptServerPlayerAttackedActorEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mPlayerID
48 (8) ActorUniqueID mAttackedActorID

# ScriptServerActorHurtEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (4) int mHurtBy
44 (4) int mDamage
48 (4) int mAbosrbedDamage
56 (8) ActorUniqueID mActorID
64 (8) ActorUniqueID mAttackerID
72 (12) BlockPos mPos
88 (32) std::string mCause
120 (32) std::string mProjectileType

# ScriptServerActorTickEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID

# ScriptServerActorSneakChangedEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (1) bool mIsSneaking

# ScriptServerActorStartRidingEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (8) ActorUniqueID mRideID

# ScriptServerActorStopRidingEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (1) bool mExitFromRider
49 (1) bool mEntityIsBeingDestroyed
50 (1) bool mSwitchingRides

# ScriptServerActorDeathEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (1) bool mKiller
56 (8) ActorUniqueID mKillerID
64 (1) bool mBlock
68 (12) BlockPos mPos
80 (32) std::string mCause
112 (1) bool mProjectile
120 (32) std::string mProjectileType

# ScriptServerActorRemovedEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID

# ScriptServerActorDefinitionEventTriggeredEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (32) std::string mEvent

# ScriptServerActorCreatedEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID

# ScriptServerActorUseItemEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (136) ItemInstance mItemUsed
184 (4) ItemUseMethod_0 mUseMethod

# ScriptServerActorAcquiredItemEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (8) ActorUniqueID mSecondaryActorID
56 (136) ItemInstance mItem
192 (4) int32_t mAcquiredAmount
196 (4) ItemAcquisitionMethod_0 mAcquisitionMethod

# ScriptServerActorDroppedItemEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (136) ItemInstance mItem

# ScriptServerActorCarriedItemChangedEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (136) ItemInstance mPreviousCarriedItem
184 (136) ItemInstance mCarriedItem
320 (4) HandSlot mHand

# ScriptServerActorEquippedArmorEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorId
48 (136) ItemInstance mItem
184 (4) ArmorSlot mSlot

# ScriptServerProjectileHitEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mProjectileID
48 (8) ActorUniqueID mOwnerID
56 (8) ActorUniqueID mHitID
64 (12) Vec3 mPosition

# ScriptServerPlayerPlacedBlockEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (12) BlockPos mPos

# ScriptServerPlayerDestroyedBlockEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (12) BlockPos mPos
64 (32) std::string mBlockIdentifier

# ScriptServerBlockMovedByPistonEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (12) BlockPos mPistonPos
52 (12) BlockPos mBlockPos
64 (32) std::string mAction

# ScriptServerBlockDestructionStoppedEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (12) BlockPos mPos
60 (4) float mProgress

# ScriptServerBlockDestructionStartedEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (12) BlockPos mPos

# ScriptServerBlockInteractedWithEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (8) ActorUniqueID mActorID
48 (12) BlockPos mPos

# ScriptServerBlockExplodedEvent

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (1) bool mActor
48 (8) ActorUniqueID mActorID
56 (32) std::string mCause
88 (32) std::string mIdentifier
120 (12) BlockPos mPos

# ScriptCustomEventPacket

Offset Type Name
0 (40) Packet baseclass_0
40 (32) std::string mEventName
72 (16) Json::Value mData

# SaveTransactionManager::ShowIconFunction

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<void (bool)>::_Invoker_type _M_invoker

# SetActorDataPacket

Offset Type Name
0 (40) Packet baseclass_0
40 (8) ActorRuntimeID mId
48 (24) SynchedActorData::DataList mPackedItems

# SetActorMotionPacket

Offset Type Name
0 (40) Packet baseclass_0
40 (8) ActorRuntimeID mRuntimeId
48 (12) Vec3 mMotion

# ShooterComponent

Offset Type Name
0 (168) ActorDefinitionIdentifier mActorDef
168 (4) int mAuxValue

# SitComponent

Offset Type Name
0 (1) IEntityComponent baseclass_0

# StackStats

Offset Type Name
0 (1) PackType mStackType
4 (4) uint32_t mPackCount
8 (8) double mParseTime

# ScopedLock

Offset Type Name
0 (8) std::unique_lock<std::mutex>::mutex_type * _M_device
8 (1) bool _M_owns

# SummonSpellData

Offset Type Name
0 (4) float minActivationRange
4 (4) float maxActivationRange
8 (4) int cooldownTime
12 (4) float weight
16 (64) ActorFilterGroup targetFilter
80 (4) float castDuration
84 (1) bool doCastingAnimation
88 (4) int particleColor
96 (24) std::vector<SummonSpellStage> stages
120 (4) LevelSoundEvent startSound

# SummonSpellStage

Offset Type Name
0 (4) SummonShape shape
4 (4) SummonTarget target
8 (4) float size
12 (4) int baseDelay
16 (4) int delayPerSummoning
20 (4) int summonCap
24 (4) float summonCapRadius
28 (4) ActorType entityType
32 (168) ActorDefinitionIdentifier entityIdentifier
200 (4) int entityLifespan
204 (4) int entityCount
208 (4) LevelSoundEvent stageSoundEvent

# SendEventData

Offset Type Name
0 (4) float minActivationRange
4 (4) float maxActivationRange
8 (4) int cooldownTime
12 (4) int castDuration
16 (4) float weight
20 (1) bool doCastingAnimation
24 (4) int particleColor
32 (64) ActorFilterGroup targetFilter
96 (4) LevelSoundEvent startSound
104 (24) std::vector<SendEventStage> stages

# SendEventStage

Offset Type Name
0 (4) int delay
8 (32) std::string eventName
40 (4) LevelSoundEvent stageSoundEvent

# Shared<Village>

Offset Type Name
0 (16) std::__shared_ptr<Village,__gnu_cxx::_S_atomic> baseclass_0

# Shared<POIInstance>

Offset Type Name
0 (16) std::__shared_ptr<POIInstance,__gnu_cxx::_S_atomic> baseclass_0

# SolidityChecker

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<bool (BlockPos &)>::_Invoker_type _M_invoker

# Shared<Village>_0

Offset Type Name
0 (16) std::__shared_ptr<Village,__gnu_cxx::_S_atomic>_0 baseclass_0

# SlotDropChance

Offset Type Name
0 (4) EquipmentSlot mSlot
4 (4) float mDropChance

# Shared<const Potion>

Offset Type Name
0 (16) std::__shared_ptr<const Potion,__gnu_cxx::_S_atomic> baseclass_0

# SkinHash

Offset Type Name
0 (8) size_t geoLength
8 (64) uint64_t[8] shaData

# SetLastHurtByPacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (4) ActorType mLastHurtBy

# SetHealthPacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (4) int mHealth

# SpawnExperienceOrbPacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (12) Vec3 mPos
48 (4) int mCount

# SlotData

Offset Type Name
0 (32) std::string mCollectionName
32 (4) int mCollectionIndex

# ScriptServerWeatherEventData

Offset Type Name
0 (40) ScriptEventData baseclass_0
40 (32) std::string mDimension
72 (1) bool mRaining
73 (1) bool mLightning

# SharedPtr<AirBlockItem>

Offset Type Name
0 (8) SharedCounter<AirBlockItem> * pc

# SharedPtr<Item>

Offset Type Name
0 (8) SharedCounter<Item> * pc

# SharedPtr<BlockItem>

Offset Type Name
0 (8) SharedCounter<BlockItem> * pc

# SuspiciousStewItem::StewEffects

Offset Type Name
0 (280) std::__array_traits<MobEffectInstance,10>::_Type _M_elems

# SharedPtr<ShovelItem>

Offset Type Name
0 (8) SharedCounter<ShovelItem> * pc

# SharedPtr<PickaxeItem>

Offset Type Name
0 (8) SharedCounter<PickaxeItem> * pc

# SharedPtr<HatchetItem>

Offset Type Name
0 (8) SharedCounter<HatchetItem> * pc

# SharedPtr<FlintAndSteelItem>

Offset Type Name
0 (8) SharedCounter<FlintAndSteelItem> * pc

# SharedPtr<BowItem>

Offset Type Name
0 (8) SharedCounter<BowItem> * pc

# SharedPtr<ArrowItem>

Offset Type Name
0 (8) SharedCounter<ArrowItem> * pc

# SharedPtr<CoalItem>

Offset Type Name
0 (8) SharedCounter<CoalItem> * pc

# SharedPtr<WeaponItem>

Offset Type Name
0 (8) SharedCounter<WeaponItem> * pc

# SharedPtr<BlockPlanterItem>

Offset Type Name
0 (8) SharedCounter<BlockPlanterItem> * pc

# SharedPtr<HoeItem>

Offset Type Name
0 (8) SharedCounter<HoeItem> * pc

# SharedPtr<ArmorItem>

Offset Type Name
0 (8) SharedCounter<ArmorItem> * pc

# SharedPtr<ShieldItem>

Offset Type Name
0 (8) SharedCounter<ShieldItem> * pc

# SharedPtr<HangingActorItem>

Offset Type Name
0 (8) SharedCounter<HangingActorItem> * pc

# SharedPtr<SignItem>

Offset Type Name
0 (8) SharedCounter<SignItem> * pc

# SharedPtr<DoorItem>

Offset Type Name
0 (8) SharedCounter<DoorItem> * pc

# SharedPtr<BucketItem>

Offset Type Name
0 (8) SharedCounter<BucketItem> * pc

# SharedPtr<MinecartItem>

Offset Type Name
0 (8) SharedCounter<MinecartItem> * pc

# SharedPtr<RedStoneDustItem>

Offset Type Name
0 (8) SharedCounter<RedStoneDustItem> * pc

# SharedPtr<SnowballItem>

Offset Type Name
0 (8) SharedCounter<SnowballItem> * pc

# SharedPtr<BoatItem>

Offset Type Name
0 (8) SharedCounter<BoatItem> * pc

# SharedPtr<EnchantedBookItem>

Offset Type Name
0 (8) SharedCounter<EnchantedBookItem> * pc

# SharedPtr<EggItem>

Offset Type Name
0 (8) SharedCounter<EggItem> * pc

# SharedPtr<CompassItem>

Offset Type Name
0 (8) SharedCounter<CompassItem> * pc

# SharedPtr<FishingRodItem>

Offset Type Name
0 (8) SharedCounter<FishingRodItem> * pc

# SharedPtr<ClockItem>

Offset Type Name
0 (8) SharedCounter<ClockItem> * pc

# SharedPtr<DyePowderItem>

Offset Type Name
0 (8) SharedCounter<DyePowderItem> * pc

# SharedPtr<BedItem>

Offset Type Name
0 (8) SharedCounter<BedItem> * pc

# SharedPtr<MapItem>

Offset Type Name
0 (8) SharedCounter<MapItem> * pc

# SharedPtr<ShearsItem>

Offset Type Name
0 (8) SharedCounter<ShearsItem> * pc

# SharedPtr<EnderpearlItem>

Offset Type Name
0 (8) SharedCounter<EnderpearlItem> * pc

# SharedPtr<PotionItem>

Offset Type Name
0 (8) SharedCounter<PotionItem> * pc

# SharedPtr<BottleItem>

Offset Type Name
0 (8) SharedCounter<BottleItem> * pc

# SharedPtr<EnderEyeItem>

Offset Type Name
0 (8) SharedCounter<EnderEyeItem> * pc

# SharedPtr<MobPlacerItem>

Offset Type Name
0 (8) SharedCounter<MobPlacerItem> * pc

# SharedPtr<ExperiencePotionItem>

Offset Type Name
0 (8) SharedCounter<ExperiencePotionItem> * pc

# SharedPtr<FireChargeItem>

Offset Type Name
0 (8) SharedCounter<FireChargeItem> * pc

# SharedPtr<WritableBookItem>

Offset Type Name
0 (8) SharedCounter<WritableBookItem> * pc

# SharedPtr<WrittenBookItem>

Offset Type Name
0 (8) SharedCounter<WrittenBookItem> * pc

# SharedPtr<EmptyMapItem>

Offset Type Name
0 (8) SharedCounter<EmptyMapItem> * pc

# SharedPtr<SkullItem>

Offset Type Name
0 (8) SharedCounter<SkullItem> * pc

# SharedPtr<CarrotOnAStickItem>

Offset Type Name
0 (8) SharedCounter<CarrotOnAStickItem> * pc

# SharedPtr<FireworksItem>

Offset Type Name
0 (8) SharedCounter<FireworksItem> * pc

# SharedPtr<FireworkChargeItem>

Offset Type Name
0 (8) SharedCounter<FireworkChargeItem> * pc

# SharedPtr<HorseArmorItem>

Offset Type Name
0 (8) SharedCounter<HorseArmorItem> * pc

# SharedPtr<RecordItem>

Offset Type Name
0 (8) SharedCounter<RecordItem> * pc

# SharedPtr<TridentItem>

Offset Type Name
0 (8) SharedCounter<TridentItem> * pc

# SharedPtr<LeadItem>

Offset Type Name
0 (8) SharedCounter<LeadItem> * pc

# SharedPtr<ArmorStandItem>

Offset Type Name
0 (8) SharedCounter<ArmorStandItem> * pc

# SharedPtr<EndCrystalItem>

Offset Type Name
0 (8) SharedCounter<EndCrystalItem> * pc

# SharedPtr<SplashPotionItem>

Offset Type Name
0 (8) SharedCounter<SplashPotionItem> * pc

# SharedPtr<LingeringPotionItem>

Offset Type Name
0 (8) SharedCounter<LingeringPotionItem> * pc

# SharedPtr<BannerItem>

Offset Type Name
0 (8) SharedCounter<BannerItem> * pc

# SharedPtr<CrossbowItem>

Offset Type Name
0 (8) SharedCounter<CrossbowItem> * pc

# SharedPtr<BannerPatternItem>

Offset Type Name
0 (8) SharedCounter<BannerPatternItem> * pc

# SharedPtr<SuspiciousStewItem>

Offset Type Name
0 (8) SharedCounter<SuspiciousStewItem> * pc

# SharedPtr<CameraItem>

Offset Type Name
0 (8) SharedCounter<CameraItem> * pc

# SharedPtr<CompoundItem>

Offset Type Name
0 (8) SharedCounter<CompoundItem> * pc

# SharedPtr<IceBombItem>

Offset Type Name
0 (8) SharedCounter<IceBombItem> * pc

# SharedPtr<ChemistryItem>

Offset Type Name
0 (8) SharedCounter<ChemistryItem> * pc

# SharedPtr<RapidFertilizerItem>

Offset Type Name
0 (8) SharedCounter<RapidFertilizerItem> * pc

# SharedPtr<BalloonItem>

Offset Type Name
0 (8) SharedCounter<BalloonItem> * pc

# SharedPtr<MedicineItem>

Offset Type Name
0 (8) SharedCounter<MedicineItem> * pc

# SharedPtr<SparklerItem>

Offset Type Name
0 (8) SharedCounter<SparklerItem> * pc

# SharedPtr<GlowStickItem>

Offset Type Name
0 (8) SharedCounter<GlowStickItem> * pc

# SharedPtr<AuxDataBlockItem>

Offset Type Name
0 (8) SharedCounter<AuxDataBlockItem> * pc

# SharedPtr<ClothBlockItem>

Offset Type Name
0 (8) SharedCounter<ClothBlockItem> * pc

# SharedPtr<StoneSlabBlockItem>

Offset Type Name
0 (8) SharedCounter<StoneSlabBlockItem> * pc

# SharedPtr<CoralFanBlockItem>

Offset Type Name
0 (8) SharedCounter<CoralFanBlockItem> * pc

# SharedPtr<SeaPickleBlockItem>

Offset Type Name
0 (8) SharedCounter<SeaPickleBlockItem> * pc

# SharedPtr<SaplingBlockItem>

Offset Type Name
0 (8) SharedCounter<SaplingBlockItem> * pc

# SharedPtr<LeafBlockItem>

Offset Type Name
0 (8) SharedCounter<LeafBlockItem> * pc

# SharedPtr<WoodSlabBlockItem>

Offset Type Name
0 (8) SharedCounter<WoodSlabBlockItem> * pc

# SharedPtr<WaterLilyBlockItem>

Offset Type Name
0 (8) SharedCounter<WaterLilyBlockItem> * pc

# SharedPtr<TopSnowBlockItem>

Offset Type Name
0 (8) SharedCounter<TopSnowBlockItem> * pc

# SharedPtr<ShulkerBoxBlockItem>

Offset Type Name
0 (8) SharedCounter<ShulkerBoxBlockItem> * pc

# SharedPtr<BambooBlockItem>

Offset Type Name
0 (8) SharedCounter<BambooBlockItem> * pc

# SharedPtr<ScaffoldingBlockItem>

Offset Type Name
0 (8) SharedCounter<ScaffoldingBlockItem> * pc

# SharedPtr<BellBlockItem>

Offset Type Name
0 (8) SharedCounter<BellBlockItem> * pc

# SharedPtr<ChemistryAuxDataBlockItem>

Offset Type Name
0 (8) SharedCounter<ChemistryAuxDataBlockItem> * pc

# SharedPtr<ElementBlockItem>

Offset Type Name
0 (8) SharedCounter<ElementBlockItem> * pc

# ShapedRecipeConstructor

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<std::unique_ptr<ShapedRecipe> (std::string,int,int,const std::vector<RecipeIngredient> &,const std::vector<ItemInstance> &,Util::HashString)>::_Invoker_type _M_invoker

# ShapelessRecipeConstructor

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<std::unique_ptr<ShapelessRecipe> (std::string,const std::vector<RecipeIngredient> &,const std::vector<ItemInstance> &,Util::HashString)>::_Invoker_type _M_invoker

# static_vector<Actor *,1>

Offset Type Name
0 (8) std::aligned_storage<8,8>::type[1] mArray
8 (8) size_t mSize

# serialize<EducationLevelSettings>::write::$5D3ECE175654F4C4336B6523D3249746

Offset Type Name
0 (8) const EducationLevelSettings * val

# SpawnParticleEffectPacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (1) unsigned __int8 mVanillaDimensionId
40 (8) ActorUniqueID mActorId
48 (12) Vec3 mPos
64 (32) std::string mEffectName

# SmallSet<Actor *>::const_iterator

Offset Type Name
0 (8) Actor *const * _M_current

# SpawnConditions

Offset Type Name
0 (1) bool isOnSurface
1 (1) bool isInWater
2 (1) bool isInLava
3 (1) bool isUnderground
8 (8) uint64_t delayEndWorldAge
16 (4) int rawBrightness
20 (12) BlockPos pos

# SurfaceBuilderComponent

Offset Type Name
0 (8) ISurfaceBuilder * mSurfaceBuilder

# SurfaceMaterialAttributes

Offset Type Name
0 (8) const Block * mTop
8 (8) const Block * mMid
16 (8) const Block * mFloor
24 (8) const Block * mFoundation
32 (4) int mFloorDepth

# SurfaceMaterialAdjustmentAttributes

Offset Type Name
0 (24) std::vector<SurfaceMaterialAdjustmentAttributes::Element> mAdjustments

# ScatterParams::ScatteredPositions

Offset Type Name
0 (8) RenderParams * mMolangParams
8 (8) Random * mRandom
16 (8) const ScatterParams * mScatterParams
24 (12) BlockPos mOrigin
36 (4) uint32_t mIterations

# SlabBlockItem::_useOn::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SmallSet<ActorUniqueID>

Offset Type Name
0 (24) std::vector<ActorUniqueID> c

# SignBlockActor::CachedMessageData

Offset Type Name
0 (160) SignBlockActor::CachedLineData[4] lineData
160 (4) unsigned int numLines
168 (32) std::string filteredMessage
200 (8) const void * cachedFontCompare
208 (1) bool dirty

# SignBlockActor::CachedLineData

Offset Type Name
0 (32) std::string text
32 (4) int lineLength

# SharedPtr<BlockLegacy>

Offset Type Name
0 (8) SharedCounter<BlockLegacy> * pc

# SharedPtr<AirBlock>

Offset Type Name
0 (8) SharedCounter<AirBlock> * pc

# SharedPtr<StoneBlock>

Offset Type Name
0 (8) SharedCounter<StoneBlock> * pc

# SharedPtr<GrassBlock>

Offset Type Name
0 (8) SharedCounter<GrassBlock> * pc

# SharedPtr<DirtBlock>

Offset Type Name
0 (8) SharedCounter<DirtBlock> * pc

# SharedPtr<PlanksBlock>

Offset Type Name
0 (8) SharedCounter<PlanksBlock> * pc

# SharedPtr<Sapling>

Offset Type Name
0 (8) SharedCounter<Sapling> * pc

# SharedPtr<BedrockBlock>

Offset Type Name
0 (8) SharedCounter<BedrockBlock> * pc

# SharedPtr<LiquidBlockDynamic>

Offset Type Name
0 (8) SharedCounter<LiquidBlockDynamic> * pc

# SharedPtr<LiquidBlockStatic>

Offset Type Name
0 (8) SharedCounter<LiquidBlockStatic> * pc

# SharedPtr<SandBlock>

Offset Type Name
0 (8) SharedCounter<SandBlock> * pc

# SharedPtr<GravelBlock>

Offset Type Name
0 (8) SharedCounter<GravelBlock> * pc

# SharedPtr<OreBlock>

Offset Type Name
0 (8) SharedCounter<OreBlock> * pc

# SharedPtr<OldLogBlock>

Offset Type Name
0 (8) SharedCounter<OldLogBlock> * pc

# SharedPtr<OldLeafBlock>

Offset Type Name
0 (8) SharedCounter<OldLeafBlock> * pc

# SharedPtr<SpongeBlock>

Offset Type Name
0 (8) SharedCounter<SpongeBlock> * pc

# SharedPtr<GlassBlock>

Offset Type Name
0 (8) SharedCounter<GlassBlock> * pc

# SharedPtr<DispenserBlock>

Offset Type Name
0 (8) SharedCounter<DispenserBlock> * pc

# SharedPtr<SandStoneBlock>

Offset Type Name
0 (8) SharedCounter<SandStoneBlock> * pc

# SharedPtr<NoteBlock>

Offset Type Name
0 (8) SharedCounter<NoteBlock> * pc

# SharedPtr<BedBlock>

Offset Type Name
0 (8) SharedCounter<BedBlock> * pc

# SharedPtr<PoweredRailBlock>

Offset Type Name
0 (8) SharedCounter<PoweredRailBlock> * pc

# SharedPtr<DetectorRailBlock>

Offset Type Name
0 (8) SharedCounter<DetectorRailBlock> * pc

# SharedPtr<PistonBlock>

Offset Type Name
0 (8) SharedCounter<PistonBlock> * pc

# SharedPtr<WebBlock>

Offset Type Name
0 (8) SharedCounter<WebBlock> * pc

# SharedPtr<TallGrass>

Offset Type Name
0 (8) SharedCounter<TallGrass> * pc

# SharedPtr<DeadBush>

Offset Type Name
0 (8) SharedCounter<DeadBush> * pc

# SharedPtr<PistonArmBlock>

Offset Type Name
0 (8) SharedCounter<PistonArmBlock> * pc

# SharedPtr<ClothBlock>

Offset Type Name
0 (8) SharedCounter<ClothBlock> * pc

# SharedPtr<FlowerBlock>

Offset Type Name
0 (8) SharedCounter<FlowerBlock> * pc

# SharedPtr<MushroomBlock>

Offset Type Name
0 (8) SharedCounter<MushroomBlock> * pc

# SharedPtr<MetalBlock>

Offset Type Name
0 (8) SharedCounter<MetalBlock> * pc

# SharedPtr<StoneSlabBlock>

Offset Type Name
0 (8) SharedCounter<StoneSlabBlock> * pc

# SharedPtr<TntBlock>

Offset Type Name
0 (8) SharedCounter<TntBlock> * pc

# SharedPtr<BookshelfBlock>

Offset Type Name
0 (8) SharedCounter<BookshelfBlock> * pc

# SharedPtr<ObsidianBlock>

Offset Type Name
0 (8) SharedCounter<ObsidianBlock> * pc

# SharedPtr<TorchBlock>

Offset Type Name
0 (8) SharedCounter<TorchBlock> * pc

# SharedPtr<MobSpawnerBlock>

Offset Type Name
0 (8) SharedCounter<MobSpawnerBlock> * pc

# SharedPtr<StairBlock>

Offset Type Name
0 (8) SharedCounter<StairBlock> * pc

# SharedPtr<ChestBlock>

Offset Type Name
0 (8) SharedCounter<ChestBlock> * pc

# SharedPtr<RedStoneWireBlock>

Offset Type Name
0 (8) SharedCounter<RedStoneWireBlock> * pc

# SharedPtr<WorkbenchBlock>

Offset Type Name
0 (8) SharedCounter<WorkbenchBlock> * pc

# SharedPtr<CropBlock>

Offset Type Name
0 (8) SharedCounter<CropBlock> * pc

# SharedPtr<FarmBlock>

Offset Type Name
0 (8) SharedCounter<FarmBlock> * pc

# SharedPtr<FurnaceBlock>

Offset Type Name
0 (8) SharedCounter<FurnaceBlock> * pc

# SharedPtr<SignBlock>

Offset Type Name
0 (8) SharedCounter<SignBlock> * pc

# SharedPtr<DoorBlock>

Offset Type Name
0 (8) SharedCounter<DoorBlock> * pc

# SharedPtr<LadderBlock>

Offset Type Name
0 (8) SharedCounter<LadderBlock> * pc

# SharedPtr<RailBlock>

Offset Type Name
0 (8) SharedCounter<RailBlock> * pc

# SharedPtr<LeverBlock>

Offset Type Name
0 (8) SharedCounter<LeverBlock> * pc

# SharedPtr<PressurePlateBlock>

Offset Type Name
0 (8) SharedCounter<PressurePlateBlock> * pc

# SharedPtr<RedStoneOreBlock>

Offset Type Name
0 (8) SharedCounter<RedStoneOreBlock> * pc

# SharedPtr<RedstoneTorchBlock>

Offset Type Name
0 (8) SharedCounter<RedstoneTorchBlock> * pc

# SharedPtr<StoneButtonBlock>

Offset Type Name
0 (8) SharedCounter<StoneButtonBlock> * pc

# SharedPtr<TopSnowBlock>

Offset Type Name
0 (8) SharedCounter<TopSnowBlock> * pc

# SharedPtr<IceBlock>

Offset Type Name
0 (8) SharedCounter<IceBlock> * pc

# SharedPtr<SnowBlock>

Offset Type Name
0 (8) SharedCounter<SnowBlock> * pc

# SharedPtr<CactusBlock>

Offset Type Name
0 (8) SharedCounter<CactusBlock> * pc

# SharedPtr<ClayBlock>

Offset Type Name
0 (8) SharedCounter<ClayBlock> * pc

# SharedPtr<ReedBlock>

Offset Type Name
0 (8) SharedCounter<ReedBlock> * pc

# SharedPtr<JukeboxBlock>

Offset Type Name
0 (8) SharedCounter<JukeboxBlock> * pc

# SharedPtr<FenceBlock>

Offset Type Name
0 (8) SharedCounter<FenceBlock> * pc

# SharedPtr<PumpkinBlock>

Offset Type Name
0 (8) SharedCounter<PumpkinBlock> * pc

# SharedPtr<SoulSandBlock>

Offset Type Name
0 (8) SharedCounter<SoulSandBlock> * pc

# SharedPtr<LightGemBlock>

Offset Type Name
0 (8) SharedCounter<LightGemBlock> * pc

# SharedPtr<PortalBlock>

Offset Type Name
0 (8) SharedCounter<PortalBlock> * pc

# SharedPtr<CakeBlock>

Offset Type Name
0 (8) SharedCounter<CakeBlock> * pc

# SharedPtr<RepeaterBlock>

Offset Type Name
0 (8) SharedCounter<RepeaterBlock> * pc

# SharedPtr<InvisibleBlock>

Offset Type Name
0 (8) SharedCounter<InvisibleBlock> * pc

# SharedPtr<TrapDoorBlock>

Offset Type Name
0 (8) SharedCounter<TrapDoorBlock> * pc

# SharedPtr<MonsterEggBlock>

Offset Type Name
0 (8) SharedCounter<MonsterEggBlock> * pc

# SharedPtr<StoneBrickBlock>

Offset Type Name
0 (8) SharedCounter<StoneBrickBlock> * pc

# SharedPtr<HugeMushroomBlock>

Offset Type Name
0 (8) SharedCounter<HugeMushroomBlock> * pc

# SharedPtr<ThinFenceBlock>

Offset Type Name
0 (8) SharedCounter<ThinFenceBlock> * pc

# SharedPtr<MelonBlock>

Offset Type Name
0 (8) SharedCounter<MelonBlock> * pc

# SharedPtr<StemBlock>

Offset Type Name
0 (8) SharedCounter<StemBlock> * pc

# SharedPtr<VineBlock>

Offset Type Name
0 (8) SharedCounter<VineBlock> * pc

# SharedPtr<FenceGateBlock>

Offset Type Name
0 (8) SharedCounter<FenceGateBlock> * pc

# SharedPtr<MyceliumBlock>

Offset Type Name
0 (8) SharedCounter<MyceliumBlock> * pc

# SharedPtr<WaterlilyBlock>

Offset Type Name
0 (8) SharedCounter<WaterlilyBlock> * pc

# SharedPtr<NetherWartBlock>

Offset Type Name
0 (8) SharedCounter<NetherWartBlock> * pc

# SharedPtr<EnchantingTableBlock>

Offset Type Name
0 (8) SharedCounter<EnchantingTableBlock> * pc

# SharedPtr<BrewingStandBlock>

Offset Type Name
0 (8) SharedCounter<BrewingStandBlock> * pc

# SharedPtr<CauldronBlock>

Offset Type Name
0 (8) SharedCounter<CauldronBlock> * pc

# SharedPtr<EndPortalBlock>

Offset Type Name
0 (8) SharedCounter<EndPortalBlock> * pc

# SharedPtr<EndPortalFrameBlock>

Offset Type Name
0 (8) SharedCounter<EndPortalFrameBlock> * pc

# SharedPtr<DragonEggBlock>

Offset Type Name
0 (8) SharedCounter<DragonEggBlock> * pc

# SharedPtr<RedstoneLampBlock>

Offset Type Name
0 (8) SharedCounter<RedstoneLampBlock> * pc

# SharedPtr<DropperBlock>

Offset Type Name
0 (8) SharedCounter<DropperBlock> * pc

# SharedPtr<ActivatorRailBlock>

Offset Type Name
0 (8) SharedCounter<ActivatorRailBlock> * pc

# SharedPtr<CocoaBlock>

Offset Type Name
0 (8) SharedCounter<CocoaBlock> * pc

# SharedPtr<EnderChestBlock>

Offset Type Name
0 (8) SharedCounter<EnderChestBlock> * pc

# SharedPtr<TripWireHookBlock>

Offset Type Name
0 (8) SharedCounter<TripWireHookBlock> * pc

# SharedPtr<TripWireBlock>

Offset Type Name
0 (8) SharedCounter<TripWireBlock> * pc

# SharedPtr<CommandBlock>

Offset Type Name
0 (8) SharedCounter<CommandBlock> * pc

# SharedPtr<BeaconBlock>

Offset Type Name
0 (8) SharedCounter<BeaconBlock> * pc

# SharedPtr<WallBlock>

Offset Type Name
0 (8) SharedCounter<WallBlock> * pc

# SharedPtr<FlowerPotBlock>

Offset Type Name
0 (8) SharedCounter<FlowerPotBlock> * pc

# SharedPtr<CarrotBlock>

Offset Type Name
0 (8) SharedCounter<CarrotBlock> * pc

# SharedPtr<PotatoBlock>

Offset Type Name
0 (8) SharedCounter<PotatoBlock> * pc

# SharedPtr<WoodButtonBlock>

Offset Type Name
0 (8) SharedCounter<WoodButtonBlock> * pc

# SharedPtr<SkullBlock>

Offset Type Name
0 (8) SharedCounter<SkullBlock> * pc

# SharedPtr<AnvilBlock>

Offset Type Name
0 (8) SharedCounter<AnvilBlock> * pc

# SharedPtr<WeightedPressurePlateBlock>

Offset Type Name
0 (8) SharedCounter<WeightedPressurePlateBlock> * pc

# SharedPtr<ComparatorBlock>

Offset Type Name
0 (8) SharedCounter<ComparatorBlock> * pc

# SharedPtr<DaylightDetectorBlock>

Offset Type Name
0 (8) SharedCounter<DaylightDetectorBlock> * pc

# SharedPtr<RedstoneBlock>

Offset Type Name
0 (8) SharedCounter<RedstoneBlock> * pc

# SharedPtr<HopperBlock>

Offset Type Name
0 (8) SharedCounter<HopperBlock> * pc

# SharedPtr<QuartzBlockBlock>

Offset Type Name
0 (8) SharedCounter<QuartzBlockBlock> * pc

# SharedPtr<WoodSlabBlock>

Offset Type Name
0 (8) SharedCounter<WoodSlabBlock> * pc

# SharedPtr<ColoredBlock>

Offset Type Name
0 (8) SharedCounter<ColoredBlock> * pc

# SharedPtr<StainedGlassPaneBlock>

Offset Type Name
0 (8) SharedCounter<StainedGlassPaneBlock> * pc

# SharedPtr<NewLeafBlock>

Offset Type Name
0 (8) SharedCounter<NewLeafBlock> * pc

# SharedPtr<NewLogBlock>

Offset Type Name
0 (8) SharedCounter<NewLogBlock> * pc

# SharedPtr<SlimeBlock>

Offset Type Name
0 (8) SharedCounter<SlimeBlock> * pc

# SharedPtr<PrismarineBlock>

Offset Type Name
0 (8) SharedCounter<PrismarineBlock> * pc

# SharedPtr<SeaLanternBlock>

Offset Type Name
0 (8) SharedCounter<SeaLanternBlock> * pc

# SharedPtr<HayBlockBlock>

Offset Type Name
0 (8) SharedCounter<HayBlockBlock> * pc

# SharedPtr<WoolCarpetBlock>

Offset Type Name
0 (8) SharedCounter<WoolCarpetBlock> * pc

# SharedPtr<DoublePlantBlock>

Offset Type Name
0 (8) SharedCounter<DoublePlantBlock> * pc

# SharedPtr<BannerBlock>

Offset Type Name
0 (8) SharedCounter<BannerBlock> * pc

# SharedPtr<StoneSlabBlock2>

Offset Type Name
0 (8) SharedCounter<StoneSlabBlock2> * pc

# SharedPtr<GrassPathBlock>

Offset Type Name
0 (8) SharedCounter<GrassPathBlock> * pc

# SharedPtr<ItemFrameBlock>

Offset Type Name
0 (8) SharedCounter<ItemFrameBlock> * pc

# SharedPtr<ChorusFlowerBlock>

Offset Type Name
0 (8) SharedCounter<ChorusFlowerBlock> * pc

# SharedPtr<UndyedShulkerBoxBlock>

Offset Type Name
0 (8) SharedCounter<UndyedShulkerBoxBlock> * pc

# SharedPtr<FrostedIceBlock>

Offset Type Name
0 (8) SharedCounter<FrostedIceBlock> * pc

# SharedPtr<EndRodBlock>

Offset Type Name
0 (8) SharedCounter<EndRodBlock> * pc

# SharedPtr<EndGatewayBlock>

Offset Type Name
0 (8) SharedCounter<EndGatewayBlock> * pc

# SharedPtr<MagmaBlock>

Offset Type Name
0 (8) SharedCounter<MagmaBlock> * pc

# SharedPtr<RotatedPillarBlock>

Offset Type Name
0 (8) SharedCounter<RotatedPillarBlock> * pc

# SharedPtr<StructureVoid>

Offset Type Name
0 (8) SharedCounter<StructureVoid> * pc

# SharedPtr<ShulkerBoxBlock>

Offset Type Name
0 (8) SharedCounter<ShulkerBoxBlock> * pc

# SharedPtr<GlazedTerracottaBlock>

Offset Type Name
0 (8) SharedCounter<GlazedTerracottaBlock> * pc

# SharedPtr<ConcreteBlock>

Offset Type Name
0 (8) SharedCounter<ConcreteBlock> * pc

# SharedPtr<ConcretePowderBlock>

Offset Type Name
0 (8) SharedCounter<ConcretePowderBlock> * pc

# SharedPtr<ChorusPlantBlock>

Offset Type Name
0 (8) SharedCounter<ChorusPlantBlock> * pc

# SharedPtr<StainedGlassBlock>

Offset Type Name
0 (8) SharedCounter<StainedGlassBlock> * pc

# SharedPtr<CameraBlock>

Offset Type Name
0 (8) SharedCounter<CameraBlock> * pc

# SharedPtr<PodzolBlock>

Offset Type Name
0 (8) SharedCounter<PodzolBlock> * pc

# SharedPtr<BeetrootBlock>

Offset Type Name
0 (8) SharedCounter<BeetrootBlock> * pc

# SharedPtr<StonecutterBlock>

Offset Type Name
0 (8) SharedCounter<StonecutterBlock> * pc

# SharedPtr<NetherReactorBlock>

Offset Type Name
0 (8) SharedCounter<NetherReactorBlock> * pc

# SharedPtr<MovingBlock>

Offset Type Name
0 (8) SharedCounter<MovingBlock> * pc

# SharedPtr<ObserverBlock>

Offset Type Name
0 (8) SharedCounter<ObserverBlock> * pc

# SharedPtr<StructureBlock>

Offset Type Name
0 (8) SharedCounter<StructureBlock> * pc

# SharedPtr<StrippedLogBlock>

Offset Type Name
0 (8) SharedCounter<StrippedLogBlock> * pc

# SharedPtr<BlueIceBlock>

Offset Type Name
0 (8) SharedCounter<BlueIceBlock> * pc

# SharedPtr<FireBlock>

Offset Type Name
0 (8) SharedCounter<FireBlock> * pc

# SharedPtr<ChemistryTableBlock>

Offset Type Name
0 (8) SharedCounter<ChemistryTableBlock> * pc

# SharedPtr<UnderwaterTorchBlock>

Offset Type Name
0 (8) SharedCounter<UnderwaterTorchBlock> * pc

# SharedPtr<ChemicalHeatBlock>

Offset Type Name
0 (8) SharedCounter<ChemicalHeatBlock> * pc

# SharedPtr<ColoredTorchBlock>

Offset Type Name
0 (8) SharedCounter<ColoredTorchBlock> * pc

# SharedPtr<ElementBlock>

Offset Type Name
0 (8) SharedCounter<ElementBlock> * pc

# SharedPtr<Coral>

Offset Type Name
0 (8) SharedCounter<Coral> * pc

# SharedPtr<CoralBlock>

Offset Type Name
0 (8) SharedCounter<CoralBlock> * pc

# SharedPtr<CoralFan>

Offset Type Name
0 (8) SharedCounter<CoralFan> * pc

# SharedPtr<CoralFanHang>

Offset Type Name
0 (8) SharedCounter<CoralFanHang> * pc

# SharedPtr<KelpBlock>

Offset Type Name
0 (8) SharedCounter<KelpBlock> * pc

# SharedPtr<DriedKelpBlock>

Offset Type Name
0 (8) SharedCounter<DriedKelpBlock> * pc

# SharedPtr<SeaGrass>

Offset Type Name
0 (8) SharedCounter<SeaGrass> * pc

# SharedPtr<SeaPickle>

Offset Type Name
0 (8) SharedCounter<SeaPickle> * pc

# SharedPtr<ConduitBlock>

Offset Type Name
0 (8) SharedCounter<ConduitBlock> * pc

# SharedPtr<BubbleColumnBlock>

Offset Type Name
0 (8) SharedCounter<BubbleColumnBlock> * pc

# SharedPtr<TurtleEggBlock>

Offset Type Name
0 (8) SharedCounter<TurtleEggBlock> * pc

# SharedPtr<BarrierBlock>

Offset Type Name
0 (8) SharedCounter<BarrierBlock> * pc

# SharedPtr<ScaffoldingBlock>

Offset Type Name
0 (8) SharedCounter<ScaffoldingBlock> * pc

# SharedPtr<BambooBlock>

Offset Type Name
0 (8) SharedCounter<BambooBlock> * pc

# SharedPtr<BambooSapling>

Offset Type Name
0 (8) SharedCounter<BambooSapling> * pc

# SharedPtr<StoneSlabBlock3>

Offset Type Name
0 (8) SharedCounter<StoneSlabBlock3> * pc

# SharedPtr<StoneSlabBlock4>

Offset Type Name
0 (8) SharedCounter<StoneSlabBlock4> * pc

# SharedPtr<LecternBlock>

Offset Type Name
0 (8) SharedCounter<LecternBlock> * pc

# SharedPtr<GrindstoneBlock>

Offset Type Name
0 (8) SharedCounter<GrindstoneBlock> * pc

# SharedPtr<BlastFurnaceBlock>

Offset Type Name
0 (8) SharedCounter<BlastFurnaceBlock> * pc

# SharedPtr<SmokerBlock>

Offset Type Name
0 (8) SharedCounter<SmokerBlock> * pc

# SharedPtr<CartographyTableBlock>

Offset Type Name
0 (8) SharedCounter<CartographyTableBlock> * pc

# SharedPtr<BarrelBlock>

Offset Type Name
0 (8) SharedCounter<BarrelBlock> * pc

# SharedPtr<LoomBlock>

Offset Type Name
0 (8) SharedCounter<LoomBlock> * pc

# SharedPtr<BellBlock>

Offset Type Name
0 (8) SharedCounter<BellBlock> * pc

# SharedPtr<SweetBerryBushBlock>

Offset Type Name
0 (8) SharedCounter<SweetBerryBushBlock> * pc

# SharedPtr<LanternBlock>

Offset Type Name
0 (8) SharedCounter<LanternBlock> * pc

# SharedPtr<CampfireBlock>

Offset Type Name
0 (8) SharedCounter<CampfireBlock> * pc

# SharedPtr<JigsawBlock>

Offset Type Name
0 (8) SharedCounter<JigsawBlock> * pc

# SharedPtr<WoodBlock>

Offset Type Name
0 (8) SharedCounter<WoodBlock> * pc

# SharedPtr<ComposterBlock>

Offset Type Name
0 (8) SharedCounter<ComposterBlock> * pc

# SharedPtr<LightBlock>

Offset Type Name
0 (8) SharedCounter<LightBlock> * pc

# SharedPtr<WitherRoseBlock>

Offset Type Name
0 (8) SharedCounter<WitherRoseBlock> * pc

# SharedPtr<BeehiveBlock>

Offset Type Name
0 (8) SharedCounter<BeehiveBlock> * pc

# SharedPtr<HoneyBlock>

Offset Type Name
0 (8) SharedCounter<HoneyBlock> * pc

# SharedPtr<HoneycombBlock>

Offset Type Name
0 (8) SharedCounter<HoneycombBlock> * pc

# SubChunkRelighter

Offset Type Name
0 (1) bool mNeedToResetToDoBits
8 (24576) std::bitset<196608> mToDo
24584 (4096) std::array<unsigned char,4096> mOldAbsorption
28680 (768) std::vector<SubChunkLightIndex>[2][16] mAdditiveBlocksToProcess
29448 (384) std::vector<SubChunkLightIndex>[16] mEdgeBlocksToProcess
29832 (384) std::vector<SubChunkLightIndex>[16] mBlocksToProcess
30216 (24) std::vector<SubChunkLightIndex> mAbsorptionBlocksToProcess
30240 (48) std::vector<SubtractiveLightInfo>[2] mSubtractiveBlocks
30288 (384) SubChunk *[3][4][4] mSubChunkPtrArray
30672 (48) bool[3][4][4] mSubChunkPtrArrayValid
30720 (48) bool[3][4][4] mSubChunkTouched
30768 (8) ChunkPos mCenterChunkPos
30776 (8) size_t mCenterSubChunkIndex
30784 (8) BlockSource * mSource
30792 (1) bool mOriginalLighting
30793 (1) SubChunkRelighter::LightPair mDefaultLightPair
30800 (8) const Block * mDefaultBlock

# SubChunkRelighter::LightPair

Offset Type Name
0 (1) SubChunkBrightnessStorage::LightPair::$C82CAE701F9C96804622E94D041F6011 _anon_0

# SubChunkBrightnessStorage::LightPair::$C82CAE701F9C96804622E94D041F6011

Offset Type Name
0 (1) SubChunkBrightnessStorage::LightPair::$C82CAE701F9C96804622E94D041F6011::$FEA8D14758525B4BCA5C0100E71C9EA7 _anon_0
1 (1) uint8_t raw

# SubChunkBrightnessStorage::LightPair::$C82CAE701F9C96804622E94D041F6011::$FEA8D14758525B4BCA5C0100E71C9EA7

Offset Type Name
0 (1) __int8 _bf_0

# SubChunkBrightnessStorage::LightPair

Offset Type Name
0 (1) SubChunkBrightnessStorage::LightPair::$C82CAE701F9C96804622E94D041F6011 _anon_0

# SubChunkBlockPos

Offset Type Name
0 (4) SubChunkBlockPos::$F507DBCC95B5F1F0349D6A6FBF2E560F _anon_0

# SubChunkBlockPos::$F507DBCC95B5F1F0349D6A6FBF2E560F

Offset Type Name
0 (3) SubChunkBlockPos::$F507DBCC95B5F1F0349D6A6FBF2E560F::$E23C018BDD51DA9542B42FDC09D6AA49 _anon_0
1 (4) uint32_t packed

# SubChunkBlockPos::$F507DBCC95B5F1F0349D6A6FBF2E560F::$E23C018BDD51DA9542B42FDC09D6AA49

Offset Type Name
0 (1) uint8_t x
1 (1) uint8_t y
2 (1) uint8_t z

# static_vector<const Block *,4096>::iterator

Offset Type Name
0 (8) const Block ** mPtr

# SubChunkBlockStorage::GenericPalette

Offset Type Name
0 (32768) std::aligned_storage<8,8>::type[4096] mArray
32768 (8) size_t mSize

# SubChunkStorageFormat

Offset Type Name
0 (1) SubChunkStorageFormat::$4A48E9E2C062D44B94D66378C25E9D86 _anon_0
1 (1) char raw

# SubChunkStorageFormat::$4A48E9E2C062D44B94D66378C25E9D86

Offset Type Name
0 (1) __int8 _bf_0

# SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::SubChunkBlockStoragePaletted::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::makePrunedCopy::$5C37BA6189407DC409FF9D08D5F65A9E

Offset Type Name
0 (8) std::array<unsigned long,2> * remappingLookup

# SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::SubChunkBlockStoragePaletted::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::makePrunedCopy::$97D49D667F65B59D64A1CF6C21EF1D86

Offset Type Name
0 (8) std::array<unsigned long,4> * remappingLookup

# SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::SubChunkBlockStoragePaletted::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::makePrunedCopy::$9D7F1A052824D1DF666118F69FC3070A

Offset Type Name
0 (8) std::array<unsigned long,8> * remappingLookup

# SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::SubChunkBlockStoragePaletted::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::makePrunedCopy::$05DA6B700FA0222B559606B9A00A1F7D

Offset Type Name
0 (8) std::array<unsigned long,16> * remappingLookup

# SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::SubChunkBlockStoragePaletted::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::makePrunedCopy::$CC93A48B8F76E12549E857D7142C04AB

Offset Type Name
0 (8) std::array<unsigned long,32> * remappingLookup

# SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::SubChunkBlockStoragePaletted::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::makePrunedCopy::$B8D88B99E42BC318262126A78F11A7E5

Offset Type Name
0 (8) std::array<unsigned long,64> * remappingLookup

# SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::SubChunkBlockStoragePaletted::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::makePrunedCopy::$3817DFAD228892A6745DC344E6C4662F

Offset Type Name
0 (8) std::array<unsigned long,256> * remappingLookup

# SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::SubChunkBlockStoragePaletted::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::makePrunedCopy::$2185D287A3144BABD0B238662BD24236

Offset Type Name
0 (8) std::array<unsigned long,4096> * remappingLookup

# SubChunkBrightnessStorage::reset::$7B0383690E49E4B7542F6080AC16EED4

Offset Type Name
0 (1) SubChunkBrightnessStorage::LightPair lp
1 (1) uint8_t b

# SubChunkLightIndex

Offset Type Name
0 (4) SubChunkLightIndex::$D642419CEF3A4ECC892D938F72F5EEEF _anon_0

# SubChunkLightIndex::$D642419CEF3A4ECC892D938F72F5EEEF

Offset Type Name
0 (4) SubChunkLightIndex::$D642419CEF3A4ECC892D938F72F5EEEF::$C5E0CE72C99D254AFB51B3E72BF5B343 _anon_0
1 (4) SubChunkLightIndex::$D642419CEF3A4ECC892D938F72F5EEEF::$1B14A3B4ACC00D53AE1F0B03F21ED5AD _anon_1
2 (4) uint32_t mData

# SubChunkLightIndex::$D642419CEF3A4ECC892D938F72F5EEEF::$C5E0CE72C99D254AFB51B3E72BF5B343

Offset Type Name
0 (2) __int16 _bf_0
2 (1) __int8 _bf_2
3 (1) __int8 _padding_3

# SubChunkLightIndex::$D642419CEF3A4ECC892D938F72F5EEEF::$1B14A3B4ACC00D53AE1F0B03F21ED5AD

Offset Type Name
0 (4) __int32 _bf_0

# SpikeFeature

Offset Type Name
0 (24) Feature baseclass_0
24 (8) const SpikeFeature::EndSpike * mSpike
32 (12) BlockPos mCrystalBeamTarget
44 (1) bool mCrystalInvulnerable

# ScatterParams

Offset Type Name
0 (264) ScatterParams::CoordinateRange mX
264 (264) ScatterParams::CoordinateRange mZ
528 (264) ScatterParams::CoordinateRange mHeight
792 (4) ScatterParams::CoordinateEvaluationOrder mEvalOrder
800 (136) ScatterParams::ChanceInformation mScatterChance
936 (128) ExpressionNode mIterations

# ScatterParams::CoordinateRange

Offset Type Name
0 (128) ExpressionNode mMinOrSingleValue
128 (128) ExpressionNode mMax
256 (4) uint32_t mGridStepCount
260 (4) ScatterParams::RandomDistributionType mDistribution

# ScatterParams::ChanceInformation

Offset Type Name
0 (128) ExpressionNode mChancePercent
128 (4) int mNumerator
132 (4) int mDenominator

# SharePtrRefTraits<PerlinSimplexNoise>::WeakStorage

Offset Type Name
0 (16) std::weak_ptr<PerlinSimplexNoise> mHandle

# StackRefResultT<SharePtrRefTraits<PerlinSimplexNoise> >

Offset Type Name
0 (16) SharePtrRefTraits<PerlinSimplexNoise>::StackResultStorage baseclass_0

# SharePtrRefTraits<PerlinSimplexNoise>::StackResultStorage

Offset Type Name
0 (16) std::shared_ptr<PerlinSimplexNoise> mValue

# StackRefResult<IFeature>

Offset Type Name
0 (24) FeatureRefTraits::StackResultStorage baseclass_0

# Shared<RoomDefinition>

Offset Type Name
0 (16) std::__shared_ptr<RoomDefinition,__gnu_cxx::_S_atomic> baseclass_0

# SharedLock

Offset Type Name
0 (8) std::shared_lock<std::shared_timed_mutex>::mutex_type * _M_pm
8 (1) bool _M_owns

# StructureIntegrityProcessor

Offset Type Name
0 (4) float mIntegrity
4 (4) RandomSeed mStartSeed

# StructureBlockPalette

Offset Type Name
0 (24) std::vector<std::unique_ptr<CompoundTag>> mStructurePaletteIdToSerializationId
24 (56) std::unordered_map<unsigned long,StructureBlockPalette::BlockPositionData> mBlockPositionData

# StructureTemplate::_fillBlockInfo::$2FA47CEBC638377704193C5643AD3DC1

Offset Type Name
0 (8) std::map<const Block *,int> * blockToIndex
8 (8) StructureBlockPalette * structureBlockPalette
16 (8) const Block * voidBlock

# StructureBlockPalette::BlockPositionData

Offset Type Name
0 (8) std::unique_ptr<CompoundTag> mBlockEntityData
8 (24) std::vector<StructureBlockPalette::TickingQueueData> mTickData

# StructureDataLoadHelper

Offset Type Name
0 (8) DataLoadHelper baseclass_0
8 (12) BlockPos mStructurePlacementLocation
20 (12) BlockPos mStructureWorldOrigin
32 (12) Vec3 mPivot
48 (8) ActorUniqueID mOwner
56 (1) Rotation_0 mRotation
57 (1) Mirror_0 mMirror
64 (8) Level * mLevel
72 (56) std::unordered_map<ActorUniqueID,ActorUniqueID> mOldIDToNewID

# Shared<SaveTransactionManager>

Offset Type Name
0 (16) std::__shared_ptr<SaveTransactionManager,__gnu_cxx::_S_atomic> baseclass_0

# Shared<Core::FileStorageArea>

Offset Type Name
0 (16) std::__shared_ptr<Core::FileStorageArea,__gnu_cxx::_S_atomic> baseclass_0

# SpecificEnchantFunction::EnchantInfo

Offset Type Name
0 (4) Enchant::Type enchantment
4 (4) int level

# Shared<RopeSystem>

Offset Type Name
0 (16) std::__shared_ptr<RopeSystem,__gnu_cxx::_S_atomic> baseclass_0

# ScoreInfo

Offset Type Name
0 (8) const Objective * mObjective
8 (1) bool mValid
12 (4) int mValue

# ScoreInfoRef

Offset Type Name
0 (8) const Objective * mObjective
8 (1) bool mValid
16 (8) int * mValue

# ServerScoreboard::unit_test_ctor_t

Offset Type Name
0 (1) __int8[1] gap0

# ServerScoreboard::ScoreChangedLevelCallback

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<void (const ScoreboardId &)>::_Invoker_type _M_invoker

# ServerScoreboard::ScoreRemovedLevelCallback

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<void (const ScoreboardId &)>::_Invoker_type _M_invoker

# ServerScoreboard::SetDisplayObjectiveLevelCallback

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<void (const std::string &,const DisplayObjective &)>::_Invoker_type _M_invoker

# ServerScoreboard::ClearDisplayObjectiveLevelCallback

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<void (const std::string &,const DisplayObjective &)>::_Invoker_type _M_invoker

# ServerScoreboard::IdentityUpdatedLevelCallback

Offset Type Name
0 (24) std::_Function_base baseclass_0
24 (8) std::function<void (const ScoreboardId &)>::_Invoker_type _M_invoker

# SlotDescriptor

Offset Type Name
0 (4) int mSlot
8 (24) std::vector<ItemInstance> mAcceptedItems
32 (8) const Item * mItem
40 (32) std::string mInteractText
72 (128) DefinitionTrigger mOnEquip
200 (128) DefinitionTrigger mOnUnequip

# SeatDescription

Offset Type Name
0 (12) Vec3 mPosition
12 (4) int mMinSeatCount
16 (4) int mMaxSeatCount
20 (4) float mSeatRotation
24 (1) bool mLockRiderRotation
28 (4) float mLockRiderRotationDegrees

# Shareable

Offset Type Name
0 (4) int itemId
4 (4) int itemAux
8 (4) int wantAmount
12 (4) int surplusAmount
16 (4) int maxAmount
20 (4) int craftIntoItem
24 (4) int craftIntoItemAux
28 (4) int itemPriority

# StackRefResultT<EntityRegistryRefTraits>

Offset Type Name
0 (16) EntityRegistryRefTraits::StackResultStorage baseclass_0

# StackedGraphBars

Offset Type Name
0 (24) std::vector<std::array<float,2>> mData
24 (24) std::vector<StackedGraphBars::ColorKey> mColors
48 (4) float mHeight
56 (32) std::string mGraphName
88 (4) int mMaxBars

# ScriptApi::ScriptVersionInfo

Offset Type Name
0 (4) int32_t mMajorVersion
4 (4) int32_t mMinVerssion

# ScriptApi::EventTracking

Offset Type Name
0 (1) ScriptApi::ScriptObjectHandle mFunctionObject

# ScriptCommand

Offset Type Name
0 (4) ScriptCommandId mId
8 (32) std::string mCommand
40 (1) ScriptApi::ScriptObjectHandle mCallback

# ScriptApi::ScriptSystemInfo

Offset Type Name
0 (1) bool mInitialized
8 (32) std::string mSystemName
40 (1) ScriptApi::ScriptObjectHandle mSystemObject
44 (8) ScriptApi::ScriptVersionInfo mVersionInfo

# ScriptEngine::ScriptQueueData

Offset Type Name
0 (32) Core::HeapPathBuffer mScriptPath
32 (32) std::string mScriptName
64 (32) std::string mScriptContent
96 (32) std::string mPackID
128 (32) std::string mPackVersion
160 (8) uint64_t mScriptHash

# ScriptQueryComponent

Offset Type Name
0 (56) std::unordered_set<std::string> mFilters
56 (4) ScriptQueryComponent::ViewType mType
64 (32) std::string mSpatialTag
96 (96) std::string[3] mCoordinateTags

# ScriptApi::WORKAROUNDS::tempActorComponent

Offset Type Name
0 (8) ActorUniqueID mID

# ScriptApi::WORKAROUNDS::tempLevelComponent

Offset Type Name
0 (1) __int8[1] gap0

# ScoreboardCommand::SetScoreOutput

Offset Type Name
0 (4) int mSuccessCount
4 (4) int mFirstNewScore
8 (32) std::string mFirstSuccess

# StopSoundPacket

Offset Type Name
0 (40) Packet baseclass_0
40 (32) std::string mName
72 (1) bool mStopAll

# SetTitlePacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (4) SetTitlePacket::TitleType mType
40 (32) std::string mTitleText
72 (4) int mFadeInTime
76 (4) int mStayTime
80 (4) int mFadeOutTime

# ShareableComponent

Offset Type Name
0 (1) IEntityComponent baseclass_0

# StompBlockGoal::OptionalBlockPos

Offset Type Name
0 (16) std::_Optional_base<BlockPos> baseclass_0

# SubtreeDefinition::load::$2A59718DDDE9B252D2E2D9E1042A23A6

Offset Type Name
0 (8) SubtreeDefinition * this

# StructureBlockPalette::TickingQueueData

Offset Type Name
0 (4) int mTickDelay

# sched_param

Offset Type Name
0 (4) int sched_priority

# sockaddr

Offset Type Name
0 (2) sa_family_t sa_family
2 (14) char[14] sa_data

# StrAndBool

Offset Type Name
0 (8) char * str
8 (1) bool b

# stat

Offset Type Name
0 (8) __dev_t st_dev
8 (8) __ino_t st_ino
16 (8) __nlink_t st_nlink
24 (4) __mode_t st_mode
28 (4) __uid_t st_uid
32 (4) __gid_t st_gid
36 (4) int __pad0
40 (8) __dev_t st_rdev
48 (8) __off_t st_size
56 (8) __blksize_t st_blksize
64 (8) __blkcnt_t st_blocks
72 (16) timespec st_atim
88 (16) timespec st_mtim
104 (16) timespec st_ctim
120 (24) __syscall_slong_t[3] __glibc_reserved

# StringToPackTypeMap_t

Offset Type Name
0 (56) std::unordered_map<std::string,PackType>::_Hashtable _M_h

# SemVersion::any_version_constructor

Offset Type Name
0 (1) __int8[1] gap0

# ScheduledCallback

Offset Type Name
0 (8) time_t mTime
8 (16) std::weak_ptr<bool> mExistenceTracker
24 (32) std::function<void ()> mCallback
56 (1) bool mShouldCheckExistence

# stack_t

Offset Type Name
0 (8) void * ss_sp
8 (4) int ss_flags
16 (8) size_t ss_size

# sigaction

Offset Type Name
0 (8) sigaction::$A264F945D93E77C42166F8517888D535 __sigaction_handler
8 (128) __sigset_t sa_mask
136 (4) int sa_flags
144 (8) void (*)(void) sa_restorer

# sigaction::$A264F945D93E77C42166F8517888D535

Offset Type Name
0 (8) __sighandler_t sa_handler
1 (8) void (*)(int, siginfo_t *, void *) sa_sigaction

# siginfo_t

Offset Type Name
0 (4) int si_signo
4 (4) int si_errno
8 (4) int si_code
12 (4) int __pad0
16 (112) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A _sifields

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A

Offset Type Name
0 (112) int[28] _pad
1 (8) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$34A68472B6FD99AB74EBE1055AA656AE _kill
2 (16) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$CCD53A48A999AABAD7234802D7894EC3 _timer
3 (16) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$1083567770C9944ECE9586E3D60D7164 _rt
4 (32) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$269BD37B8033F496E0DA26224222815C _sigchld
5 (32) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$9E99AB014780417E3FB416F9C93D05FB _sigfault
6 (16) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$8332D0DE0C0D8B400D7F5CB203041E7E _sigpoll
7 (16) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$5BF7061F11A02461448786E25380AC9A _sigsys

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$34A68472B6FD99AB74EBE1055AA656AE

Offset Type Name
0 (4) __pid_t si_pid
4 (4) __uid_t si_uid

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$CCD53A48A999AABAD7234802D7894EC3

Offset Type Name
0 (4) int si_tid
4 (4) int si_overrun
8 (8) __sigval_t si_sigval

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$1083567770C9944ECE9586E3D60D7164

Offset Type Name
0 (4) __pid_t si_pid
4 (4) __uid_t si_uid
8 (8) __sigval_t si_sigval

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$269BD37B8033F496E0DA26224222815C

Offset Type Name
0 (4) __pid_t si_pid
4 (4) __uid_t si_uid
8 (4) int si_status
16 (8) __clock_t si_utime
24 (8) __clock_t si_stime

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$9E99AB014780417E3FB416F9C93D05FB

Offset Type Name
0 (8) void * si_addr
8 (2) __int16 si_addr_lsb
16 (16) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$9E99AB014780417E3FB416F9C93D05FB::$5BC825E6F32707B864090E1402CAE52B _bounds

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$9E99AB014780417E3FB416F9C93D05FB::$5BC825E6F32707B864090E1402CAE52B

Offset Type Name
0 (16) siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$9E99AB014780417E3FB416F9C93D05FB::$5BC825E6F32707B864090E1402CAE52B::$500E99076578AD283C95318D41ACB4BA _addr_bnd
1 (4) __uint32_t _pkey

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$9E99AB014780417E3FB416F9C93D05FB::$5BC825E6F32707B864090E1402CAE52B::$500E99076578AD283C95318D41ACB4BA

Offset Type Name
0 (8) void * _lower
8 (8) void * _upper

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$8332D0DE0C0D8B400D7F5CB203041E7E

Offset Type Name
0 (8) __int64 si_band
8 (4) int si_fd

# siginfo_t::$9514A1E9F77EB70C94BB89C64268A47A::$5BF7061F11A02461448786E25380AC9A

Offset Type Name
0 (8) void * _call_addr
8 (4) int _syscall
12 (4) unsigned int _arch

# sigset_t

Offset Type Name
0 (128) unsigned __int64[16] __val

# SubChunk

Offset Type Name
0 (8) DirtyTicksCounter mDirtyTicksCounter
8 (8) std::unique_ptr<SubChunkBrightnessStorage> mLight
16 (16) std::unique_ptr<SubChunkBlockStorage>[2] mBlocks
32 (16) SubChunkBlockStorage *[2] mBlocksReadPtr
48 (8) SpinLock * mWriteLock

# ScoreboardIdentityRef

Offset Type Name
0 (4) uint32_t mObjectiveReferences
8 (16) ScoreboardId mScoreboardId

# SparklerItem::ColorInfo

Offset Type Name
0 (1) ItemColor mDyeId
1 (1) CompoundType mColorCompound
4 (4) int mVariantIndex
8 (4) int mRGB

# SmallSet<WorkerPool *>

Offset Type Name
0 (24) std::vector<WorkerPool *> c

# ServiceOverrider<bool (*)(const char *,const char *,const char *,bool,int,const char *,const char *,bool)>

Offset Type Name
0 (104) ThreadLocal<bool (**)(const char *,const char *,const char *,bool,int,const char *,const char *,bool)> mService
104 (8) bool (**)(const char *, const char *, const char *, bool, int, const char *, const char *, bool) mDefaultService

# ServerMetricsImpl

Offset Type Name
0 (8) ServerMetrics baseclass_0
8 (8) std::chrono::_V2::steady_clock::time_point mLastPeriodicSend
16 (56) std::unordered_map<NetworkIdentifier,ServerMetricsImpl::DataTransferred> mLastMeasured
72 (8) ServerCommunicationInterface * mServerCommunicationInterface
80 (1) bool mEnableMetricQueuing
88 (616) moodycamel::ConcurrentQueue<std::unique_ptr<com::mojang::clacks::protocol::MetricReport>,moodycamel::ConcurrentQueueDefaultTraits> mMetricsQueue

# ServerMetrics

Offset Type Name
0 (8) int (**)(void) _vptr$ServerMetrics

# SmoothStoneSelector

Offset Type Name
0 (8) BlockSelector baseclass_0

# SavedData

Offset Type Name
0 (8) int (**)(void) _vptr$SavedData
8 (1) bool mDirty
16 (32) std::string mId

# StructureManager

Offset Type Name
0 (56) SharedMutex mRepositoryMutex
56 (56) std::unordered_map<std::string,std::unique_ptr<LegacyStructureTemplate>> mLegacyStructureRepository
112 (56) std::unordered_map<std::string,std::unique_ptr<StructureTemplate>> mStructureRepository
168 (8) LevelStorage * mLevelStorage
176 (8) ResourcePackManager * mPackManager

# SharedMutex

Offset Type Name
0 (56) std::__shared_timed_mutex_base baseclass_0

# SharePtrRefTraits<PerlinSimplexNoise>::OwnerStorage

Offset Type Name
0 (16) std::shared_ptr<PerlinSimplexNoise> mValue

# Scheduler

Offset Type Name
0 (4) uint32_t mTotalFrames
4 (4) uint32_t mStarvedFrames
8 (4) uint32_t mPromotionFrames
12 (4) uint32_t mTargetFPS
16 (4) uint32_t mEffectiveFPS
20 (4) uint32_t mFramesOverBound
24 (8) double mAverageCallbackDuration
32 (8) double mTotalCoroutineDuration
40 (8) size_t mTotalRunCoroutines
48 (8) double mCoroutineTimeLimit
56 (8) std::unique_ptr<WorkerPool> mCoroutinePool
64 (8) std::chrono::time_point<std::chrono::_V2::system_clock,std::chrono::duration<long,std::ratio<1,1000000000> > > mNextStarveCheckTime
72 (8) std::thread::id mThreadID

# SubClientConnectionRequest

Offset Type Name
0 (8) Unique<UnverifiedCertificate> mCertificateData
8 (8) Unique<Certificate> mCertificate
16 (8) Unique<WebToken> mRawToken

# ScorePacketInfo

Offset Type Name
0 (16) ScoreboardId mScoreboardId
16 (32) std::string mObjectiveName
48 (4) int mScoreValue
52 (1) IdentityDefinition::Type mIdentityType
56 (8) PlayerScoreboardId mPlayerId
64 (8) ActorUniqueID mEntityId
72 (32) std::string mFakePlayerName

# ScriptEngineWithContext<ScriptServerContext>

Offset Type Name
0 (416) ScriptEngine baseclass_0
416 (16) const string_span SCRIPT_FILE_EXTENSION
432 (32) const std::string SCRIPT_ENTITY_TYPE
464 (32) const std::string SCRIPT_ITEM_ENTITY_TYPE
496 (40) ScriptServerContext mContext
536 (296) ScriptTemplateFactory<ScriptServerContext> mFactory
832 (48) ScriptOnlyComponents<ScriptServerContext> mScriptComponents
880 (48) ScriptOnlyEventsData<ScriptServerContext> mScriptEvents
928 (80) std::deque<std::unique_ptr<const ScriptEventData>> mEventQueue
1008 (56) ScriptCommandCallbackQueue mCommandPendingCallbackQueue
1064 (112) ScriptQueries mQueries
1176 (1) bool mWorkaroundViewUpdate

# ScriptEngine

Offset Type Name
0 (48) ScriptApi::ScriptFramework baseclass_0
48 (8) ScriptApi::ScriptCallbackInterface baseclass_30
56 (56) std::unordered_map<std::string,std::vector<ScriptApi::EventTracking>> mListeningEvents
112 (80) std::deque<ScriptCommand> mCommandRequestQueue
192 (8) std::unique_ptr<ScriptBinderTemplateController> mBinderFactory
200 (1) bool mInitialized
204 (4) const ScriptApi::ApiScriptType mApiScriptType
208 (56) ScriptEngine::ScriptSet_t mRunningScripts
264 (80) ScriptEngine::ScriptQueue_t mPendingScriptQueue
344 (56) std::unordered_map<std::string,EventInfo> mMapEventInfo
400 (8) std::unique_ptr<ScriptEventCoordinator> mScriptEventCoordinator
408 (8) ScriptLoggerConfig mLoggerConfig

# ScriptApi::ScriptFramework

Offset Type Name
0 (8) int (**)(void) _vptr$ScriptFramework
8 (8) std::unique_ptr<ScriptApi::ScriptLanguageInterface> mLanguageInterface
16 (24) std::vector<ScriptApi::ScriptSystemInfo> mScriptSystems
40 (8) std::unique_ptr<ScriptApi::ScriptReport> mScriptReportQueue

# ScriptApi::ScriptCallbackInterface

Offset Type Name
0 (8) int (**)(void) _vptr$ScriptCallbackInterface

# ScriptEngine::ScriptSet_t

Offset Type Name
0 (56) std::unordered_set<std::string>::_Hashtable _M_h

# ScriptEngine::ScriptQueue_t

Offset Type Name
0 (80) std::deque<ScriptEngine::ScriptQueueData> c

# ScriptLoggerConfig

Offset Type Name
0 (8) EnumBitset<ScriptLogType,3> baseclass_0

# ScriptServerContext

Offset Type Name
0 (8) Level * mLevel
8 (8) Minecraft * mMinecraft
16 (8) PacketSender * mPacketSender
24 (8) entt::DefaultRegistry * mRegistry
32 (8) ScriptApi::ScriptReport * mScriptReport

# ScriptTemplateFactory<ScriptServerContext>

Offset Type Name
0 (56) ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Entity> mEntities
56 (56) ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Entity> mItemEntities
112 (56) ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Component> mComponents
168 (56) ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent> mReceivedEvents
224 (56) ScriptTemplateFactory<ScriptServerContext>::HashedEntries mScriptEventDatas
280 (16) ScriptTemplateFactory<ScriptServerContext>::Entry<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent> mBroadcastEvent

# ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Entity>

Offset Type Name
0 (56) std::unordered_map<unsigned long,std::shared_ptr<ScriptTemplateFactory<ScriptServerContext>::Entity>> mTemplates

# ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::Component>

Offset Type Name
0 (56) std::unordered_map<unsigned long,std::shared_ptr<ScriptTemplateFactory<ScriptServerContext>::Component>> mTemplates

# ScriptTemplateFactory<ScriptServerContext>::Entries<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent>

Offset Type Name
0 (56) std::unordered_map<unsigned long,std::shared_ptr<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent>> mTemplates

# ScriptTemplateFactory<ScriptServerContext>::HashedEntries

Offset Type Name
0 (56) std::unordered_set<unsigned long> mHashes

# ScriptTemplateFactory<ScriptServerContext>::Entry<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent>

Offset Type Name
0 (16) std::__shared_ptr<ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent,__gnu_cxx::_S_atomic> baseclass_0

# ScriptOnlyComponents<ScriptServerContext>

Offset Type Name
0 (48) std::map<std::string,Json::Value> mScriptOnlyComponentDefs

# ScriptOnlyEventsData<ScriptServerContext>

Offset Type Name
0 (48) std::map<std::string,Json::Value> mScriptOnlyEventsData

# ScriptCommandCallbackQueue

Offset Type Name
0 (56) std::unordered_map<unsigned int,ScriptCommandCallbackData>::_Hashtable _M_h

# ScriptQueries

Offset Type Name
0 (112) entt::DefaultRegistry mRegistryView

# ServerInstanceEventListener

Offset Type Name
0 (8) int (**)(void) _vptr$ServerInstanceEventListener

# Squid::spawnInkParticles::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# Squid::aiStep::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# Squid::updateEntitySpecificMolangVariables::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# Shulker::updateEntitySpecificMolangVariables::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# Silverfish::spawnAnim::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SynchedActorData

Offset Type Name
0 (24) SynchedActorData::DataList mItemsArray
24 (2) SynchedActorData::ID minIdxDirty
26 (2) SynchedActorData::ID maxIdxDirty

# SimpleContainer

Offset Type Name
0 (244) __int8[244] baseclass_0
244 (4) int mSize
248 (24) std::vector<ItemStack> mItems

# SimpleBoolFilterTest

Offset Type Name
0 (12) FilterTest:96 baseclass_0
12 (1) bool mValue

# SimpleFloatFilterTest

Offset Type Name
0 (12) FilterTest:96 baseclass_0
12 (4) float mValue

# SimpleHashStringFilterTest

Offset Type Name
0 (16) FilterTest baseclass_0
16 (40) Util::HashString mValueString

# SimpleIntFilterTest

Offset Type Name
0 (12) FilterTest:96 baseclass_0
12 (4) int mValue

# SimpleTagIDFilterTest

Offset Type Name
0 (16) FilterTest baseclass_0
16 (16) std::optional<IDType<TagIDType> > mCachedIDValue
32 (40) Util::HashString mValueString

# SortItemInstanceIdAux

Offset Type Name
0 (1) __int8[1] gap0

# SpawnData

Offset Type Name
0 (8) int (**)(void) _vptr$SpawnData
8 (4) WeighedRandom::WeighedRandomItem baseclass_8
16 (168) ActorDefinitionIdentifier mActorId
184 (8) std::unique_ptr<CompoundTag> mTag

# StackRefResultT<EntityRefTraits>

Offset Type Name
0 (24) EntityRefTraits::StackResultStorage baseclass_0

# SubChunkBlockStorage

Offset Type Name
0 (8) int (**)(void) _vptr$SubChunkBlockStorage

# SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC

Offset Type Name
0 (4) uint32_t height
4 (4) uint32_t radius
8 (8) const BlockPos * pos

# SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC

Offset Type Name
0 (8) const BoundingBox * box

# SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::findUsedIndices::$89D4AD7C0CE71E5C121270538A6F6D8C

Offset Type Name
0 (8) std::bitset<2> * existing

# SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:357:64)>::$242ED9D411BD064A57C4553B835CD0FE

Offset Type Name
0 (8) const std::bitset<2> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC * shapePredicate

# SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:371:67)>::$633D66453D3F5664A26EE59CDFD22959

Offset Type Name
0 (8) const std::bitset<2> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC * shapePredicate

# SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::_zeroIndicesGreaterEqualThan::$BF7C779BDE86076AE2754C92A6BC7645

Offset Type Name
0 (8) uint16_t * max
8 (8) std::vector<unsigned short> * outOfBoundSlots
16 (8) size_t * idx

# SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC

Offset Type Name
0 (4) uint32_t height
4 (4) uint32_t radius
8 (8) const BlockPos * pos

# SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC

Offset Type Name
0 (8) const BoundingBox * box

# SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::findUsedIndices::$D3A89A71AD77E1A6A761C588139D92F8

Offset Type Name
0 (8) std::bitset<4> * existing

# SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:357:64)>::$66FA6D0B33FF0D79D1FAEF5E715B6A50

Offset Type Name
0 (8) const std::bitset<4> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC * shapePredicate

# SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:371:67)>::$5D469001403E80B2A426E4718973955B

Offset Type Name
0 (8) const std::bitset<4> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC * shapePredicate

# SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::_zeroIndicesGreaterEqualThan::$BF7C779BDE86076AE2754C92A6BC7645

Offset Type Name
0 (8) uint16_t * max
8 (8) std::vector<unsigned short> * outOfBoundSlots
16 (8) size_t * idx

# SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC

Offset Type Name
0 (4) uint32_t height
4 (4) uint32_t radius
8 (8) const BlockPos * pos

# SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC

Offset Type Name
0 (8) const BoundingBox * box

# SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::findUsedIndices::$5D1D4294B57C53DD4C7D10D4AE89381A

Offset Type Name
0 (8) std::bitset<8> * existing

# SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:357:64)>::$C26F408D3D152A4098209C2CE9387EF2

Offset Type Name
0 (8) const std::bitset<8> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC * shapePredicate

# SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:371:67)>::$09FE199C713A938B3B17002F6F47058A

Offset Type Name
0 (8) const std::bitset<8> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC * shapePredicate

# SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::_zeroIndicesGreaterEqualThan::$BF7C779BDE86076AE2754C92A6BC7645

Offset Type Name
0 (8) uint16_t * max
8 (8) std::vector<unsigned short> * outOfBoundSlots
16 (8) size_t * idx

# SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC

Offset Type Name
0 (4) uint32_t height
4 (4) uint32_t radius
8 (8) const BlockPos * pos

# SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC

Offset Type Name
0 (8) const BoundingBox * box

# SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::findUsedIndices::$900FAD5FCE8D58777B797CA0B7FA2138

Offset Type Name
0 (8) std::bitset<16> * existing

# SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:357:64)>::$4917742FCBCB7D234EAD1B5E3DA1DE4E

Offset Type Name
0 (8) const std::bitset<16> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC * shapePredicate

# SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:371:67)>::$28E5234A30BDDE39C7BEB7FA929ADF5A

Offset Type Name
0 (8) const std::bitset<16> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC * shapePredicate

# SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::_zeroIndicesGreaterEqualThan::$BF7C779BDE86076AE2754C92A6BC7645

Offset Type Name
0 (8) uint16_t * max
8 (8) std::vector<unsigned short> * outOfBoundSlots
16 (8) size_t * idx

# SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC

Offset Type Name
0 (4) uint32_t height
4 (4) uint32_t radius
8 (8) const BlockPos * pos

# SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC

Offset Type Name
0 (8) const BoundingBox * box

# SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::findUsedIndices::$C463AA8D3B7416B6EACBAB570E768265

Offset Type Name
0 (8) std::bitset<32> * existing

# SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:357:64)>::$AAA3ED88E6F951360D315A860A822F3A

Offset Type Name
0 (8) const std::bitset<32> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC * shapePredicate

# SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:371:67)>::$ED58595EF437FEAFABE4C940374EA69A

Offset Type Name
0 (8) const std::bitset<32> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC * shapePredicate

# SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::_zeroIndicesGreaterEqualThan::$BF7C779BDE86076AE2754C92A6BC7645

Offset Type Name
0 (8) uint16_t * max
8 (8) std::vector<unsigned short> * outOfBoundSlots
16 (8) size_t * idx

# SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC

Offset Type Name
0 (4) uint32_t height
4 (4) uint32_t radius
8 (8) const BlockPos * pos

# SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC

Offset Type Name
0 (8) const BoundingBox * box

# SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::findUsedIndices::$2990B7D608F6D64D2C15233EADEB07CB

Offset Type Name
0 (8) std::bitset<64> * existing

# SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:357:64)>::$B5E2A92EF98D0403FD7DBC5576FA3DFE

Offset Type Name
0 (8) const std::bitset<64> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC * shapePredicate

# SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:371:67)>::$704CDF7438A6CF9DB4A498AA560B0A22

Offset Type Name
0 (8) const std::bitset<64> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC * shapePredicate

# SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::_zeroIndicesGreaterEqualThan::$BF7C779BDE86076AE2754C92A6BC7645

Offset Type Name
0 (8) uint16_t * max
8 (8) std::vector<unsigned short> * outOfBoundSlots
16 (8) size_t * idx

# SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC

Offset Type Name
0 (4) uint32_t height
4 (4) uint32_t radius
8 (8) const BlockPos * pos

# SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC

Offset Type Name
0 (8) const BoundingBox * box

# SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::findUsedIndices::$34AB7F28A08EB8CC59CD205CAB614B75

Offset Type Name
0 (8) std::bitset<256> * existing

# SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:357:64)>::$1AEE232A0E96F160F80275F43A812658

Offset Type Name
0 (8) const std::bitset<256> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC * shapePredicate

# SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:371:67)>::$40981709DD800CB46A7EC240DF9DEAFC

Offset Type Name
0 (8) const std::bitset<256> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC * shapePredicate

# SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::_zeroIndicesGreaterEqualThan::$BF7C779BDE86076AE2754C92A6BC7645

Offset Type Name
0 (8) uint16_t * max
8 (8) std::vector<unsigned short> * outOfBoundSlots
16 (8) size_t * idx

# SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC

Offset Type Name
0 (4) uint32_t height
4 (4) uint32_t radius
8 (8) const BlockPos * pos

# SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC

Offset Type Name
0 (8) const BoundingBox * box

# SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::findUsedIndices::$6336BD0E2483FB0EFB3F76DC3EBC5309

Offset Type Name
0 (8) std::bitset<4096> * existing

# SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:357:64)>::$6F135F9B09AF7761430A35C180173A8C

Offset Type Name
0 (8) const std::bitset<4096> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::fetchBlocksInCylinder::$40F19BD02D6D15FED988956B86A67BFC * shapePredicate

# SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::_fetchBlocksInShape<(lambda at _Minecraftpe_handheld_src_common_world_level_chunk_SubChunkBlockStoragePaletted_h:371:67)>::$290B4DE2DB2BE431220A17F6F7E7C4F0

Offset Type Name
0 (8) const std::bitset<4096> * indices
8 (8) const BlockPos * positionOfChunk
16 (8) const BlockPos * pos
24 (8) uint16_t * index
32 (8) const buffer_span<const Block *> * palette
40 (8) std::vector<BlockFetchResult> * output
48 (8) const SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::fetchBlocksInBox::$C6B2610503636021CCB9EBE3476F26BC * shapePredicate

# SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::_zeroIndicesGreaterEqualThan::$BF7C779BDE86076AE2754C92A6BC7645

Offset Type Name
0 (8) uint16_t * max
8 (8) std::vector<unsigned short> * outOfBoundSlots
16 (8) size_t * idx

# StructurePoolElement

Offset Type Name
0 (8) int (**)(void) _vptr$StructurePoolElement
8 (4) std::once_flag mTemplateOnceFlag
16 (40) std::optional<StructurePoolElement::LazyTemplate> mTemplate
56 (32) std::string mLocation
88 (8) StructureManager * mManager
96 (1) bool mValid
100 (4) Projection mProjection
104 (8) const StructurePoolBlockRuleList * mBlockRules
112 (8) const StructurePoolBlockTagRuleList * mBlockTagRules
120 (8) const StructurePoolActorRuleList * mActorRules

# SetScorePacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (1) ScorePacketType mType
40 (24) std::vector<ScorePacketInfo> mScoreInfo

# SetScoreboardIdentityPacket

Offset Type Name
0 (36) Packet:288 baseclass_0
36 (1) ScoreboardIdentityPacketType mType
40 (24) std::vector<ScoreboardIdentityPacketInfo> mIdentityInfo

# SetDisplayObjectivePacket

Offset Type Name
0 (40) Packet baseclass_0
40 (32) std::string mDisplaySlotName
72 (32) std::string mObjectiveName
104 (32) std::string mObjectiveDisplayName
136 (32) std::string mCriteriaName
168 (1) ObjectiveSortOrder mSortOrder

# ServerScoreboard

Offset Type Name
0 (472) Scoreboard baseclass_0
472 (8) std::unique_ptr<BasicTimer> mSaveTimer
480 (8) LevelStorage * mLevelStorage
488 (1) bool mIsDirty
496 (32) ServerScoreboard::ScoreChangedLevelCallback mScoreChangedLevelCallback
528 (32) ServerScoreboard::ScoreRemovedLevelCallback mScoreRemovedLevelCallback
560 (32) ServerScoreboard::SetDisplayObjectiveLevelCallback mSetDisplayObjectiveLevelCallback
592 (32) ServerScoreboard::ClearDisplayObjectiveLevelCallback mClearDisplayObjectiveLevelCallback
624 (32) ServerScoreboard::IdentityUpdatedLevelCallback mIdentityUpdatedLevelCallback
656 (24) std::vector<const Objective *> mTrackedObjectives
680 (8) PacketSender * mPacketSender
688 (16) ScoreboardId mLastUniqueSBID

# Scoreboard

Offset Type Name
0 (8) int (**)(void) _vptr$Scoreboard
8 (8) CommandSoftEnumRegistry mRegistry
16 (56) std::unordered_map<std::string,DisplayObjective> mDisplayObjectives
72 (224) IdentityDictionary mIdentityDict
296 (56) std::unordered_map<ScoreboardId,ScoreboardIdentityRef> mIdentityRefs
352 (1) bool mShouldUpdateUI
360 (56) std::unordered_map<std::string,std::unique_ptr<Objective>> mObjectives
416 (56) std::unordered_map<std::string,std::unique_ptr<ObjectiveCriteria>> mCriteria

# ScoreboardCommand::InitProxy

Offset Type Name
0 (8) Scoreboard * mScoreboard

# ScatterParams::_getPos::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# ScatterParams::initMolangParams::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SpongeBlock::_spawnAbsorbParticles::$7EF7C94BEAB75C6CEF4ADFB99B570420

Offset Type Name
0 (1) __int8[1] gap0

# SnapshotEnv::DeleteFileEntry

Offset Type Name
0 (32) Core::HeapPathBuffer mFileName
32 (1) bool mWasRename

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

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

# SPSCQueue<std::string,512>

struct SPSCQueue<std::string,512>
{
  Lockless::WeakAtomic<SPSCQueue<std::string,512>::Block *> mFrontBlock;
  char mCachelineFiller[56];
  Lockless::WeakAtomic<SPSCQueue<std::string,512>::Block *> mTailBlock;
  size_t mLargestBlockSize;
};

# ServerInstanceEventCoordinator

struct __cppobj ServerInstanceEventCoordinator : EventCoordinator<ServerInstanceEventListener>
{
};

# ServerContentKeyProvider

struct __cppobj ServerContentKeyProvider : IContentAccessibilityProvider
{
};

# SaveTransactionManager

struct SaveTransactionManager
{
  SaveTransactionManager::ShowIconFunction mShowIconFunction;
};

# ServerCommandOrigin

struct __cppobj __attribute__((aligned(8))) ServerCommandOrigin : CommandOrigin
{
  ServerLevel *mServerLevel;
  std::string mRequestId;
  CommandPermissionLevel mCommandPermissionLevel;
};

# ServerCommunicationInterface

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

# ServerInstance

struct __cppobj ServerInstance : AppPlatformListener, GameCallbacks
{
  const IMinecraftApp *mApp;
  Unique<Minecraft> mMinecraft;
  Unique<NetworkHandler> mNetwork;
  Unique<LoopbackPacketSender> mPacketSender;
  Unique<Timer> mSimTimer;
  Unique<Timer> mRealTimer;
  std::unique_ptr<Scheduler> mScheduler;
  std::unique_ptr<EducationOptions> mEducationOptions;
  LevelStorage *mStorage;
  RakNet::RakNetGUID mNetworkGUID;
  std::atomic_bool mInUpdate;
  std::atomic<int> mWriteRefCounter;
  std::atomic_bool mThreadShouldJoin;
  ServerInstanceEventCoordinator *mEventCoordinator;
  std::atomic<ServerInstance::InstanceState> mInstanceState;
  SPSCQueue<std::function<void ()>,512> mCommandQueue;
  Bedrock::Threading::Thread mServerInstanceThread;
  Bedrock::Threading::Mutex mResumeMutex;
  Bedrock::Threading::ConditionVariable mResumeSignal;
  std::unique_ptr<MinecraftServerScriptEngine> mScriptEngine;
  std::function<void ()> mLevelCorruptCallback;
  bool mHandledLevelCorruption;
  std::unique_ptr<TextFilteringProcessor> mTextFilteringProcessor;
  std::chrono::microseconds mWakeupInterval;
  std::chrono::_V2::steady_clock::time_point mLastPingTime;
  std::string mLevelId;
  std::unique_ptr<WorldSessionEndPoint> mWorldSessionEndPoint;
  std::shared_ptr<Core::FileStorageArea> mStorageAreaForLevel;
};

# ServerLevel

struct __cppobj ServerLevel : Level
{
  bool mAllPlayersAreSleeping;
  bool mShouldSendSleepMessage;
  ResourcePackManager *mServerResourcePackManager;
  ResourcePackManager *mClientResourcePackManager;
  MinecraftCommands *mCommands;
  TradeTables mTradeTable;
  std::unique_ptr<FunctionManager> mFunctionManager;
  std::unique_ptr<MobEvents> mMobEvents;
  ServerLevel::TagCache mTagCache;
};

# ServiceLocator<AppPlatform>

struct ServiceLocator<AppPlatform>
{
  __int8 gap0[1];
};

# ServiceLocator<AppConfigs>

struct ServiceLocator<AppConfigs>
{
  __int8 gap0[1];
};

# ServiceLocator<ContentLog>

struct ServiceLocator<ContentLog>
{
  __int8 gap0[1];
};

# SubpackInfoCollection

struct SubpackInfoCollection
{
  std::vector<SubpackInfo> mSubpackInfo;
};

# ServerCommand

struct __cppobj ServerCommand : Command
{
};

# SnapshotFilenameAndLength

struct SnapshotFilenameAndLength
{
  std::string filename;
  uint64_t filesize;
};

# SaveCommand

struct __cppobj __attribute__((aligned(8))) SaveCommand : ServerCommand
{
  SaveCommand::Mode mMode;
};

# StopCommand

struct __cppobj StopCommand : Command
{
};

# ServerNetworkHandler

struct __cppobj ServerNetworkHandler : NetEventCallback, LevelListener, Social::MultiplayerServiceObserver, Social::XboxLiveUserObserver
{
  GameCallbacks *mGameCallbacks;
  Level *mLevel;
  NetworkHandler *mNetworkHandler;
  PrivateKeyManager *mServerKeys;
  ServerLocator *mServerLocator;
  PacketSender *mPacketSender;
  bool mUseWhitelist;
  Whitelist *mWhitelist;
  PermissionsFile *mPermissionsFile;
  Blacklist mServerBlacklist;
  bool mRequireTrustedAuthentication;
  bool mHasDisplayedPackErrors;
  NetworkIdentifier mMyId;
  const int mMaxChunkRadius;
  MinecraftCommands *mMinecraftCommands;
  IMinecraftApp *mApp;
  TextFilteringProcessor *mTextFilteringProcessor;
  ServerMetrics *mServerMetrics;
  std::unique_ptr<ClientBlobCache::Server::ActiveTransfersManager> mClientCacheManager;
  Unique<ClassroomModeNetworkHandler> mCompanionHandler;
  std::string mTenantId;
  std::string mShareableIdentityToken;
  Bedrock::Threading::Mutex mValidatePlayerMutex;
  bool mAllowIncoming;
  mce::UUID mHostPlayerId;
  std::string mServerName;
  std::string mServerType;
  std::string mMultiplayerCorrelationId;
  std::vector<std::string> mTrustedKeys;
  int mMaxNumPlayers;
  std::unordered_map<NetworkIdentifier,std::unique_ptr<ServerNetworkHandler::Client>> mClients;
  bool mIsTrial;
  std::unordered_map<PackIdVersion,std::string> mPackIdToContentKey;
};

# ServerMetricsImpl::DataTransferred

struct ServerMetricsImpl::DataTransferred
{
  uint64_t totalBytesReceived;
  uint64_t totalBytesSent;
};

# SensingSystem

struct __cppobj SensingSystem : ITickingSystem
{
};

# ScaleByAgeSystem

struct __cppobj ScaleByAgeSystem : ITickingSystem
{
};

# SpawnActorSystem

struct __cppobj SpawnActorSystem : ITickingSystem
{
};

# ScaffoldingClimberSystem

struct __cppobj ScaffoldingClimberSystem : ITickingSystem
{
};

# SchedulerSystem

struct __cppobj SchedulerSystem : ITickingSystem
{
};

# StackResultStorageSharePtr<EntityRegistry>

struct StackResultStorageSharePtr<EntityRegistry>
{
  std::shared_ptr<EntityRegistry> mValue;
};

# StackResultStorageEntity

struct StackResultStorageEntity
{
  std::optional<EntityContext> mContext;
};

# SharedCounter<Item>

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

# SharedCounter<BlockLegacy>

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

# ScatterFeature

struct __cppobj __attribute__((aligned(8))) ScatterFeature : IFeature
{
  WeakRef<IFeature> mFeatureToScatter;
  ScatterParams mScatterParams;
  bool mProjectInputToFloor;
};

# SingleBlockFeature

struct __cppobj SingleBlockFeature : IFeature
{
  const Block *mBlock;
  bool mEnforcePlacementRules;
  bool mEnforceSurvivabilityRules;
  std::vector<const Block *> mMayPlaceOn;
  std::vector<const Block *> mMayReplace;
};

# StructureTemplateFeature

struct __cppobj StructureTemplateFeature : IFeature
{
  LegacyStructureTemplate *mStructure;
  StructureTemplateFeature::BoundingBox2D mPlacementRange;
  FacingID mFaceDirection;
  std::vector<std::unique_ptr<IStructureConstraint>> mConstraints;
};

# SandFeature

struct __cppobj __attribute__((aligned(8))) SandFeature : Feature
{
  const Block *mBlock;
  int mRadius;
};

# SpringFeature

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

# SpruceFeature

struct __cppobj __attribute__((aligned(8))) SpruceFeature : TreeFeature
{
};

# SwampTreeFeature

struct __cppobj __attribute__((aligned(8))) SwampTreeFeature : TreeFeature
{
};

# SavannaTreeFeature

struct __cppobj __attribute__((aligned(8))) SavannaTreeFeature : TreeFeature
{
};

# SeaAnemoneFeature

struct __cppobj SeaAnemoneFeature : Feature
{
};

# SeagrassFeature

struct __cppobj SeagrassFeature : Feature
{
};

# SeaPickleFeature

struct __cppobj SeaPickleFeature : Feature
{
};

# StackResultStorageFeature

struct StackResultStorageFeature
{
  std::optional<std::reference_wrapper<FeatureRegistry> > mRegistry;
  size_t mIndex;
};

# StackRefResultT<FeatureRefTraits>::StackRef

typedef FeatureRefTraits::StackRef StackRefResultT<FeatureRefTraits>::StackRef;

# StructurePiece

struct StructurePiece
{
  int (**_vptr$StructurePiece)(void);
  BoundingBox mBoundingBox;
  int mOrientation;
  int mGenDepth;
};

# StrongholdPiece

struct __cppobj __attribute__((aligned(8))) StrongholdPiece : StructurePiece
{
  StrongholdPiece::SmallDoorType entryDoor;
};

# SHFillerCorridor

struct __cppobj SHFillerCorridor : StrongholdPiece:352
{
  int steps;
};

# StrongholdPiece:352

struct __cppobj __attribute__((packed)) __attribute__((aligned(4))) StrongholdPiece:352 : StructurePiece
{
  StrongholdPiece::SmallDoorType entryDoor;
};

# SHStairsDown

struct __cppobj __attribute__((aligned(4))) SHStairsDown : StrongholdPiece:352
{
  bool isSource;
};

# SHChestCorridor

struct __cppobj __attribute__((aligned(4))) SHChestCorridor : StrongholdPiece:352
{
  bool hasPlacedChest;
};

# SHFiveCrossing

struct __cppobj SHFiveCrossing : StrongholdPiece:352
{
  bool leftHigh;
  bool leftLow;
  bool rightHigh;
  bool rightLow;
};

# SHLeftTurn

struct __cppobj __attribute__((aligned(8))) SHLeftTurn : StrongholdPiece
{
};

# SHRightTurn

struct __cppobj __attribute__((aligned(8))) SHRightTurn : StrongholdPiece
{
};

# SHLibrary

struct __cppobj __attribute__((aligned(4))) SHLibrary : StrongholdPiece:352
{
  bool isTall;
};

# SHPortalRoom

struct __cppobj __attribute__((aligned(4))) SHPortalRoom : StrongholdPiece:352
{
  bool hasPlacedMobSpawner;
};

# SHPrisonHall

struct __cppobj __attribute__((aligned(8))) SHPrisonHall : StrongholdPiece
{
};

# SHRoomCrossing

struct __cppobj SHRoomCrossing : StrongholdPiece:352
{
  int type;
};

# SHStraight

struct __cppobj __attribute__((aligned(4))) SHStraight : StrongholdPiece:352
{
  bool leftChild;
  bool rightChild;
};

# SHStraightStairsDown

struct __cppobj __attribute__((aligned(8))) SHStraightStairsDown : StrongholdPiece
{
};

# SHStartPiece

struct __cppobj SHStartPiece : SHStairsDown
{
  ReferencedPieceList pendingChildren;
  SHPortalRoom *portalRoom;
  std::string imposedPiece;
  std::string previousPiece;
  PieceWeightList pieceWeights;
};

# StructureTemplatePool

struct StructureTemplatePool
{
  std::string mName;
  std::vector<const StructurePoolElement *> mTemplates;
  std::string mFallback;
};

# StructurePoolBlockRuleList

typedef std::vector<std::unique_ptr<StructurePoolBlockRule>> StructurePoolBlockRuleList;

# StructurePoolBlockTagRuleList

typedef std::vector<std::unique_ptr<StructurePoolBlockTagRule>> StructurePoolBlockTagRuleList;

# StructurePoolActorRuleList

typedef std::vector<std::unique_ptr<StructurePoolActorRule>> StructurePoolActorRuleList;

# SubChunkBrightnessStorage

struct SubChunkBrightnessStorage
{
  std::array<SubChunkBrightnessStorage::LightPair,4096> mLight;
};

# SubChunkLightUpdate

struct __attribute__((aligned(4))) SubChunkLightUpdate
{
  SubChunkBlockPos mPos;
  Brightness mOldBrightness;
  Brightness mNewBrightness;
  Brightness mOldAbsorption;
  Brightness mNewAbsorption;
  bool mIsSkyLight;
};

# Seasons

struct Seasons
{
  Dimension *mDimension;
  PerlinSimplexNoise mSnowNoise;
};

# SimplexNoise

struct SimplexNoise
{
  Vec3 mOrigin;
  int mNoiseMap[512];
};

# SmallSet<std::unique_ptr<Actor> >

struct SmallSet<std::unique_ptr<Actor> >
{
  std::vector<std::unique_ptr<Actor>> c;
};

# SmallSet<std::unique_ptr<Actor> >::const_iterator

typedef std::vector<std::unique_ptr<Actor>>::const_iterator SmallSet<std::unique_ptr<Actor> >::const_iterator;

# SmallSet<std::unique_ptr<Actor> >::iterator

typedef std::vector<std::unique_ptr<Actor>>::iterator SmallSet<std::unique_ptr<Actor> >::iterator;

# ScreenshotOptions

struct ScreenshotOptions
{
  bool mCropToRatio;
  int mWidthRatio;
  int mHeightRatio;
  uint32_t mMaxWidth;
  uint32_t mMaxHeight;
  bool mRestrictScreenshotSize;
  bool mApplySquareFrame;
  Core::HeapPathBuffer mRequestedFileName;
  Core::HeapPathBuffer mRequestedFilePath;
  Core::HeapPathBuffer mRequestedExtension;
  bool mReplaceImage;
  bool mUseScreenshotsFolder;
  bool mHideUI;
  bool mLogRequest;
  bool mWriteScreenshotToFile;
  bool mIsSavegameScreenshot;
  Core::HeapPathBuffer mOutFileName;
  Core::HeapPathBuffer mOutFileDir;
  Core::HeapPathBuffer mOutExtension;
};

# StructurePoolActorRule

struct StructurePoolActorRule
{
  const Unique<IStructurePoolActorPredicate> mSourcePredicate;
  const std::string mResultActor;
};

# StructurePoolActorPredicateActorMatch

struct __cppobj StructurePoolActorPredicateActorMatch : IStructurePoolActorPredicate
{
  const std::string mActor;
};

# StructurePoolBlockRule

struct StructurePoolBlockRule
{
  const Unique<IStructurePoolBlockPredicate> mSourcePredicate;
  const Unique<IStructurePoolBlockPredicate> mTargetPredicate;
  const Block *mResultBlock;
};

# StructurePoolBlockPredicateBlockMatchRandom

struct __cppobj __attribute__((aligned(8))) StructurePoolBlockPredicateBlockMatchRandom : IStructurePoolBlockPredicate
{
  const Block *mBlock;
  const float mProbability;
};

# StructurePoolBlockPredicateAlwaysTrue

struct __cppobj StructurePoolBlockPredicateAlwaysTrue : IStructurePoolBlockPredicate
{
};

# StructurePoolBlockPredicateBlockMatch

struct __cppobj StructurePoolBlockPredicateBlockMatch : IStructurePoolBlockPredicate
{
  const Block *mBlock;
};

# StructurePoolBlockTagRule

struct StructurePoolBlockTagRule
{
  const Unique<IStructurePoolBlockTagPredicate> mSourcePredicate;
  const std::string mResultKey;
  const std::string mResultValue;
};

# StructurePoolBlockTagPredicateBlockTagStringMatches

struct __cppobj StructurePoolBlockTagPredicateBlockTagStringMatches : IStructurePoolBlockTagPredicate
{
  const Block *mBlock;
  const std::string mTagKey;
  const std::string mTagValue;
};

# StructureFeature

struct __attribute__((aligned(8))) StructureFeature
{
  int (**_vptr$StructureFeature)(void);
  StructureFeature::StructureMap cachedStructures;
  SharedMutex cacheMutex;
  std::unordered_set<ChunkPos> visitedPositions;
  SpinLock visitedPositionsMutex;
  uint32_t mRadius;
  int mXScale;
  int mZScale;
};

# StructureFeature::StructureMap

typedef std::unordered_map<ChunkPos,std::unique_ptr<StructureStart>> StructureFeature::StructureMap;

# StructureStart

struct StructureStart
{
  int (**_vptr$StructureStart)(void);
  BoundingBox boundingBox;
  int chunkX;
  int chunkZ;
  PieceList pieces;
};

# StrongholdFeature

struct __cppobj StrongholdFeature : StructureFeature:1760
{
  bool isSpotSelected;
  ChunkPos selectedChunks[3];
  VillageFeature *villages;
  Bedrock::Threading::Mutex positionMutex;
  const int TOTAL_VILLAGE_STRONGHOLDS;
  const int GRID_SIZE;
  const int GRID_INSET;
  const int MIN_STRONGHOLD_DISTANCE;
  const float STRONGHOLD_CHANCE;
  const int MAX_GRID_SEARCH_DISTANCE;
};

# ShipwreckFeature

struct __cppobj ShipwreckFeature : StructureFeature:1760
{
  int mSpacing;
  int mMinSeparation;
  OceanMonumentFeature *mMonument;
  std::vector<int> mAllowedBiomes;
};

# StructureFeature:1760

struct __attribute__((packed)) __attribute__((aligned(4))) StructureFeature:1760
{
  int (**_vptr$StructureFeature)(void);
  StructureFeature::StructureMap cachedStructures;
  SharedMutex cacheMutex;
  std::unordered_set<ChunkPos> visitedPositions;
  SpinLock visitedPositionsMutex;
  uint32_t mRadius;
  int mXScale;
  int mZScale;
};

# ShipwreckStart

struct __cppobj ShipwreckStart : StructureStart
{
};

# ShipwreckPiece

struct __cppobj ShipwreckPiece : StructurePiece
{
};

# StrongholdStart

struct __cppobj __attribute__((aligned(8))) StrongholdStart : StructureStart
{
  bool valid;
};

# StairBlock

struct __cppobj StairBlock : BlockLegacy
{
  const BlockLegacy *mBase;
};

# Social::Events::EventManager

struct __attribute__((aligned(4))) Social::Events::EventManager
{
  std::vector<std::unique_ptr<Social::Events::IEventListener>> mEventListeners;
  PropertyList mGlobalProperties;
  PropertyList mCommonProperties;
  PropertyListMap mPlayerCommonProperties;
  PropertyListMap mPlayerGlobalProperties;
  SharedMutex mGlobalPropertiesMutex;
  SharedMutex mCommonPropertiesMutex;
  SharedMutex mPlayerCommonPropertiesMutex;
  SharedMutex mPlayerGlobalPropertiesMutex;
  Bedrock::Threading::Mutex mListenersMutex;
  uint32_t mGlobalSeqNum;
  bool mAcceptNewEvents;
};

# Social::UserPicturePath

struct Social::UserPicturePath
{
  std::shared_ptr<ResourceLocation> mLocation;
};

# StructureEditorData

struct StructureEditorData
{
  std::string mStructureName;
  std::string mDataField;
  bool mIncludePlayers;
  bool mShowBoundingBox;
  StructureRedstoneSaveMode mRedstoneSaveMode;
  StructureBlockType mType;
  StructureSettings mSettings;
};

# StructureSettings

struct __attribute__((aligned(8))) StructureSettings
{
  std::string mPaletteName;
  bool mIgnoreEntities;
  bool mIgnoreBlocks;
  BlockPos mStructureSize;
  BlockPos mStructureOffset;
  Vec3 mPivot;
  ActorUniqueID mLastTouchedByPlayer;
  Rotation_0 mRotation;
  Mirror_0 mMirror;
  float mIntegrityValue;
  RandomSeed mIntegritySeed;
};

# StructureTelemetryClientData

struct StructureTelemetryClientData
{
  uint32_t mSizeEditCount;
  uint32_t mOffsetEditCount;
  uint32_t mRotationEditCount;
  uint32_t mMirrorEditCount;
};

# ServiceLocator<IMinecraftEventing>

struct ServiceLocator<IMinecraftEventing>
{
  __int8 gap0[1];
};

# StateVectorComponent

struct StateVectorComponent
{
  Vec3 mPos;
  Vec3 mPosPrev;
  Vec3 mPosDelta;
};

# SynchedActorData::TypeVec3

typedef Vec3 SynchedActorData::TypeVec3;

# SynchedActorData::TypeString

typedef std::string SynchedActorData::TypeString;

# SchedulerDefinition

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

# SpawnActorEntry

struct __attribute__((aligned(4))) SpawnActorEntry
{
  SpawnActorParameters mParams;
  int mSpawnTimer;
  bool mStopSpawning;
};

# ShortTag

struct __cppobj __attribute__((aligned(8))) ShortTag : Tag
{
  __int16 data;
};

# StringTag

struct __cppobj StringTag : Tag
{
  std::string data;
};

# serialize<CompoundTag>

struct serialize<CompoundTag>
{
  __int8 gap0[1];
};

# ServerLocator

struct ServerLocator
{
  int (**_vptr$ServerLocator)(void);
};

# ServiceLocator<NetworkDebugManager>

struct ServiceLocator<NetworkDebugManager>
{
  __int8 gap0[1];
};

# SetDefaultGameTypePacket

struct __cppobj SetDefaultGameTypePacket : Packet:288
{
  GameType mDefaultGameType;
};

# StructureBlockUpdatePacket

struct __cppobj __attribute__((aligned(8))) StructureBlockUpdatePacket : Packet:288
{
  NetworkBlockPosition mBlockPos;
  StructureEditorData_0 mData;
  bool mTrigger;
};

# StructureTemplateDataRequestPacket

struct __cppobj __attribute__((aligned(8))) StructureTemplateDataRequestPacket : Packet
{
  std::string mStructureName;
  NetworkBlockPosition mStructureBlockPos;
  StructureSettings_0 mStructureSettings;
  StructureTemplateRequestOperation mRequestOperation;
};

# ShowStoreOfferPacket

struct __cppobj __attribute__((aligned(8))) ShowStoreOfferPacket : Packet
{
  std::string mOfferId;
  std::string mContentType;
  bool mShowAll;
};

# SubClientLoginPacket

struct __cppobj SubClientLoginPacket : Packet
{
  Unique<SubClientConnectionRequest> mConnectionRequest;
};

# ServerSettingsRequestPacket

struct __cppobj ServerSettingsRequestPacket : Packet
{
};

# ServerSettingsResponsePacket

struct __cppobj ServerSettingsResponsePacket : Packet:288
{
  uint32_t mFormId;
  std::string mFormJSON;
};

# ShowProfilePacket

struct __cppobj ShowProfilePacket : Packet
{
  std::string mPlayerXUID;
};

# SetLocalPlayerAsInitializedPacket

struct __cppobj SetLocalPlayerAsInitializedPacket : Packet
{
  ActorRuntimeID mPlayerID;
};

# SettingsCommandPacket

struct __cppobj __attribute__((aligned(8))) SettingsCommandPacket : Packet
{
  std::string mCommandString;
  bool mSupressOutput;
};

# ServerNetworkHandler::Client

struct ServerNetworkHandler::Client
{
  std::unique_ptr<ConnectionRequest> mPrimaryRequest;
  std::unordered_map<unsigned char,std::unique_ptr<SubClientConnectionRequest>> mSubClientRequests;
};

# SerializedPersonaPieceHandle

struct SerializedPersonaPieceHandle
{
  std::string mPieceId;
  persona::PieceType mPieceType;
  mce::UUID mPackId;
  bool mIsDefaultPiece;
  std::string mProductId;
};

# Social::XboxLiveUserObserver

struct __cppobj Social::XboxLiveUserObserver : Core::Observer<Social::XboxLiveUserObserver,Core::SingleThreadedLock>
{
};

# Social::MultiplayerServiceObserver

struct __cppobj Social::MultiplayerServiceObserver : Core::Observer<Social::MultiplayerServiceObserver,Core::SingleThreadedLock>
{
};

# ServerPlayer

struct __cppobj ServerPlayer : Player
{
  NetworkHandler *mNetworkHandler;
  ServerPlayer::OnPlayerLoadedCallback mOnPlayerLoadedCallback;
  NetworkChunkPublisher mChunkPublisherView;
  InventoryMenu mInventoryMenu;
  ContainerID mContainerCounter;
  uint32_t mMaxChunkRadius;
  bool mLoading;
  bool mIsTeacher;
  bool mTeleportedThisTick;
  bool mLocalPlayerInitialized;
  Tick mPrevShieldBlockingTick;
  std::unique_ptr<CompoundTag> mLostDataTag;
  uint32_t mClientViewRadius;
  uint32_t mClientRequestedRadius;
  int mRemainingStructureRefreshTicks;
  StructureFeatureType mCurrentStructureFeature;
  std::chrono::_V2::steady_clock::time_point mLastKnownSyncTime;
  std::chrono::_V2::steady_clock::time_point mLastKnownDesyncTime;
  float mCheatingStrikeScore;
  std::unordered_map<ActorUniqueID,ServerPlayer::NearbyActor> mNearbyActors;
  Unique<ServerMoveInputHandler> mMoveInputHandler;
  InputMode mCurrentInputMode;
  ClientPlayMode mPlayMode;
  PlayerMovementTelemetryData mMovementData;
};

# StackRefResult<EntityId>

typedef StackRefResultT<EntityRefTraits> StackRefResult<EntityId>;

# StackRefResultT<EntityRefTraits>::StackRef

typedef EntityRefTraits::StackRef StackRefResultT<EntityRefTraits>::StackRef;

# ServiceLocator<FeatureToggles>

struct ServiceLocator<FeatureToggles>
{
  __int8 gap0[1];
};

# StructureBlockActor

struct __cppobj __attribute__((aligned(8))) StructureBlockActor : BlockActor
{
  StructureEditorData_1 mStructureEditorData;
  StructureTelemetryServerData mTelemetryServerData;
  bool mIsPowered;
};

# StructureTelemetryServerData

struct StructureTelemetryServerData
{
  bool mHasBeenActivatedByRedstone;
  bool mHasLoadedIntoUnloadedChunks;
  BlockPos mLastOffsetWhenLoadingIntoUnloadedChunks;
};

# SpatialActorNetworkData

struct SpatialActorNetworkData
{
  Actor *mEntity;
  bool mHasInitializedLastSent;
  bool mAutoSend;
  MoveActorAbsoluteData mLastSentMoveData;
  MoveActorAbsoluteData mLastReceivedMoveData;
};

# serialize<ActorRuntimeID>

struct serialize<ActorRuntimeID>
{
  __int8 gap0[1];
};

# serialize<ActorUniqueID>

struct serialize<ActorUniqueID>
{
  __int8 gap0[1];
};

# serialize<Vec3>

struct serialize<Vec3>
{
  __int8 gap0[1];
};

# serialize<Vec2>

struct serialize<Vec2>
{
  __int8 gap0[1];
};

# serialize<std::vector<std::unique_ptr<DataItem>> >

struct serialize<std::vector<std::unique_ptr<DataItem>> >
{
  __int8 gap0[1];
};

struct serialize<ActorLink>
{
  __int8 gap0[1];
};

# serialize<mce::UUID>

struct serialize<mce::UUID>
{
  __int8 gap0[1];
};

# serialize<NetworkBlockPosition>

struct serialize<NetworkBlockPosition>
{
  __int8 gap0[1];
};

# serialize<BlockPos>

struct serialize<BlockPos>
{
  __int8 gap0[1];
};

# serialize<MapItemTrackedActor::UniqueId>

struct serialize<MapItemTrackedActor::UniqueId>
{
  __int8 gap0[1];
};

# serialize<MapDecoration>

struct serialize<MapDecoration>
{
  __int8 gap0[1];
};

# serialize<CommandOriginData>

struct serialize<CommandOriginData>
{
  __int8 gap0[1];
};

# ShapedRecipe

struct __cppobj ShapedRecipe : Recipe
{
  Recipe::Ingredients mIngredients;
  Recipe::ResultList mResults;
};

# ShapelessRecipe

struct __cppobj ShapelessRecipe : Recipe
{
  const Recipe::Ingredients mIngredients;
  const Recipe::ResultList mResult;
};

# ShulkerBoxRecipe

struct __cppobj ShulkerBoxRecipe : ShapelessRecipe
{
  Recipe::ResultList mResults;
};

# ShapelessChemistryRecipe

struct __cppobj ShapelessChemistryRecipe : ShapelessRecipe
{
};

# ShapedChemistryRecipe

struct __cppobj ShapedChemistryRecipe : ShapedRecipe
{
};

# serialize<ShapedRecipe>

struct serialize<ShapedRecipe>
{
  __int8 gap0[1];
};

# serialize<ShapelessRecipe>

struct serialize<ShapelessRecipe>
{
  __int8 gap0[1];
};

# serialize<ShulkerBoxRecipe>

struct serialize<ShulkerBoxRecipe>
{
  __int8 gap0[1];
};

# serialize<ShapelessChemistryRecipe>

struct serialize<ShapelessChemistryRecipe>
{
  __int8 gap0[1];
};

# serialize<ShapedChemistryRecipe>

struct serialize<ShapedChemistryRecipe>
{
  __int8 gap0[1];
};

# serialize<EducationLevelSettings>

struct serialize<EducationLevelSettings>
{
  __int8 gap0[1];
};

# serialize<EntityNetId>

struct serialize<EntityNetId>
{
  __int8 gap0[1];
};

# serialize<GameRulesChangedPacketData>

struct serialize<GameRulesChangedPacketData>
{
  __int8 gap0[1];
};

# serialize<InventoryTransaction>

struct serialize<InventoryTransaction>
{
  __int8 gap0[1];
};

# serialize<InventoryAction>

struct serialize<InventoryAction>
{
  __int8 gap0[1];
};

# serialize<InventorySource>

struct serialize<InventorySource>
{
  __int8 gap0[1];
};

# serialize<ChunkPos>

struct serialize<ChunkPos>
{
  __int8 gap0[1];
};

# serialize<MoveActorAbsoluteData>

struct serialize<MoveActorAbsoluteData>
{
  __int8 gap0[1];
};

# serialize<MoveActorDeltaData>

struct serialize<MoveActorDeltaData>
{
  __int8 gap0[1];
};

# serialize<BaseGameVersion>

struct serialize<BaseGameVersion>
{
  __int8 gap0[1];
};

# serialize<ScoreboardId>

struct serialize<ScoreboardId>
{
  __int8 gap0[1];
};

# serialize<IdentityDefinition::Type>

struct serialize<IdentityDefinition::Type>
{
  __int8 gap0[1];
};

# serialize<LevelSettings>

struct serialize<LevelSettings>
{
  __int8 gap0[1];
};

# serialize<ItemData>

struct serialize<ItemData>
{
  __int8 gap0[1];
};

# serialize<StructureEditorData>

struct serialize<StructureEditorData>
{
  __int8 gap0[1];
};

# serialize<StructureSettings>

struct serialize<StructureSettings>
{
  __int8 gap0[1];
};

# serialize<ItemStack>

struct serialize<ItemStack>
{
  __int8 gap0[1];
};

# serialize<ItemInstance>

struct serialize<ItemInstance>
{
  __int8 gap0[1];
};

# ServiceLocator<EducationOptions>

struct ServiceLocator<EducationOptions>
{
  __int8 gap0[1];
};

# StringOption

struct __cppobj StringOption : Option
{
  std::string mValue;
  std::string mDefaultValue;
  Option::StringFilter mCoerceValueCallback;
};

# SPSCQueue<std::shared_ptr<BackgroundTask>,512>

struct SPSCQueue<std::shared_ptr<BackgroundTask>,512>
{
  Lockless::WeakAtomic<SPSCQueue<std::shared_ptr<BackgroundTask>,512>::Block *> mFrontBlock;
  char mCachelineFiller[56];
  Lockless::WeakAtomic<SPSCQueue<std::shared_ptr<BackgroundTask>,512>::Block *> mTailBlock;
  size_t mLargestBlockSize;
};

# SPSCQueue<std::shared_ptr<BackgroundTask>,512>::Block

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

# ServiceLocator<PackManifest::CapabilityRegistry>

struct ServiceLocator<PackManifest::CapabilityRegistry>
{
  __int8 gap0[1];
};

# SPSCQueue<std::function<void ()>,512>

struct SPSCQueue<std::function<void ()>,512>
{
  Lockless::WeakAtomic<SPSCQueue<std::function<void ()>,512>::Block *> mFrontBlock;
  char mCachelineFiller[56];
  Lockless::WeakAtomic<SPSCQueue<std::function<void ()>,512>::Block *> mTailBlock;
  size_t mLargestBlockSize;
};

# SPSCQueue<std::function<void ()>,512>::Block

struct SPSCQueue<std::function<void ()>,512>::Block
{
  Lockless::WeakAtomic<unsigned long> front;
  size_t localTail;
  char cachelineFiller0[48];
  Lockless::WeakAtomic<unsigned long> tail;
  size_t localFront;
  char cachelineFiller1[48];
  Lockless::WeakAtomic<SPSCQueue<std::function<void ()>,512>::Block *> next;
  char *data;
  const size_t sizeMask;
  char *rawThis;
};

# ServiceLocator<ServerInstance>

struct ServiceLocator<ServerInstance>
{
  __int8 gap0[1];
};

# ServerLevel::TagCache

typedef std::unordered_map<StringKey,unsigned int> ServerLevel::TagCache;

# Shared<ActorInfoRegistry>

typedef std::shared_ptr<ActorInfoRegistry> Shared<ActorInfoRegistry>;

# SavedDataStorage

struct SavedDataStorage
{
  int (**_vptr$SavedDataStorage)(void);
  LevelStorage *levelStorage;
  std::unordered_map<std::string,SavedData *> savedDatas;
};

# SpawnGroupRegistry

struct __cppobj SpawnGroupRegistry : ActorSpawnRuleBase
{
  SpawnGroupRegistry::SpawnGroupRegistryMap mSpawnGroupRegistry;
  SpawnGroupRegistry::SpawnGroupLookupMap mSpawnGroupLookupMap;
};

# Spawner

struct __attribute__((aligned(8))) Spawner
{
  Level *mLevel;
  int mBaseTypeCount[2][7];
  std::unordered_map<StringKey,int> mEntityTypeCount[2];
  int mTotalEntityCount;
};

# SmallSet<Actor *>

struct SmallSet<Actor *>
{
  std::vector<Actor *> c;
};

# ServerPlayerEventCoordinator

struct __cppobj ServerPlayerEventCoordinator : PlayerEventCoordinator
{
};

# ServerLevelEventCoordinator

struct __cppobj ServerLevelEventCoordinator : LevelEventCoordinator
{
};

# SurfaceBuilderRegistry

struct SurfaceBuilderRegistry
{
  std::vector<SurfaceBuilderRegistry::Element> mSurfaceBuilders;
};

# SurfaceBuilderRegistry::Element

struct SurfaceBuilderRegistry::Element
{
  std::unique_ptr<ISurfaceBuilder> mBuilder;
  SurfaceBuilderRegistry::ScoringFunc mScoringFunc;
};

# ServerMoveInputHandler

struct __cppobj __attribute__((aligned(8))) ServerMoveInputHandler : MoveInputHandler
{
};

# SkinAdjustments

struct SkinAdjustments
{
  unsigned int mAnimOverrideBitmask;
};

# ScaleDescription

struct __cppobj __attribute__((aligned(8))) ScaleDescription : PropertyDescription
{
  float mValue;
};

# SoundVolumeDescription

struct __cppobj __attribute__((aligned(8))) SoundVolumeDescription : PropertyDescription
{
  float mValue;
};

# SittableDescription

struct __cppobj SittableDescription : ComponentDescription
{
  DefinitionTrigger mOnSit;
  DefinitionTrigger mOnStand;
};

# SkinIDDescription

struct __cppobj __attribute__((aligned(8))) SkinIDDescription : PropertyDescription
{
  int mSkinIDChoice;
};

# SlimeMoveControlDescription

struct __cppobj __attribute__((aligned(8))) SlimeMoveControlDescription : MoveControlDescription:96
{
  FloatRange mJumpDelayTicks;
};

# StrengthDescription

struct __cppobj __attribute__((aligned(8))) StrengthDescription : AttributeDescription
{
  bool mHasComponent;
  int mStrength;
  int mMaxStrength;
};

# ServerPlayer::NearbyActor

struct ServerPlayer::NearbyActor
{
  bool isAutonomous;
  ServerPlayer::NearbyActor::State state;
  Actor *tempActor;
};

# SmokerContainerManagerModel

struct __cppobj SmokerContainerManagerModel : FurnaceContainerManagerModel
{
};

# ScriptApi::ScriptReportItem

struct ScriptApi::ScriptReportItem
{
  std::string mMessage;
  ScriptApi::ScriptReportItemType mType;
  std::unique_ptr<ScriptApi::JavaScriptErrorHandler> mErrorHandler;
};

# ScriptTemplateFactory<ScriptServerContext>::Entity

struct ScriptTemplateFactory<ScriptServerContext>::Entity
{
  int (**_vptr$Entity)(void);
};

# ScriptTemplateFactory<ScriptServerContext>::Component

struct ScriptTemplateFactory<ScriptServerContext>::Component
{
  int (**_vptr$Component)(void);
};

# ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent

struct ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent
{
  int (**_vptr$ReceivedEvent)(void);
};

# ScriptBinderTemplate

struct ScriptBinderTemplate
{
  int (**_vptr$ScriptBinderTemplate)(void);
};

# ScriptBinderComponent

struct ScriptBinderComponent
{
  int (**_vptr$ScriptBinderComponent)(void);
};

# ScriptObjectBinder

struct ScriptObjectBinder
{
  const std::string mTypeIdentifier;
  unsigned int mComponentsInUse;
  std::vector<std::unique_ptr<ScriptBinderComponent>> mComponents;
};

# ScriptServerActorEventListener

struct __cppobj ScriptServerActorEventListener : ActorEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptServerBlockEventListener

struct __cppobj ScriptServerBlockEventListener : BlockEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptServerPacketEventListener

struct __cppobj ScriptServerPacketEventListener : NetworkPacketEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptTelemetryEventListener

struct __cppobj __attribute__((aligned(8))) ScriptTelemetryEventListener : ScriptEventListener
{
  IMinecraftEventing *mEventing;
  const bool mClientside;
};

# ScriptServerLevelEventListener

struct __cppobj ScriptServerLevelEventListener : LevelEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptLevelWeatherEventListener

struct __cppobj ScriptLevelWeatherEventListener : LevelEventListener
{
  MinecraftServerScriptEngine *mScriptEngine;
};

# ScriptArmorContainerComponent

struct __cppobj ScriptArmorContainerComponent : ScriptContainerComponentBase
{
};

# ScriptAttackComponent

struct __cppobj ScriptAttackComponent : ScriptServerComponent
{
};

# ScriptBlockContainerComponent

struct __cppobj ScriptBlockContainerComponent : ScriptContainerComponentBase
{
};

# ScriptBlockStateComponent

struct __cppobj ScriptBlockStateComponent : ScriptServerComponent
{
};

# ScriptCollisionBoxComponent

struct __cppobj ScriptCollisionBoxComponent : ScriptServerComponent
{
};

# ScriptDamageSensorComponent

struct __cppobj ScriptDamageSensorComponent : ScriptServerComponent
{
};

# ScriptEquipmentComponent

struct __cppobj ScriptEquipmentComponent : ScriptServerComponent
{
};

# ScriptEquippableComponent

struct __cppobj ScriptEquippableComponent : ScriptServerComponent
{
};

# ScriptExplodeComponent

struct __cppobj ScriptExplodeComponent : ScriptServerComponent
{
};

# ScriptHandContainerComponent

struct __cppobj ScriptHandContainerComponent : ScriptContainerComponentBase
{
};

# ScriptHealableComponent

struct __cppobj ScriptHealableComponent : ScriptServerComponent
{
};

# ScriptHealthComponent

struct __cppobj ScriptHealthComponent : ScriptServerComponent
{
};

# ScriptHotbarContainerComponent

struct __cppobj ScriptHotbarContainerComponent : ScriptContainerComponentBase
{
};

# ScriptInteractComponent

struct __cppobj ScriptInteractComponent : ScriptServerComponent
{
};

# ScriptInventoryComponent

struct __cppobj ScriptInventoryComponent : ScriptServerComponent
{
};

# ScriptInventoryContainerComponent

struct __cppobj ScriptInventoryContainerComponent : ScriptContainerComponentBase
{
};

# ScriptLookAtComponent

struct __cppobj ScriptLookAtComponent : ScriptServerComponent
{
};

# ScriptNameableComponent

struct __cppobj ScriptNameableComponent : ScriptServerComponent
{
};

# ScriptPositionComponent

struct __cppobj ScriptPositionComponent : ScriptServerComponent
{
};

# ScriptRotationComponent

struct __cppobj ScriptRotationComponent : ScriptServerComponent
{
};

# ScriptShooterComponent

struct __cppobj ScriptShooterComponent : ScriptServerComponent
{
};

# ScriptSpawnActorComponent

struct __cppobj ScriptSpawnActorComponent : ScriptServerComponent
{
};

# ScriptTagComponent

struct __cppobj ScriptTagComponent : ScriptServerComponent
{
};

# ScriptTeleportComponent

struct __cppobj ScriptTeleportComponent : ScriptServerComponent
{
};

# ScriptTickingAreaDescriptionComponent

struct __cppobj ScriptTickingAreaDescriptionComponent : ScriptServerComponent
{
};

# ScriptTickWorldComponent

struct __cppobj ScriptTickWorldComponent : ScriptServerComponent
{
};

# ScriptLevelWeatherComponent

struct __cppobj ScriptLevelWeatherComponent : ScriptServerComponent
{
};

# ScriptLevelTickingAreasComponent

struct __cppobj ScriptLevelTickingAreasComponent : ScriptServerComponent
{
};

# ScriptServerBroadcastActorDefinitionEvent

struct __cppobj ScriptServerBroadcastActorDefinitionEvent : ScriptServerReceiveEvent
{
};

# ScriptServerChatReceived

struct __cppobj ScriptServerChatReceived : ScriptServerReceiveEvent
{
};

# ScriptServerCommandReceived

struct __cppobj ScriptServerCommandReceived : ScriptServerReceiveEvent
{
};

# ScriptServerLoggerConfigReceivedEvent

struct __cppobj ScriptServerLoggerConfigReceivedEvent : ScriptServerReceiveEvent
{
};

# ScriptServerPlaySoundEvent

struct __cppobj ScriptServerPlaySoundEvent : ScriptServerReceiveEvent
{
};

# ScriptServerSpawnParticleAttachedToActor

struct __cppobj ScriptServerSpawnParticleAttachedToActor : ScriptServerReceiveEvent
{
};

# ScriptServerSpawnParticleInWorldEvent

struct __cppobj ScriptServerSpawnParticleInWorldEvent : ScriptServerReceiveEvent
{
};

# ScriptServerBroadcastReceived

struct __cppobj ScriptServerBroadcastReceived : ScriptServerReceiveEvent
{
};

# ScriptCommandOrigin

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

# ScriptEventListener

struct ScriptEventListener
{
  int (**_vptr$ScriptEventListener)(void);
};

# ScriptApi::ScriptLanguageInterface

struct ScriptApi::ScriptLanguageInterface
{
  int (**_vptr$ScriptLanguageInterface)(void);
};

# ScriptBinderTemplateController

struct ScriptBinderTemplateController
{
  std::unordered_map<std::string,std::unique_ptr<ScriptBinderTemplate>> mTemplates;
};

# ScriptApi::ScriptReport

struct ScriptApi::ScriptReport
{
  std::vector<std::shared_ptr<ScriptApi::ScriptReportItem>> mReportItems;
};

# ScriptEventCoordinator

struct __cppobj ScriptEventCoordinator : EventCoordinator<ScriptEventListener>
{
};

# ScriptLevelAreaBinderComponent

struct __cppobj ScriptLevelAreaBinderComponent : ScriptBinderComponent
{
  mce::UUID mUUID;
};

# ScriptActorAreaBinderComponent

struct __cppobj ScriptActorAreaBinderComponent : ScriptBinderComponent
{
  ActorUniqueID mActorId;
};

# ScriptActorUniqueIdBinderComponent

struct __cppobj ScriptActorUniqueIdBinderComponent : ScriptBinderComponent
{
  ActorUniqueID mActorId;
};

# ScriptTickingAreaBinderComponent

struct __cppobj __attribute__((aligned(8))) ScriptTickingAreaBinderComponent : ScriptBinderComponent
{
  ScriptApi::ScriptObjectHandle mData;
};

# ScriptBlockPositionBinderComponent

struct __cppobj __attribute__((aligned(8))) ScriptBlockPositionBinderComponent : ScriptBinderComponent
{
  BlockPos mPosition;
};

# ScriptLevelBinderComponent

struct __cppobj __attribute__((aligned(8))) ScriptLevelBinderComponent : ScriptBinderComponent
{
  uint32_t mEcsId;
};

# ScriptEcsBinderComponent

struct __cppobj __attribute__((aligned(8))) ScriptEcsBinderComponent : ScriptBinderComponent
{
  uint32_t mEcsId;
};

# ScriptComponentBinderComponent

struct __cppobj __attribute__((aligned(8))) ScriptComponentBinderComponent : ScriptBinderComponent
{
  ScriptApi::ScriptObjectHandle mData;
};

# ScriptIdentifierBinderComponent

struct __cppobj ScriptIdentifierBinderComponent : ScriptBinderComponent
{
  std::string mIdentifier;
};

# ScriptQueryBinderComponent

struct __cppobj __attribute__((aligned(8))) ScriptQueryBinderComponent : ScriptBinderComponent
{
  uint32_t mEcsId;
};

# ScriptServerActorMoveEvent

struct __cppobj ScriptServerActorMoveEvent : ScriptEventData
{
  ActorUniqueID mActorID;
};

# ScriptContainerComponentBase

struct __cppobj ScriptContainerComponentBase : ScriptServerComponent
{
};

# ScriptServerComponent

typedef ScriptTemplateFactory<ScriptServerContext>::Component ScriptServerComponent;

# Shared<ITickingArea>

typedef std::shared_ptr<ITickingArea> Shared<ITickingArea>;

# ScriptServerEntity

typedef ScriptTemplateFactory<ScriptServerContext>::Entity ScriptServerEntity;

# ScriptServerReceiveEvent

typedef ScriptTemplateFactory<ScriptServerContext>::ReceivedEvent ScriptServerReceiveEvent;

# SystemFilePicker

struct __cppobj SystemFilePicker : IFilePicker, std::enable_shared_from_this<SystemFilePicker>
{
};

# ScopedProfileTag

struct ScopedProfileTag
{
  __int8 gap0[1];
};

# ServerFileChunkUploader

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

# ScaleByAgeDefinition

struct ScaleByAgeDefinition
{
  float mStartScale;
  float mEndScale;
};

# Sheep

struct __cppobj __attribute__((aligned(8))) Sheep : Animal
{
  int mEatAnimationTick;
};

# Squid

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

# Salmon

struct __cppobj Salmon : Fish
{
};

# Skeleton

struct __cppobj Skeleton : HumanoidMonster
{
  WitherBoss *mParentWither;
};

# Spider

struct __cppobj Spider : Monster
{
};

# Slime

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

# Silverfish

struct __cppobj Silverfish : Monster
{
};

# Shulker

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

# ShulkerBullet

struct __cppobj ShulkerBullet : Actor
{
};

# Snowball

struct __cppobj Snowball : Throwable
{
};

# SmallFireball

struct __cppobj SmallFireball : Fireball
{
};

# ShulkerBoxBlockActor

struct __cppobj __attribute__((aligned(8))) ShulkerBoxBlockActor : ChestBlockActor:5192
{
  FacingID mFacing;
  bool mFacingChanged;
};

# SwimMoveControl

struct __cppobj SwimMoveControl : MoveControl
{
};

# SlimeMoveControl

struct __cppobj __attribute__((aligned(8))) SlimeMoveControl : MoveControl
{
  int mJumpDelayTicks;
};

# ShareableDefinition

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

# serialize<DataItem>

struct serialize<DataItem>
{
  __int8 gap0[1];
};

# serialize<std::unique_ptr<DataItem> >

struct serialize<std::unique_ptr<DataItem> >
{
  __int8 gap0[1];
};

# StompEggGoal

struct __cppobj __attribute__((aligned(8))) StompEggGoal : StompBlockGoal
{
};

# StrollTowardsVillageGoal

struct __cppobj StrollTowardsVillageGoal : MoveToVillageGoal:992
{
  float mStartChance;
};

# ScaredGoal

struct __cppobj __attribute__((aligned(8))) ScaredGoal : Goal
{
  Mob *mMob;
  int mInterval;
};

# SilverfishMergeWithStoneGoal

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

# SilverfishWakeUpFriendsGoal

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

# SitGoal

struct __cppobj SitGoal : Goal
{
  Mob *mMob;
};

# SnackGoal

struct __cppobj SnackGoal : Goal
{
  Mob *mMob;
  std::vector<ItemDescriptor> mItems;
  uint64_t mCooldown;
  const int mSnackCooldownTotal;
  const int mCooldownMin;
  const int mStopChance;
  TempEPtr<Actor> mTarget;
  Unique<Path> mPath;
};

# StompAttackGoal

struct __cppobj __attribute__((aligned(8))) StompAttackGoal : MeleeAttackGoal
{
  int mAttackDelay;
};

# SwimWanderGoal

struct __cppobj __attribute__((aligned(8))) SwimWanderGoal : Goal:96
{
  float mSpeed;
  float mLookAhead;
  int mTicks;
  int mInterval;
  Mob *mMob;
  Vec3 mWanted;
};

# SwimIdleGoal

struct __cppobj SwimIdleGoal : Goal
{
  Mob *mMob;
  int mTicks;
  Vec3 mWantedPosition;
};

# ShulkerPeekGoal

struct __cppobj ShulkerPeekGoal : Goal:96
{
  int mPeekTime;
  Mob *mMob;
};

# StalkAndPounceOnTargetGoal

struct __cppobj StalkAndPounceOnTargetGoal : Goal:96
{
  float mStalkSpeed;
  float mStalkingMaxDistanceSqr;
  float mLeapHeight;
  float mLeapDistance;
  float mMaxPounceDistanceSqr;
  float mStrikeDistanceSqr;
  int mInterestedTicks;
  int mStuckTicks;
  Tick mEndTimestamp;
  ActorFilterGroup mStuckBlockList;
  StalkAndPounceOnTargetGoal::StalkAndPounceState mState;
  Mob *mMob;
};

# SquidIdleGoal

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

# SquidFleeGoal

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

# SquidMoveAwayFromGroundGoal

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

# SquidOutOfWaterGoal

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

# SquidDiveGoal

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

# SkeletonHorseTrapGoal

struct __cppobj SkeletonHorseTrapGoal : Goal
{
  Horse *mHorse;
  int mTrapLifeTicks;
  float mTriggerDistance;
};

# SwellGoal

struct __cppobj SwellGoal : Goal
{
  Creeper *mCreeper;
  float mStartSwellDist;
  float mStopSwellDist;
  TempEPtr<Actor> mTarget;
};

# SlimeFloatGoal

struct __cppobj SlimeFloatGoal : Goal
{
  Mob *mMob;
};

# SlimeKeepOnJumpingGoal

struct __cppobj SlimeKeepOnJumpingGoal : Goal
{
  Mob *mMob;
};

# SlimeRandomDirectionGoal

struct __cppobj SlimeRandomDirectionGoal : Goal
{
  Mob *mMob;
  float mChosenDegrees;
  int mNextRandomizeTime;
};

# SlimeAttackGoal

struct __cppobj __attribute__((aligned(8))) SlimeAttackGoal : Goal
{
  Mob *mMob;
  int mGrowTiredTimer;
};

# SwoopAttackGoal

struct __cppobj __attribute__((aligned(8))) SwoopAttackGoal : Goal
{
  Mob *mMob;
  float mSpeedMod;
  FloatRange mDelayRange;
  int mNextStartTick;
  bool mHurtTarget;
};

# SummonActorGoal

struct __cppobj SummonActorGoal : Goal
{
  Mob *mCaster;
  std::vector<SummonSpellData> mSpells;
  int mCurrentTick;
  int mCastTicksRemaining;
  int mCurrentSpellIndex;
  int mCurrentSpellStage;
  int mCurrentSummonCount;
  uint64_t mCooldownStopTick;
  Vec3 mTargetPos;
  Vec3 mCasterPos;
};

# SleepGoal

struct __cppobj __attribute__((aligned(8))) SleepGoal : MoveToPOIGoal
{
  Mob *mMob;
  BedHelper mBedHelper;
  BlockPos mBedPos;
  Vec3 mSleepPos;
  Vec3 mBedOffset;
  Vec3 mExitPos;
  int mBedDir;
  float mBodyRot;
  const float mSleepYOffset;
  const float mSleepColliderHeight;
  const float mSleepColliderWidth;
  Vec2 mDefaultColliderDim;
  const Tick mGoalCooldownMax;
  Tick mCooldownTick;
  bool mWoken;
  bool mGoalEndedEarly;
};

# SendEventGoal

struct __cppobj SendEventGoal : Goal
{
  Mob *mCaster;
  TempEPtr<Actor> mTarget;
  std::vector<SendEventData> mSpells;
  int mCurrentTick;
  int mCastTicksRemaining;
  int mCurrentSpellIndex;
  int mCurrentSpellStage;
  uint64_t mCooldownStopTick;
};

# ShareItemsGoal

struct __cppobj ShareItemsGoal : Goal
{
  Mob *mMob;
  int mThrowCountdown;
  int mSearchRange;
  float mSpeedModifier;
  float mGoalRadiusSq;
  int mTimeToRecalcPath;
  std::vector<MobDescriptor> mMobFilters;
  ItemStack mItemToShare;
  Unique<Path> mPath;
};

# SneezeGoal

struct __cppobj SneezeGoal : Goal:96
{
  int mCooldown;
  int mCooldownTimer;
  float mProbability;
  int mPreSneezeTimer;
  float mDropItemChance;
  std::string mLootTable;
  LevelSoundEvent mSneezeSound;
  LevelSoundEvent mPreSneezeSound;
  float mPrepareTime;
  const std::vector<MobDescriptor> mReactMobFilters;
  float mReactWithin;
  Mob *mMob;
};

# StompBlockGoal

struct __cppobj __attribute__((aligned(8))) StompBlockGoal : BaseMoveToBlockGoal
{
  const Block *mBlockToRemove;
  int mTicksSinceReachedGoal;
};

# Spawner::MobSpawnedCallback

typedef std::function<void (Mob &)> Spawner::MobSpawnedCallback;

# SwimWithMobGoal

struct __cppobj __attribute__((aligned(8))) SwimWithMobGoal : Goal
{
  Mob *mMob;
  TempEPtr<Actor> mFollowing;
  int mTimeToRecalcPath;
  MobGoals mCurrentGoal;
  const std::vector<MobDescriptor> mTargetTypes;
  float mSpeed;
  float mStopDistance;
  int mSearchArea;
};

# StateAnimationVariable

struct StateAnimationVariable
{
  HashedString mVariableName;
  ExpressionNode mInput;
  std::vector<AnimationValueCurveKeyFrame> mKeyFrames;
};

# SkullBlockActor

struct __cppobj __attribute__((aligned(8))) SkullBlockActor : BlockActor:1632
{
  SkullBlockActor::SkullType mSkullType;
  float mRotation;
  bool mIsMovingMouth;
  int mMouthTickCount;
};

# SplashPotionItem

struct __cppobj SplashPotionItem : PotionItem
{
  TextureUVCoordinateSet mSplashIcons[26];
  Potion::PotionVariant mSplashPotionVariants[26];
};

# SurvivalMode

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

# ShieldItem

struct __cppobj ShieldItem : Item
{
};

# SerializedSkin_0

struct SerializedSkin_0
{
  std::string mId;
  std::string fullId;
  std::string mResourcePatch;
  std::string mDefaultGeometryName;
  mce::Image_0 mSkinImage;
  mce::Image_0 mCapeImage;
  std::vector<AnimatedImageData>_0 mSkinAnimatedImages;
  Json::Value mGeometryData;
  Json::Value mGeometryDataMutable;
  std::string mAnimationData;
  std::string mCapeId;
  bool mIsPremium;
  bool mIsPersona;
  bool mIsPersonaCapeOnClassicSkin;
  TrustedSkinFlag mIsTrustedSkin;
  std::vector<SerializedPersonaPieceHandle> mPersonaPieces;
  std::string mArmSize;
  std::unordered_map<persona::PieceType,TintMapColor> mPieceTintColors;
  Color mSkinColor;
};

# SkinInfoData

struct SkinInfoData
{
  int (**_vptr$SkinInfoData)(void);
  std::string mDefaultMeshName;
  bool mIsAlphaTest;
  bool mIsDirty;
  SerializedSkin mSkin;
};

# StickInGroundSubcomponent

struct __cppobj __attribute__((aligned(8))) StickInGroundSubcomponent : OnHitSubcomponent
{
  int mShakeTime;
};

# SpawnChanceSubcomponent

struct __cppobj __attribute__((aligned(8))) SpawnChanceSubcomponent : OnHitSubcomponent
{
  float mFirstSpawnChance;
  float mSecondSpawnChance;
  int mFirstSpawnCount;
  int mSecondSpawnCount;
  ActorDefinitionIdentifier mSpawnDefinition;
  bool mSpawnBaby;
};

# SpawnAoECloudSubcomponent

struct __cppobj __attribute__((aligned(8))) SpawnAoECloudSubcomponent : OnHitSubcomponent
{
  int mPotionId;
  int mDuration;
  int mParticle;
  int mReapplicationDelay;
  float mRadius;
  float mRadiusOnUse;
  Color mParticleColor;
  bool mAffectOwner;
};

# ShiftedValueAmplifier

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

# ShiftedDurationAmplifier

struct __cppobj __attribute__((aligned(8))) ShiftedDurationAmplifier : Amplifier
{
  int mShiftedValue;
};

# SharedAttributes

struct SharedAttributes
{
  __int8 gap0[1];
};

# SharedAmplifiers

struct SharedAmplifiers
{
  __int8 gap0[1];
};

# SharedBuffs

struct SharedBuffs
{
  __int8 gap0[1];
};

# SharedModifiers

struct SharedModifiers
{
  __int8 gap0[1];
};

# SeedItemComponent

struct __attribute__((aligned(8))) SeedItemComponent
{
  Item *mOwner;
  const Block *mResult;
  std::vector<const Block *> mTargetLandBlocks;
  bool mIsPlanting;
};

# SharedCounter<AirBlockItem>

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

# SharedCounter<BlockItem>

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

# ShieldItemUtils

struct ShieldItemUtils
{
  __int8 gap0[1];
};

# SuspiciousStewItem

struct __cppobj SuspiciousStewItem : Item
{
};

# SignBlockActor

struct __cppobj __attribute__((aligned(8))) SignBlockActor : BlockActor
{
  std::string mOwnerID;
  std::string mMessage;
  std::string mTextObjectString;
  TextObjectRoot mTextObjectMessage;
  SignBlockActor::CachedMessageData mCachedMessage;
  SignBlockActor::SignType mType;
};

# SharedCounter<ShovelItem>

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

# ShovelItem

struct __cppobj ShovelItem : DiggerItem
{
};

# SharedCounter<PickaxeItem>

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

# SharedCounter<HatchetItem>

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

# SharedCounter<FlintAndSteelItem>

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

# SharedCounter<BowItem>

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

# SharedCounter<ArrowItem>

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

# SharedCounter<CoalItem>

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

# SharedCounter<WeaponItem>

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

# SharedCounter<BlockPlanterItem>

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

# SharedCounter<HoeItem>

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

# SharedCounter<ArmorItem>

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

# SharedCounter<ShieldItem>

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

# SharedCounter<HangingActorItem>

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

# SharedCounter<SignItem>

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

# SignItem

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

# SharedCounter<DoorItem>

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

# SharedCounter<BucketItem>

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

# SharedCounter<MinecartItem>

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

# SharedCounter<RedStoneDustItem>

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

# SharedCounter<SnowballItem>

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

# SnowballItem

struct __cppobj SnowballItem : Item
{
};

# SharedCounter<BoatItem>

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

# SharedCounter<EnchantedBookItem>

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

# SharedCounter<EggItem>

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

# SharedCounter<CompassItem>

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

# SharedCounter<FishingRodItem>

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

# SharedCounter<ClockItem>

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

# SharedCounter<DyePowderItem>

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

# SharedCounter<BedItem>

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

# SharedCounter<MapItem>

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

# SharedCounter<ShearsItem>

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

# ShearsItem

struct __cppobj ShearsItem : Item
{
};

# SharedCounter<EnderpearlItem>

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

# SharedCounter<PotionItem>

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

# SharedCounter<BottleItem>

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

# SharedCounter<EnderEyeItem>

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

# SharedCounter<MobPlacerItem>

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

# SharedCounter<ExperiencePotionItem>

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

# SharedCounter<FireChargeItem>

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

# SharedCounter<WritableBookItem>

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

# SharedCounter<WrittenBookItem>

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

# SharedCounter<EmptyMapItem>

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

# SharedCounter<SkullItem>

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

# SkullItem

struct __cppobj SkullItem : Item
{
};

# SharedCounter<CarrotOnAStickItem>

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

# SharedCounter<FireworksItem>

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

# SharedCounter<FireworkChargeItem>

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

# SharedCounter<HorseArmorItem>

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

# SharedCounter<RecordItem>

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

# SharedCounter<TridentItem>

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

# SharedCounter<LeadItem>

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

# SharedCounter<ArmorStandItem>

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

# SharedCounter<EndCrystalItem>

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

# SharedCounter<SplashPotionItem>

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

# SharedCounter<LingeringPotionItem>

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

# SharedCounter<BannerItem>

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

# SharedCounter<CrossbowItem>

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

# SharedCounter<BannerPatternItem>

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

# SharedCounter<SuspiciousStewItem>

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

# SharedCounter<CameraItem>

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

# SharedCounter<CompoundItem>

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

# SharedCounter<IceBombItem>

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

# SharedCounter<ChemistryItem>

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

# SharedCounter<RapidFertilizerItem>

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

# SharedCounter<BalloonItem>

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

# SharedCounter<MedicineItem>

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

# SharedCounter<SparklerItem>

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

# SparklerItem

struct __cppobj __attribute__((aligned(8))) SparklerItem : ChemistryStickItem
{
};

# SharedCounter<GlowStickItem>

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

# SharedCounter<AuxDataBlockItem>

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

# SharedCounter<ClothBlockItem>

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

# SharedCounter<StoneSlabBlockItem>

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

# StoneSlabBlockItem

struct __cppobj StoneSlabBlockItem : SlabBlockItem
{
};

# SlabBlockItem

struct __cppobj SlabBlockItem : BlockItem
{
};

# SharedCounter<CoralFanBlockItem>

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

# SharedCounter<SeaPickleBlockItem>

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

# SeaPickleBlockItem

struct __cppobj SeaPickleBlockItem : BlockItem
{
};

# SharedCounter<SaplingBlockItem>

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

# SaplingBlockItem

struct __cppobj SaplingBlockItem : BlockItem
{
};

# SharedCounter<LeafBlockItem>

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

# SharedCounter<WoodSlabBlockItem>

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

# SharedCounter<WaterLilyBlockItem>

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

# SharedCounter<TopSnowBlockItem>

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

# SharedCounter<ShulkerBoxBlockItem>

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

# ShulkerBoxBlockItem

struct __cppobj ShulkerBoxBlockItem : AuxDataBlockItem
{
};

# SharedCounter<BambooBlockItem>

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

# SharedCounter<ScaffoldingBlockItem>

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

# ScaffoldingBlockItem

struct __cppobj ScaffoldingBlockItem : BlockItem
{
};

# SharedCounter<BellBlockItem>

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

# SharedCounter<ChemistryAuxDataBlockItem>

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

# SharedCounter<ElementBlockItem>

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

# serialize<RecipeIngredient>

struct serialize<RecipeIngredient>
{
  __int8 gap0[1];
};

# SwimEnchant

struct __cppobj SwimEnchant : Enchant
{
};

# SpawnDataList

typedef std::vector<SpawnData> SpawnDataList;

# SmallSet<Actor *>::iterator

typedef std::vector<Actor *>::iterator SmallSet<Actor *>::iterator;

# SpawnGroupData

struct SpawnGroupData
{
  std::string mIdentifier;
  std::vector<MobSpawnRules> mSpawnRules;
};

# SharePtrRefTraits<PerlinSimplexNoise>::OwnerStackRef

typedef SharePtrRefTraits<PerlinSimplexNoise>::StackRef SharePtrRefTraits<PerlinSimplexNoise>::OwnerStackRef;

# SharePtrRefTraits<PerlinSimplexNoise>::StackRef

typedef PerlinSimplexNoise SharePtrRefTraits<PerlinSimplexNoise>::StackRef;

# SharePtrRefTraits<PerlinSimplexNoise>

struct SharePtrRefTraits<PerlinSimplexNoise>
{
  __int8 gap0[1];
};

# StackResultStorageSharePtr<PerlinSimplexNoise>

struct StackResultStorageSharePtr<PerlinSimplexNoise>
{
  std::shared_ptr<PerlinSimplexNoise> mValue;
};

# SurfaceMaterialAdjustmentAttributes::Element

struct SurfaceMaterialAdjustmentAttributes::Element
{
  float mLowerBound;
  float mUpperBound;
  SurfaceMaterialAttributes mAdjustedMaterials;
};

# ShoreAttributes

typedef WeightedBiomeAttributes<ShoreTransformation> ShoreAttributes;

# SmokerBlockActor

struct __cppobj __attribute__((aligned(8))) SmokerBlockActor : FurnaceBlockActor
{
};

# SetBlockReactionComponent

struct __cppobj SetBlockReactionComponent : LabTableReactionComponent
{
  std::unique_ptr<BlockPos> mPos;
  const Block *mBlock;
};

# SmallSet<ActorUniqueID>::const_iterator

typedef std::vector<ActorUniqueID>::const_iterator SmallSet<ActorUniqueID>::const_iterator;

# SmallSet<ActorUniqueID>::iterator

typedef std::vector<ActorUniqueID>::iterator SmallSet<ActorUniqueID>::iterator;

# StructureEditorData_1

struct StructureEditorData_1
{
  std::string mStructureName;
  std::string mDataField;
  bool mIncludePlayers;
  bool mShowBoundingBox;
  StructureRedstoneSaveMode mRedstoneSaveMode;
  StructureBlockType mType;
  StructureSettings_1 mSettings;
};

# StructureSettings_1

struct __attribute__((aligned(8))) StructureSettings_1
{
  std::string mPaletteName;
  bool mIgnoreEntities;
  bool mIgnoreBlocks;
  BlockPos mStructureSize;
  BlockPos mStructureOffset;
  Vec3 mPivot;
  ActorUniqueID mLastTouchedByPlayer;
  Rotation_0 mRotation;
  Mirror_0 mMirror;
  float mIntegrityValue;
  RandomSeed_0 mIntegritySeed;
};

# SharedCounter<AirBlock>

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

# SharedCounter<StoneBlock>

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

# StoneBlock

struct __cppobj StoneBlock : BlockLegacy
{
};

# SharedCounter<GrassBlock>

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

# SharedCounter<DirtBlock>

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

# SharedCounter<PlanksBlock>

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

# SharedCounter<Sapling>

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

# Sapling

struct __cppobj Sapling : BushBlock
{
};

# SharedCounter<BedrockBlock>

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

# SharedCounter<LiquidBlockDynamic>

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

# SharedCounter<LiquidBlockStatic>

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

# SharedCounter<SandBlock>

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

# SandBlock

struct __cppobj SandBlock : HeavyBlock
{
};

# SharedCounter<GravelBlock>

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

# SharedCounter<OreBlock>

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

# SharedCounter<OldLogBlock>

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

# SharedCounter<OldLeafBlock>

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

# SharedCounter<SpongeBlock>

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

# SpongeBlock

struct __cppobj SpongeBlock : BlockLegacy
{
};

# SharedCounter<GlassBlock>

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

# SharedCounter<DispenserBlock>

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

# SharedCounter<SandStoneBlock>

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

# SandStoneBlock

struct __cppobj SandStoneBlock : BlockLegacy
{
};

# SharedCounter<NoteBlock>

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

# SharedCounter<BedBlock>

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

# SharedCounter<PoweredRailBlock>

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

# SharedCounter<DetectorRailBlock>

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

# SharedCounter<PistonBlock>

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

# SharedCounter<WebBlock>

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

# SharedCounter<TallGrass>

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

# SharedCounter<DeadBush>

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

# SharedCounter<PistonArmBlock>

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

# SharedCounter<ClothBlock>

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

# SharedCounter<FlowerBlock>

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

# SharedCounter<MushroomBlock>

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

# SharedCounter<MetalBlock>

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

# SharedCounter<StoneSlabBlock>

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

# StoneSlabBlock

struct __cppobj StoneSlabBlock : SlabBlock
{
};

# SharedCounter<TntBlock>

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

# SharedCounter<BookshelfBlock>

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

# SharedCounter<ObsidianBlock>

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

# SharedCounter<TorchBlock>

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

# SharedCounter<MobSpawnerBlock>

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

# SharedCounter<StairBlock>

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

# SharedCounter<ChestBlock>

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

# SharedCounter<RedStoneWireBlock>

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

# SharedCounter<WorkbenchBlock>

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

# SharedCounter<CropBlock>

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

# SharedCounter<FarmBlock>

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

# SharedCounter<FurnaceBlock>

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

# SharedCounter<SignBlock>

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

# SignBlock

struct __cppobj __attribute__((aligned(4))) SignBlock : ActorBlock
{
  SignBlockActor::SignType mSignType;
  bool mOnGround;
};

# SharedCounter<DoorBlock>

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

# SharedCounter<LadderBlock>

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

# SharedCounter<RailBlock>

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

# SharedCounter<LeverBlock>

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

# SharedCounter<PressurePlateBlock>

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

# SharedCounter<RedStoneOreBlock>

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

# SharedCounter<RedstoneTorchBlock>

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

# SharedCounter<StoneButtonBlock>

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

# StoneButtonBlock

struct __cppobj __attribute__((aligned(8))) StoneButtonBlock : ButtonBlock
{
};

# SharedCounter<TopSnowBlock>

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

# SharedCounter<IceBlock>

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

# SharedCounter<SnowBlock>

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

# SnowBlock

struct __cppobj SnowBlock : BlockLegacy
{
};

# SharedCounter<CactusBlock>

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

# SharedCounter<ClayBlock>

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

# SharedCounter<ReedBlock>

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

# SharedCounter<JukeboxBlock>

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

# SharedCounter<FenceBlock>

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

# SharedCounter<PumpkinBlock>

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

# SharedCounter<SoulSandBlock>

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

# SoulSandBlock

struct __cppobj SoulSandBlock : BlockLegacy
{
};

# SharedCounter<LightGemBlock>

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

# SharedCounter<PortalBlock>

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

# SharedCounter<CakeBlock>

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

# SharedCounter<RepeaterBlock>

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

# SharedCounter<InvisibleBlock>

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

# SharedCounter<TrapDoorBlock>

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

# SharedCounter<MonsterEggBlock>

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

# SharedCounter<StoneBrickBlock>

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

# StoneBrickBlock

struct __cppobj StoneBrickBlock : BlockLegacy
{
};

# SharedCounter<HugeMushroomBlock>

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

# SharedCounter<ThinFenceBlock>

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

# SharedCounter<MelonBlock>

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

# SharedCounter<StemBlock>

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

# StemBlock

struct __cppobj StemBlock : BushBlock
{
  const BlockLegacy *mFruit;
};

# SharedCounter<VineBlock>

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

# SharedCounter<FenceGateBlock>

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

# SharedCounter<MyceliumBlock>

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

# SharedCounter<WaterlilyBlock>

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

# SharedCounter<NetherWartBlock>

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

# SharedCounter<EnchantingTableBlock>

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

# SharedCounter<BrewingStandBlock>

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

# SharedCounter<CauldronBlock>

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

# SharedCounter<EndPortalBlock>

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

# SharedCounter<EndPortalFrameBlock>

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

# SharedCounter<DragonEggBlock>

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

# SharedCounter<RedstoneLampBlock>

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

# SharedCounter<DropperBlock>

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

# SharedCounter<ActivatorRailBlock>

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

# SharedCounter<CocoaBlock>

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

# SharedCounter<EnderChestBlock>

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

# SharedCounter<TripWireHookBlock>

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

# SharedCounter<TripWireBlock>

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

# SharedCounter<CommandBlock>

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

# SharedCounter<BeaconBlock>

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

# SharedCounter<WallBlock>

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

# SharedCounter<FlowerPotBlock>

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

# SharedCounter<CarrotBlock>

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

# SharedCounter<PotatoBlock>

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

# SharedCounter<WoodButtonBlock>

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

# SharedCounter<SkullBlock>

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

# SkullBlock

struct __cppobj SkullBlock : ActorBlock
{
};

# SharedCounter<AnvilBlock>

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

# SharedCounter<WeightedPressurePlateBlock>

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

# SharedCounter<ComparatorBlock>

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

# SharedCounter<DaylightDetectorBlock>

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

# SharedCounter<RedstoneBlock>

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

# SharedCounter<HopperBlock>

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

# SharedCounter<QuartzBlockBlock>

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

# SharedCounter<WoodSlabBlock>

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

# SharedCounter<ColoredBlock>

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

# SharedCounter<StainedGlassPaneBlock>

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

# StainedGlassPaneBlock

struct __cppobj __attribute__((aligned(8))) StainedGlassPaneBlock : ThinFenceBlock
{
};

# SharedCounter<NewLeafBlock>

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

# SharedCounter<NewLogBlock>

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

# SharedCounter<SlimeBlock>

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

# SlimeBlock

struct __cppobj SlimeBlock : BlockLegacy
{
};

# SharedCounter<PrismarineBlock>

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

# SharedCounter<SeaLanternBlock>

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

# SeaLanternBlock

struct __cppobj SeaLanternBlock : BlockLegacy
{
};

# SharedCounter<HayBlockBlock>

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

# SharedCounter<WoolCarpetBlock>

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

# SharedCounter<DoublePlantBlock>

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

# SharedCounter<BannerBlock>

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

# SharedCounter<StoneSlabBlock2>

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

# StoneSlabBlock2

struct __cppobj StoneSlabBlock2 : SlabBlock
{
};

# SharedCounter<GrassPathBlock>

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

# SharedCounter<ItemFrameBlock>

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

# SharedCounter<ChorusFlowerBlock>

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

# SharedCounter<UndyedShulkerBoxBlock>

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

# SharedCounter<FrostedIceBlock>

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

# SharedCounter<EndRodBlock>

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

# SharedCounter<EndGatewayBlock>

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

# SharedCounter<MagmaBlock>

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

# SharedCounter<RotatedPillarBlock>

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

# SharedCounter<StructureVoid>

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

# StructureVoid

struct __cppobj StructureVoid : BlockLegacy
{
};

# SharedCounter<ShulkerBoxBlock>

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

# ShulkerBoxBlock

struct __cppobj __attribute__((aligned(8))) ShulkerBoxBlock : ChestBlock
{
};

# SharedCounter<GlazedTerracottaBlock>

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

# SharedCounter<ConcreteBlock>

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

# SharedCounter<ConcretePowderBlock>

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

# SharedCounter<ChorusPlantBlock>

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

# SharedCounter<StainedGlassBlock>

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

# StainedGlassBlock

struct __cppobj __attribute__((aligned(8))) StainedGlassBlock : BlockLegacy
{
  bool mDoesDrops;
  bool mCanBeUsedInCommands;
};

# SharedCounter<CameraBlock>

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

# SharedCounter<PodzolBlock>

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

# SharedCounter<BeetrootBlock>

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

# SharedCounter<StonecutterBlock>

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

# StonecutterBlock

struct __cppobj StonecutterBlock : BlockLegacy
{
};

# SharedCounter<NetherReactorBlock>

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

# SharedCounter<MovingBlock>

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

# SharedCounter<ObserverBlock>

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

# SharedCounter<StructureBlock>

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

# StructureBlock

struct __cppobj StructureBlock : ActorBlock
{
};

# SharedCounter<StrippedLogBlock>

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

# StrippedLogBlock

struct __cppobj StrippedLogBlock : RotatedPillarBlock
{
};

# SharedCounter<BlueIceBlock>

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

# SharedCounter<FireBlock>

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

# SharedCounter<ChemistryTableBlock>

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

# SharedCounter<UnderwaterTorchBlock>

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

# SharedCounter<ChemicalHeatBlock>

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

# SharedCounter<ColoredTorchBlock>

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

# SharedCounter<ElementBlock>

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

# SharedCounter<Coral>

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

# SharedCounter<CoralBlock>

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

# SharedCounter<CoralFan>

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

# SharedCounter<CoralFanHang>

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

# SharedCounter<KelpBlock>

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

# SharedCounter<DriedKelpBlock>

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

# SharedCounter<SeaGrass>

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

# SeaGrass

struct __cppobj SeaGrass : BlockLegacy
{
};

# SharedCounter<SeaPickle>

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

# SeaPickle

struct __cppobj SeaPickle : BushBlock
{
};

# SharedCounter<ConduitBlock>

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

# SharedCounter<BubbleColumnBlock>

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

# SharedCounter<TurtleEggBlock>

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

# SharedCounter<BarrierBlock>

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

# SharedCounter<ScaffoldingBlock>

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

# ScaffoldingBlock

struct __cppobj ScaffoldingBlock : HeavyBlock
{
};

# SharedCounter<BambooBlock>

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

# SharedCounter<BambooSapling>

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

# SharedCounter<StoneSlabBlock3>

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

# StoneSlabBlock3

struct __cppobj StoneSlabBlock3 : SlabBlock
{
};

# SharedCounter<StoneSlabBlock4>

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

# StoneSlabBlock4

struct __cppobj StoneSlabBlock4 : SlabBlock
{
};

# SharedCounter<LecternBlock>

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

# SharedCounter<GrindstoneBlock>

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

# SharedCounter<BlastFurnaceBlock>

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

# SharedCounter<SmokerBlock>

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

# SmokerBlock

struct __cppobj __attribute__((aligned(8))) SmokerBlock : FurnaceBlock
{
};

# SharedCounter<CartographyTableBlock>

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

# SharedCounter<BarrelBlock>

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

# SharedCounter<LoomBlock>

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

# SharedCounter<BellBlock>

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

# SharedCounter<SweetBerryBushBlock>

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

# SweetBerryBushBlock

struct __cppobj SweetBerryBushBlock : BushBlock
{
};

# SharedCounter<LanternBlock>

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

# SharedCounter<CampfireBlock>

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

# SharedCounter<JigsawBlock>

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

# SharedCounter<WoodBlock>

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

# SharedCounter<ComposterBlock>

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

# SharedCounter<LightBlock>

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

# SharedCounter<WitherRoseBlock>

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

# SharedCounter<BeehiveBlock>

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

# SharedCounter<HoneyBlock>

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

# SharedCounter<HoneycombBlock>

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

# SubtractiveLightInfo

struct SubtractiveLightInfo
{
  SubtractiveLightInfo::$6B0E6A960ECE12370BB5BB4D4B3FBF4C _anon_0;
};

# SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>

struct __cppobj __attribute__((aligned(8))) SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1> : ISubChunkBlockStoragePaletted
{
  SubChunkBlockStoragePaletted<1,SubChunkBlockStorage::Type::Paletted1>::PACKED_WORD mBlocks[128];
  ISubChunkBlockStoragePaletted::PaletteEntry mPalette[2];
  std::atomic<unsigned short> mPaletteSize;
};

# SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>

struct __cppobj __attribute__((aligned(8))) SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2> : ISubChunkBlockStoragePaletted
{
  SubChunkBlockStoragePaletted<2,SubChunkBlockStorage::Type::Paletted2>::PACKED_WORD mBlocks[256];
  ISubChunkBlockStoragePaletted::PaletteEntry mPalette[4];
  std::atomic<unsigned short> mPaletteSize;
};

# SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>

struct __cppobj __attribute__((aligned(8))) SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3> : ISubChunkBlockStoragePaletted
{
  SubChunkBlockStoragePaletted<3,SubChunkBlockStorage::Type::Paletted3>::PACKED_WORD mBlocks[410];
  ISubChunkBlockStoragePaletted::PaletteEntry mPalette[8];
  std::atomic<unsigned short> mPaletteSize;
};

# SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>

struct __cppobj __attribute__((aligned(8))) SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4> : ISubChunkBlockStoragePaletted
{
  SubChunkBlockStoragePaletted<4,SubChunkBlockStorage::Type::Paletted4>::PACKED_WORD mBlocks[512];
  ISubChunkBlockStoragePaletted::PaletteEntry mPalette[16];
  std::atomic<unsigned short> mPaletteSize;
};

# SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>

struct __cppobj __attribute__((aligned(8))) SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5> : ISubChunkBlockStoragePaletted
{
  SubChunkBlockStoragePaletted<5,SubChunkBlockStorage::Type::Paletted5>::PACKED_WORD mBlocks[683];
  ISubChunkBlockStoragePaletted::PaletteEntry mPalette[32];
  std::atomic<unsigned short> mPaletteSize;
};

# SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>

struct __cppobj __attribute__((aligned(8))) SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6> : ISubChunkBlockStoragePaletted
{
  SubChunkBlockStoragePaletted<6,SubChunkBlockStorage::Type::Paletted6>::PACKED_WORD mBlocks[820];
  ISubChunkBlockStoragePaletted::PaletteEntry mPalette[64];
  std::atomic<unsigned short> mPaletteSize;
};

# SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>

struct __cppobj __attribute__((aligned(8))) SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8> : ISubChunkBlockStoragePaletted
{
  SubChunkBlockStoragePaletted<8,SubChunkBlockStorage::Type::Paletted8>::PACKED_WORD mBlocks[1024];
  ISubChunkBlockStoragePaletted::PaletteEntry mPalette[256];
  std::atomic<unsigned short> mPaletteSize;
};

# SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>

struct __cppobj __attribute__((aligned(8))) SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16> : ISubChunkBlockStoragePaletted
{
  SubChunkBlockStoragePaletted<16,SubChunkBlockStorage::Type::Paletted16>::PACKED_WORD mBlocks[2048];
  ISubChunkBlockStoragePaletted::PaletteEntry mPalette[4096];
  std::atomic<unsigned short> mPaletteSize;
};

# static_vector<const Block *,4096>

struct static_vector<const Block *,4096>
{
  std::aligned_storage<8,8>::type mArray[4096];
  size_t mSize;
};

# SubtractiveLightInfo::$6B0E6A960ECE12370BB5BB4D4B3FBF4C::$8A8F0A98EC9223C9E9CC01AC2399BC8B

struct __attribute__((aligned(4))) SubtractiveLightInfo::$6B0E6A960ECE12370BB5BB4D4B3FBF4C::$8A8F0A98EC9223C9E9CC01AC2399BC8B
{
  SubChunkLightIndex mCoordIndex;
  Brightness mOldBrightness;
};

# SpikeFeature::EndSpike

struct SpikeFeature::EndSpike
{
  const int mCenterX;
  const int mCenterZ;
  const int mRadius;
  const int mHeight;
  const bool mGuarded;
  const AABB mTopBoundingBox;
};

# StackRefResultT<SharePtrRefTraits<PerlinSimplexNoise> >::StackRef

typedef SharePtrRefTraits<PerlinSimplexNoise>::StackRef StackRefResultT<SharePtrRefTraits<PerlinSimplexNoise> >::StackRef;

# StructureTemplateFeature::BoundingBox2D

struct StructureTemplateFeature::BoundingBox2D
{
  Vec2 min;
  Vec2 max;
};

# SwamplandHut

struct __cppobj __attribute__((aligned(8))) SwamplandHut : ScatteredFeaturePiece
{
  bool mSpawnedWitch;
};

# ScatteredFeatureStart

struct __cppobj ScatteredFeatureStart : StructureStart
{
};

# ScatteredFeaturePiece

struct __cppobj ScatteredFeaturePiece : StructurePiece
{
  int mWidth;
  int mHeight;
  int mDepth;
  int mHeightPosition;
};

# StructureFeature::findFarAwayStructures::StructureInfo

struct StructureFeature::findFarAwayStructures::StructureInfo
{
  ChunkPos min;
  ChunkPos max;
  ChunkPos id;
};

# StructureHelpers

struct StructureHelpers
{
  __int8 gap0[1];
};

# StructurePoolElement::LazyTemplate

struct StructurePoolElement::LazyTemplate
{
  LegacyStructureTemplate *mStructure;
  std::vector<JigsawBlockInfo> mJigsawMarkers;
};

# StructurePoolActorPredicateAlwaysTrue

struct __cppobj StructurePoolActorPredicateAlwaysTrue : IStructurePoolActorPredicate
{
};

# StructurePoolBlockPredicateStateMatch

struct __cppobj StructurePoolBlockPredicateStateMatch : IStructurePoolBlockPredicate
{
  const Block *mBlock;
};

# StructurePoolBlockPredicateStateMatchRandom

struct __cppobj __attribute__((aligned(8))) StructurePoolBlockPredicateStateMatchRandom : IStructurePoolBlockPredicate
{
  const Block *mBlock;
  const float mProbability;
};

# StructurePoolBlockTagPredicateAlwaysTrue

struct __cppobj StructurePoolBlockTagPredicateAlwaysTrue : IStructurePoolBlockTagPredicate
{
};

# StructurePoolBlockTagPredicateBlockTagMatch

struct __cppobj StructurePoolBlockTagPredicateBlockTagMatch : IStructurePoolBlockTagPredicate
{
  const Block *mBlock;
  const CompoundTag *mTag;
};

# SimplexNoisePtr

typedef std::unique_ptr<SimplexNoise> SimplexNoisePtr;

# SetDataFromColorIndexFunction

struct __cppobj SetDataFromColorIndexFunction : LootItemFunction
{
};

# SetBannerDetailsFunction

struct __cppobj __attribute__((aligned(8))) SetBannerDetailsFunction : LootItemFunction
{
  BannerBlockType mBannerType;
};

# SetBookContentsFunction

struct __cppobj SetBookContentsFunction : LootItemFunction
{
  std::string mTitle;
  std::string mAuthor;
  std::vector<std::string> mPages;
};

# SetItemCountFunction

struct __cppobj SetItemCountFunction : LootItemFunction
{
  RandomValueBounds mValue;
};

# SetItemDamageFunction

struct __cppobj SetItemDamageFunction : LootItemFunction
{
  RandomValueBounds mDamage;
};

# SetItemDataFunction

struct __cppobj SetItemDataFunction : LootItemFunction
{
  RandomValueBounds mValue;
};

# SetItemLoreFunction

struct __cppobj SetItemLoreFunction : LootItemFunction
{
  std::vector<std::string> mLore;
};

# SetItemNameFunction

struct __cppobj SetItemNameFunction : LootItemFunction
{
  std::string mName;
};

# SetSpawnEggFunction

struct __cppobj SetSpawnEggFunction : LootItemFunction
{
  ActorDefinitionIdentifier mActor;
};

# SmeltItemFunction

struct __cppobj SmeltItemFunction : LootItemFunction
{
};

# SpecificEnchantFunction

struct __cppobj SpecificEnchantFunction : LootItemFunction
{
  std::vector<SpecificEnchantFunction::EnchantInfo> mEnchantments;
};

# ServerScoreboard::setDisplayObjective::MapValue

typedef std::unordered_map<std::string,DisplayObjective>::value_type ServerScoreboard::setDisplayObjective::MapValue;

# SplashPotionEffectSubcomponent

struct __cppobj __attribute__((aligned(8))) SplashPotionEffectSubcomponent : OnHitSubcomponent
{
  int mPotionEffect;
};

# ScaffoldingClimberDefinition

struct ScaffoldingClimberDefinition
{
  __int8 gap0[1];
};

# StackRefResultT<EntityRegistryRefTraits>::StackRef

typedef EntityRegistryRefTraits::StackRef StackRefResultT<EntityRegistryRefTraits>::StackRef;

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

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

# SPSCQueue<BatchedNetworkPeer::DataCallback,512>

struct SPSCQueue<BatchedNetworkPeer::DataCallback,512>
{
  Lockless::WeakAtomic<SPSCQueue<BatchedNetworkPeer::DataCallback,512>::Block *> mFrontBlock;
  char mCachelineFiller[56];
  Lockless::WeakAtomic<SPSCQueue<BatchedNetworkPeer::DataCallback,512>::Block *> mTailBlock;
  size_t mLargestBlockSize;
};

# StackedGraphBars::ColorKey

struct StackedGraphBars::ColorKey
{
  char colorTag;
  std::string name;
};

# StackedGraphBars::Bar

typedef std::array<float,2> StackedGraphBars::Bar;

# ScriptBinderActorTemplate

struct __cppobj ScriptBinderActorTemplate : ScriptBinderTemplate
{
};

# ScriptBinderBlockTemplate

struct __cppobj ScriptBinderBlockTemplate : ScriptBinderTemplate
{
};

# ScriptBinderComponentTemplate

struct __cppobj ScriptBinderComponentTemplate : ScriptBinderTemplate
{
};

# ScriptBinderItemActorTemplate

struct __cppobj ScriptBinderItemActorTemplate : ScriptBinderTemplate
{
};

# ScriptBinderLevelTemplate

struct __cppobj ScriptBinderLevelTemplate : ScriptBinderTemplate
{
};

# ScriptBinderPureEcsTemplate

struct __cppobj ScriptBinderPureEcsTemplate : ScriptBinderTemplate
{
};

# ScriptBinderQueryTemplate

struct __cppobj ScriptBinderQueryTemplate : ScriptBinderTemplate
{
};

# ScriptBinderActorTickingAreaTemplate

struct __cppobj ScriptBinderActorTickingAreaTemplate : ScriptBinderTemplate
{
};

# ScriptBinderLevelTickingAreaTemplate

struct __cppobj ScriptBinderLevelTickingAreaTemplate : ScriptBinderTemplate
{
};

# ScriptEventDataBinderComponent

struct __cppobj __attribute__((aligned(8))) ScriptEventDataBinderComponent : ScriptBinderComponent
{
  ScriptApi::ScriptObjectHandle mData;
};

# ScriptBinderEventDataTemplate

struct __cppobj ScriptBinderEventDataTemplate : ScriptBinderTemplate
{
};

# ScriptItemStackBinderComponent

struct __cppobj ScriptItemStackBinderComponent : ScriptBinderComponent
{
  uint32_t mEcsId;
  int32_t mCount;
  std::string mItemIdentifier;
};

# ScriptBinderItemStackTemplate

struct __cppobj ScriptBinderItemStackTemplate : ScriptBinderTemplate
{
};

# ServerCommand:240

struct __cppobj ServerCommand:240 : Command:240
{
};

# SayCommand

struct __cppobj SayCommand : MessagingCommand
{
  CommandMessage mMessage;
};

# ScoreboardCommand

struct __cppobj __attribute__((aligned(8))) ScoreboardCommand : Command
{
  ScoreboardCommand::Category mCategory;
  ScoreboardCommand::Action mAction;
  std::string mObjective;
  std::string mSourceObjective;
  ObjectiveSortOrder mOrder;
  std::string mCriteria;
  std::string mName;
  std::string mDisplayName;
  WildcardActorSelector mTargets;
  WildcardActorSelector mSources;
  CommandOperator_0 mOperator;
  CommandWildcardInt mMin;
  CommandWildcardInt mMax;
  int mRandMin;
  int mRandMax;
  int mValue;
  bool mTargetsSet;
};

# SetBlockCommand

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

# SetMaxPlayersCommand

struct __cppobj __attribute__((aligned(8))) SetMaxPlayersCommand : ServerCommand
{
  int mMaxPlayers;
};

# SetWorldSpawnCommand

struct __cppobj __attribute__((aligned(8))) SetWorldSpawnCommand : Command
{
  CommandPositionFloat mSpawnPoint;
  bool mSpawnPointSet;
};

# SpawnPointCommand

struct __cppobj __attribute__((aligned(8))) SpawnPointCommand : Command
{
  PlayerSelector mTargets;
  CommandPositionFloat mSpawnPos;
  bool mSpawnPosSet;
};

# SpreadPlayersCommand

struct __cppobj SpreadPlayersCommand : Command
{
  ActorSelector mTargets;
  RelativeFloat mX;
  RelativeFloat mZ;
  float mDistance;
  float mMaxRange;
};

# StopSoundCommand

struct __cppobj StopSoundCommand : Command
{
  PlayerSelector mTargets;
  std::string mSound;
};

# SummonCommand

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

# SequenceDefinition

struct __cppobj SequenceDefinition : CompositeDefinition
{
};

# SequenceBehaviorNode

struct __cppobj SequenceBehaviorNode : BehaviorNode
{
  Unique<BehaviorNode> mActiveChild;
  size_t mCurrentIndex;
};

# SelectorDefinition

struct __cppobj SelectorDefinition : CompositeDefinition
{
};

# SelectorBehaviorNode

struct __cppobj SelectorBehaviorNode : BehaviorNode
{
  Unique<BehaviorNode> mActiveChild;
  size_t mCurrentIndex;
};

# SubtreeDefinition

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

# SubtreeNode

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

# ShootBowDefinition

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

# ShootBowNode

struct __cppobj __attribute__((aligned(8))) ShootBowNode : BehaviorNode:480
{
  int mNumTimesToShoot;
  int mNumTimesShot;
  int mTicksLeftToShoot;
  bool mDone;
};

# SpawnGroupRegistry::SpawnGroupRegistryMap

typedef std::vector<std::unique_ptr<SpawnGroupData>> SpawnGroupRegistry::SpawnGroupRegistryMap;

# SpawnGroupRegistry::SpawnGroupLookupMap

typedef std::unordered_map<std::string,SpawnGroupData *> SpawnGroupRegistry::SpawnGroupLookupMap;

# ShulkerBoxContainerController

struct __cppobj ShulkerBoxContainerController : ContainerController
{
};

# Shared<BlockActor>

typedef std::shared_ptr<BlockActor> Shared<BlockActor>;

# SlabBlock

struct __cppobj SlabBlock : BlockLegacy
{
  SlabBlock::SlabType mSlabType;
  bool fullSize;
  WeakPtr<BlockLegacy> mBaseSlab;
};

# StructureIntegrityProcessor_0

struct StructureIntegrityProcessor_0
{
  float mIntegrity;
  RandomSeed_0 mStartSeed;
};

# SnapshotEnv

struct __cppobj SnapshotEnv : leveldb::EnvWrapper
{
  leveldb::Env *mTarget;
  Bedrock::Threading::Mutex mCreationLock;
  SharedMutex mWriteLock;
  Bedrock::Threading::Mutex mOpenReadFileLock;
  Bedrock::Threading::Mutex mPauseLock;
  std::atomic<bool> mPaused;
  std::vector<SnapshotEnv::DeleteFileEntry> mQueuedActions;
  Bedrock::Threading::Mutex mQueueMutex;
};

# SmallSet<DBChunkStorage *>

struct SmallSet<DBChunkStorage *>
{
  std::vector<DBChunkStorage *> c;
};

# SmallSet<DBChunkStorage *>::const_iterator

typedef std::vector<DBChunkStorage *>::const_iterator SmallSet<DBChunkStorage *>::const_iterator;

# SmallSet<DBChunkStorage *>::iterator

typedef std::vector<DBChunkStorage *>::iterator SmallSet<DBChunkStorage *>::iterator;

# SnapshotWritableFile

struct __cppobj SnapshotWritableFile : leveldb::WritableFile
{
  gsl::owner<leveldb::WritableFile *> mLeveldbWritableFile;
  SharedMutex *mCreationAndWriteLock;
};

# Shared<LevelChunk>

typedef std::shared_ptr<LevelChunk> Shared<LevelChunk>;

# ScriptCommandFactory

struct ScriptCommandFactory
{
  __int8 gap0[1];
};

# SecureStorage

struct SecureStorage
{
  int (**_vptr$SecureStorage)(void);
};

# Social::XboxLiveSignInHandler

struct __cppobj Social::XboxLiveSignInHandler : std::enable_shared_from_this<Social::XboxLiveSignInHandler>
{
  int (**_vptr$XboxLiveSignInHandler)(void);
};

# StringVector

typedef std::vector<std::string> StringVector;

# SecureStorageKey

struct __attribute__((aligned(8))) SecureStorageKey
{
  std::string key;
  bool isEncoded;
};

# ServiceLocator<Core::LoadTimeProfiler>

struct ServiceLocator<Core::LoadTimeProfiler>
{
  __int8 gap0[1];
};

# Scheduler::ScopedChangeScheduler

struct Scheduler::ScopedChangeScheduler
{
  BackgroundWorker *mParent;
};

# SmallSet<WorkerPool *>::const_iterator

typedef std::vector<WorkerPool *>::const_iterator SmallSet<WorkerPool *>::const_iterator;

# SmallSet<WorkerPool *>::iterator

typedef std::vector<WorkerPool *>::iterator SmallSet<WorkerPool *>::iterator;

# StopwatchNLast

struct __cppobj StopwatchNLast : Stopwatch
{
  int n;
  int k;
  std::vector<double> t;
  double sum;
  Stopwatch sw;
};

# StopwatchHandler

struct __attribute__((aligned(8))) StopwatchHandler
{
  StopwatchHandler::Map _map;
  int _printcounter;
};

# StopwatchHandler::Map

typedef std::map<std::string,std::unique_ptr<Stopwatch>> StopwatchHandler::Map;

# ScriptApi::EmptyScriptInterface

struct __cppobj ScriptApi::EmptyScriptInterface : ScriptApi::ScriptLanguageInterface
{
};