39 ::ll::TypedStorage<8, 48, ::HashedString> mName;
40 ::ll::TypedStorage<8, 40, ::SharedTypes::Legacy::BlockDescriptor::Compound> mState;
58 MCAPI
void* $ctor(
::HashedString name, ::std::string
const& stringState);
72 ::ll::TypedStorage<8, 8, ::gsl::not_null<::BlockState const*>> mBlockState;
73 ::ll::TypedStorage<4, 4, int> mValue;
77 enum class CompareType :
int {
88 ::ll::TypedStorage<8, 8, ::BlockDescriptor&> mBlockDescriptor;
100 MCAPI
void resolve(
bool logInvalidBlocks);
107 ::ll::TypedStorage<8, 8, ::BlockDescriptor::ResolveHelper> mResolveHelper;
108 ::ll::TypedStorage<8, 48, ::HashedString> mBlockName;
109 ::ll::TypedStorage<1, 1, bool> mIsComplexAlias;
110 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ExpressionNode>> mTags;
111 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor::State>> mRawStates;
112 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor::ResolvedState>> mResolvedStates;
113 ::ll::TypedStorage<4, 4, ::BlockDescriptor::CompareType> mCompareType;
114 ::ll::TypedStorage<1, 1, bool> mContentLogOnError;
115 ::ll::TypedStorage<8, 8, ::Block const*> mBlock;
116 ::ll::TypedStorage<1, 1, bool> mValid;
117 ::ll::TypedStorage<1, 1, bool> mIsDeferred;
118 ::ll::TypedStorage<8, 32, ::SpinLockImpl> mLock;
132 MCAPI
BlockDescriptor(::std::string
const& name, ::std::vector<::BlockDescriptor::State>&& states);
134 MCAPI
bool _anyTagsMatch(
::Block const& block)
const;
136 MCAPI
void _resolve(
bool logInvalidBlocks)
const;
138 MCAPI
bool _statesMatch(
::Block const& block)
const;
140 MCAPI ::Block
const& getBlockOrUnknownBlock()
const;
142 MCAPI ::BlockDescriptor::CompareType
const& getCompareType()
const;
144 MCAPI
bool matches(
::Block const& block)
const;
152 MCAPI ::std::unique_ptr<::CompoundTag> toCompoundTag()
const;
160 MCAPI
static bool anyMatch(::std::vector<::BlockDescriptor>
const& blockDescriptors,
::Block const& block);
164 MCAPI static ::BlockDescriptor fromCompoundTag(
::CompoundTag const& tag);
166 MCAPI static ::BlockDescriptor fromTagExpression(::std::string
const& tagExpression, ::MolangVersion molangVersion);
172 MCAPI static ::std::add_lvalue_reference_t<char const[]> JSON_NAME_FIELD();
174 MCAPI static ::std::add_lvalue_reference_t<char const[]> JSON_STATES_FIELD();
176 MCAPI static ::std::add_lvalue_reference_t<char const[]> JSON_TAGS_FIELD();
190 MCAPI
void* $ctor(::std::string
const& name, ::std::vector<::BlockDescriptor::State>&& states);