38 ::ll::TypedStorage<8, 48, ::HashedString> mName;
39 ::ll::TypedStorage<8, 40, ::SharedTypes::Legacy::BlockDescriptor::Compound> mState;
59 MCAPI
void* $ctor(
::HashedString name, ::std::string
const& stringState);
84 enum class CompareType :
int {
95 ::ll::TypedStorage<8, 8, ::BlockDescriptor&> mBlockDescriptor;
101 MCAPI
void resolve(
bool logInvalidBlocks);
108 ::ll::TypedStorage<8, 8, ::BlockDescriptor::ResolveHelper> mResolveHelper;
109 ::ll::TypedStorage<8, 48, ::HashedString> mBlockName;
110 ::ll::TypedStorage<1, 1, bool> mIsComplexAlias;
111 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ExpressionNode>> mTags;
112 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor::State>> mRawStates;
113 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor::ResolvedState>> mResolvedStates;
114 ::ll::TypedStorage<4, 4, ::BlockDescriptor::CompareType> mCompareType;
115 ::ll::TypedStorage<1, 1, bool> mContentLogOnError;
116 ::ll::TypedStorage<8, 8, ::Block const*> mBlock;
117 ::ll::TypedStorage<1, 1, bool> mValid;
118 ::ll::TypedStorage<1, 1, bool> mIsDeferred;
119 ::ll::TypedStorage<8, 32, ::SpinLockImpl> mLock;
135 MCAPI
BlockDescriptor(::std::string
const& name, ::std::vector<::BlockDescriptor::State>&& states);
137 MCAPI
bool _anyTagsMatch(
::Block const& block)
const;
139 MCAPI
void _resolve(
bool logInvalidBlocks)
const;
141 MCAPI
bool _statesMatch(
::Block const& block)
const;
143 MCAPI ::Block
const& getBlockOrUnknownBlock()
const;
145 MCAPI ::BlockDescriptor::CompareType
const& getCompareType()
const;
147 MCAPI
bool matches(
::Block const& block)
const;
155 MCAPI ::std::unique_ptr<::CompoundTag> toCompoundTag()
const;
157 MCAPI ::Block
const* tryGetBlock()
const;
165 MCAPI
static bool anyMatch(::std::vector<::BlockDescriptor>
const& blockDescriptors,
::Block const& block);
168 anyMatch(::std::vector<::BlockDescriptor>
const& blockDescriptors,
::BlockDescriptor const& otherBlockDescriptor);
170 MCAPI static ::BlockDescriptor fromCompoundTag(
::CompoundTag const& tag);
172 MCAPI static ::BlockDescriptor fromTagExpression(::std::string
const& tagExpression, ::MolangVersion molangVersion);
178 MCAPI static ::std::add_lvalue_reference_t<char const[]> JSON_NAME_FIELD();
180 MCAPI static ::std::add_lvalue_reference_t<char const[]> JSON_STATES_FIELD();
182 MCAPI static ::std::add_lvalue_reference_t<char const[]> JSON_TAGS_FIELD();
198 MCAPI
void* $ctor(::std::string
const& name, ::std::vector<::BlockDescriptor::State>&& states);