47class CommandRegistry {
74 using ParseFunction = bool (::CommandRegistry::*)(
80 ::std::vector<::std::string>&
83 enum class HardNonTerminal :
int {
89 WildcardInt = 1048581,
91 CompareOperator = 1048583,
93 StandaloneSelection = 1048585,
94 WildcardSelection = 1048586,
95 NonIdSelector = 1048587,
98 ScoreSelectParam = 1048590,
99 ScoreSelector = 1048591,
100 TagSelector = 1048592,
102 FilePathVal = 1048594,
103 FilePathCont = 1048595,
104 IntegerRangeVal = 1048596,
105 IntegerRangePostVal = 1048597,
106 IntegerRange = 1048598,
107 FullIntegerRange = 1048599,
108 RationalRangeVal = 1048600,
109 RationalRangePostVal = 1048601,
110 RationalRange = 1048602,
111 FullRationalRange = 1048603,
120 HasPermissionArg = 1048612,
121 HasPermissionArgs = 1048613,
122 HasPermissionSelector = 1048614,
123 HasPermissionElement = 1048615,
124 HasPermissionElements = 1048616,
126 HasItemElement = 1048618,
127 HasItemElements = 1048619,
128 HasItemArg = 1048620,
129 HasItemArgs = 1048621,
130 HasItemSelector = 1048622,
131 EquipmentSlotEnum = 1048623,
132 PropertyValue = 1048624,
133 HasPropertyParamValue = 1048625,
134 HasPropertyParamEnumValue = 1048626,
135 HasPropertyArg = 1048627,
136 HasPropertyArgs = 1048628,
137 HasPropertyElement = 1048629,
138 HasPropertyElements = 1048630,
139 HasPropertySelector = 1048631,
145 CoordXFloat = 1048637,
146 CoordYFloat = 1048638,
147 CoordZFloat = 1048639,
149 PositionFloat = 1048641,
150 MessageExp = 1048642,
152 MessageRoot = 1048644,
153 PostSelector = 1048645,
155 RawTextCont = 1048647,
158 JsonObject = 1048650,
159 JsonObjectFields = 1048651,
160 JsonObjectCont = 1048652,
162 JsonArrayValues = 1048654,
163 JsonArrayCont = 1048655,
165 BlockStateKey = 1048657,
166 BlockStateValue = 1048658,
167 BlockStateValues = 1048659,
168 BlockStateArray = 1048660,
169 BlockStateArrayCont = 1048661,
171 SlashCommand = 1048663,
172 CodeBuilderArg = 1048664,
173 CodeBuilderArgs = 1048665,
174 CodeBuilderSelectParam = 1048666,
175 CodeBuilderSelector = 1048667,
182 ::ll::TypedStorage<4, 4, uint> signatureCount;
183 ::ll::TypedStorage<4, 4, uint> enumValueCount;
184 ::ll::TypedStorage<4, 4, uint> postfixCount;
185 ::ll::TypedStorage<4, 4, uint> enumCount;
186 ::ll::TypedStorage<4, 4, uint> enumLookupCount;
187 ::ll::TypedStorage<4, 4, uint> typeLookupCount;
188 ::ll::TypedStorage<4, 4, uint> factorizationCount;
189 ::ll::TypedStorage<4, 4, uint> optionalCount;
190 ::ll::TypedStorage<4, 4, uint> ruleCount;
191 ::ll::TypedStorage<4, 4, uint> softEnumCount;
192 ::ll::TypedStorage<4, 4, uint> constraintCount;
193 ::ll::TypedStorage<4, 4, uint> chainedSubcommandCount;
194 ::ll::TypedStorage<4, 4, uint> chainedSubcommandValueCount;
195 ::ll::TypedStorage<8, 24, ::std::vector<uint>> enumValuesCount;
196 ::ll::TypedStorage<8, 24, ::std::vector<uint>> constrainedValueCount;
197 ::ll::TypedStorage<8, 24, ::std::vector<uint>> softEnumValuesCount;
218 ::std::vector<::std::string> mValues;
226 static int const NonTerminalBit = 0x100000;
227 static int const EnumBit = 0x200000;
228 static int const OptionalBit = 0x400000;
229 static int const FactorizationBit = 0x800000;
230 static int const PostfixBit = 0x1000000;
231 static int const EnumValueBit = 0x2000000;
232 static int const SoftEnumBit = 0x4000000;
236 Symbol(
int val) : mValue(val) {}
239 Symbol(Symbol
const& other) : mValue(other.mValue) {}
241 Symbol(HardNonTerminal data) : mValue(
static_cast<int>(data)) {}
243 Symbol(CommandLexer::TokenType data) : mValue(
static_cast<int>(data)) {}
245 Symbol& operator=(Symbol
const& other) {
246 mValue = other.mValue;
250 [[nodiscard]]
inline bool operator==(Symbol
const& other)
const {
return mValue == other.mValue; }
252 uint64 toIndex()
const {
return mValue & 0xffffffffe00fffffull; }
259 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> mValue;
260 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> mEnum;
261 ::ll::TypedStorage<8, 24, ::std::vector<uchar>> mConstraints;
269 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> commandSymbol;
273 struct LexicalToken {
281 ::CommandRegistry
const& mRegistry;
286 LexicalToken& operator=(LexicalToken
const&);
287 LexicalToken(LexicalToken
const&);
301 ::ll::TypedStorage<4, 4, int> parameterCount;
302 ::ll::TypedStorage<4, 4, int> followingRuleIndex;
303 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> paramSymbol;
317 ::std::vector<::CommandParameterData> params;
320 ::std::vector<::CommandRegistry::Symbol> paramsSymbol;
324 struct ParamSymbols {
328 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> x;
329 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> y;
330 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> z;
331 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> dx;
332 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> dy;
333 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> dz;
334 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> r;
335 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> rm;
336 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> rx;
337 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> rxm;
338 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> ry;
339 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> rym;
340 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> l;
341 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> lm;
342 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> c;
343 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> m;
344 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> name;
345 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> type;
346 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> family;
347 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> score;
348 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> tag;
349 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> hasitem;
350 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> haspermission;
351 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> hasproperty;
352 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> codebuilder;
358 MCAPI ParamSymbols();
372 ::std::unique_ptr<::CommandRegistry::ParseToken> child;
373 ::std::unique_ptr<::CommandRegistry::ParseToken> next;
383 MCAPI ::std::string toString()
const;
394 ::std::vector<::std::pair<uint64, uint>> values;
417 ::std::vector<::std::pair<uint64, uint64>> values;
437 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> nonTerminal;
443 ::ll::TypedStorage<8, 24, ::std::vector<::CommandRegistry::Symbol>> derivation;
444 ::ll::TypedStorage<4, 8, ::CommandVersion> versions;
449 ParseRule& operator=(ParseRule
const&);
450 ParseRule(ParseRule
const&);
464 ::ll::TypedStorage<1, 1, bool> mIsValid;
465 ::ll::TypedStorage<8, 24, ::std::vector<::CommandRegistry::Symbol>> mConstrainedParams;
466 ::ll::TypedStorage<8, 32, ::std::string> mSoftEnumText;
467 ::ll::TypedStorage<8, 32, ::std::string> mSoftEnumEscapeCharExceptions;
468 ::ll::TypedStorage<8, 16, ::std::set<::CommandRegistry::Symbol>> mAlreadyCompletedSymbols;
480 MCAPI_C
void $dtor();
489 ::std::string description;
490 ::std::vector<::CommandRegistry::Overload> overloads;
491 ::std::vector<uint> chainedSubcommandIndexes;
492 ::CommandPermissionLevel permissionLevel;
497 int firstFactorization;
505 Signature& operator=(Signature
const&);
506 Signature(Signature
const&);
540 ::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>>
545 ::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>>
549 ::std::pair<::CommandRegistry::Symbol, ::CommandRegistry::Symbol>,
552 ::std::equal_to<void>>
555 ::std::chrono::nanoseconds buildDuration;
563 ::ll::TypedStorage<8, 8, ::CommandRegistry const&> mRegistry;
564 ::ll::TypedStorage<8, 8, ::CommandRegistry::ParseTable const*> mParseTable;
565 ::ll::TypedStorage<8, 40, ::std::deque<::std::pair<::CommandRegistry::Symbol, ::CommandRegistry::ParseToken*>>>
567 ::ll::TypedStorage<8, 32, ::CommandRegistry::LexicalToken> mNext;
568 ::ll::TypedStorage<8, 32, ::std::string> mInput;
569 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CommandRegistry::ParseToken>> mRoot;
570 ::ll::TypedStorage<8, 32, ::std::string> mError;
571 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mErrorParams;
572 ::ll::TypedStorage<4, 4, int> mVersion;
573 ::ll::TypedStorage<1, 1, bool> mGenerateParams;
574 ::ll::TypedStorage<1, 1, bool> mBreakAtEnd;
579 Parser& operator=(Parser
const&);
580 Parser(Parser
const&);
586 MCAPI Parser(::CommandRegistry
const& registry,
int version);
588 MCAPI
bool _parse(::std::string
const& in);
590 MCAPI ::std::unique_ptr<::CommandSelector<::Actor>>
591 createSelector(::std::string
const& selectorString,
::CommandOrigin const& origin);
593 MCAPI ::std::vector<::std::string> getErrorParams()
const;
595 MCAPI
bool parseCommand(::std::string
const& in);
597 MCAPI
bool parseSelector(::std::string
const& in);
605 MCAPI
void* $ctor(::CommandRegistry
const& registry,
int version);
615 using ChainedSubcommandConversionFunction = ::std::function<void(
void*, uint64)>;
617 using ChainedSubcommandID = uint;
619 using ChainedSubcommandValueID = uint64;
621 using CommandOverrideFunctor =
622 ::std::function<void(::std::string
const&,
::CommandFlag&, ::CommandPermissionLevel&)>;
626 using ConstrainedValueID = uint;
628 using ConstrainedValueLookupKey = ::std::pair<uint64, uint>;
630 using CustomStorageGetFn =
void* (*)(
::Command*,
int);
632 using CustomStorageIsSetFn =
bool* (*)(
::Command*,
int);
634 using EnumConversionFunction = ::std::function<void(
void*, uint64)>;
638 using EnumValueID = uint64;
640 using HardTerminal = ::CommandLexer::TokenType;
644 using ParamVisitCallback = ::std::function<
647 using ParseMap = ::std::map<
649 ::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>>;
651 using ParseTableMap = ::std::map<uint, ::CommandRegistry::ParseTable>;
653 using PredictTable = ::entt::dense_map<
654 ::std::pair<::CommandRegistry::Symbol, ::CommandRegistry::Symbol>,
657 ::std::equal_to<void>>;
659 using ProcessFunction =
662 using RuleIndex = int;
664 using ScoreboardScoreAccessor = ::std::function<int(
bool&, ::std::string
const&,
::Actor const&)>;
666 using SemanticConstraintID = uchar;
668 using SoftEnumID = uint;
671 ::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>;
673 using SymbolVector = ::std::vector<::CommandRegistry::Symbol>;
677 using ValueTypeID = uint64;
682 ::std::function<void(
::Packet const&)> mNetworkUpdateCallback;
683 ScoreboardScoreAccessor mGetScoreForObjective;
685 ::std::vector<::CommandRegistry::ParseRule> mRules;
686 ::std::map<uint, ::CommandRegistry::ParseTable> mParseTables;
687 ::std::vector<::CommandRegistry::OptionalParameterChain> mOptionals;
688 ::std::vector<::std::string> mEnumValues;
689 ::std::vector<::CommandRegistry::Enum> mEnums;
690 ::std::vector<::std::string> mChainedSubcommandValues;
691 ::std::vector<::CommandRegistry::ChainedSubcommand> mChainedSubcommands;
692 ::std::vector<::CommandRegistry::Factorization> mFactorizations;
693 ::std::vector<::std::string> mPostfixes;
694 ::std::map<::std::string, uint> mEnumLookup;
695 ::std::map<::std::string, uint64> mEnumValueLookup;
696 ::std::map<::std::string, uint> mChainedSubcommandLookup;
697 ::std::map<::std::string, uint64> mChainedSubcommandValueLookup;
698 ::std::vector<::CommandRegistry::Symbol> mCommandSymbols;
699 ::std::map<::std::string, ::CommandRegistry::Signature> mSignatures;
700 ::std::map<::Bedrock::typeid_t<::CommandRegistry>,
int> mTypeLookup;
701 ::std::map<::std::string, ::std::string> mAliases;
702 ::std::vector<::SemanticConstraint> mSemanticConstraints;
703 ::std::map<::SemanticConstraint, uchar> mSemanticConstraintLookup;
704 ::std::vector<::CommandRegistry::ConstrainedValue> mConstrainedValues;
705 ::std::map<::std::pair<uint64, uint>, uint> mConstrainedValueLookup;
706 ::std::vector<::CommandRegistry::SoftEnum> mSoftEnums;
707 ::std::map<::std::string, uint> mSoftEnumLookup;
708 ::std::vector<::CommandRegistry::RegistryState> mStateStack;
710 ::std::unordered_set<int> mSkipOnEpsAutocompleteSymbols;
711 ::std::unordered_set<int> mAllowEmptySymbols;
712 CommandOverrideFunctor mCommandOverrideFunctor;
713 ::std::unique_ptr<::CommandRunStats> mCommandRunStats;
723 std::vector<std::string>& errorParams
726 template <
class E,
class C>
733 std::vector<std::string>& errorParams
736 uint64 getEnumData(
ParseToken const& token)
const {
737 auto& values = mEnums[token.type.toIndex()].values;
738 return std::lower_bound(
741 token.child->type.toIndex(),
742 [](
auto& pair,
auto& child) { return pair.first < child; }
755 MCAPI ::CommandRegistry::Symbol _addChainedSubcommandValuesInternal(
756 ::std::string
const& name,
757 ::std::vector<::std::pair<::std::string, uint>>
const& strings,
765 ::std::vector<::std::string>&
770 MCAPI ::CommandRegistry::Symbol _addChainedSubcommandValuesInternal(
771 ::std::string
const& name,
772 ::std::vector<::std::pair<uint64, uint>>
const& values,
780 ::std::vector<::std::string>&
785 MCAPI ::CommandRegistry::Symbol _addEnumValuesInternal(
786 ::std::string
const& name,
787 ::std::vector<::std::pair<::std::string, uint64>>
const& strings,
795 ::std::vector<::std::string>&
799 MCAPI ::CommandRegistry::Symbol _addEnumValuesInternal(
800 ::std::string
const& name,
801 ::std::vector<::std::pair<uint64, uint64>>
const& values,
809 ::std::vector<::std::string>&
813 MCAPI ::CommandRegistry::Symbol _addFunctionSoftEnum();
815 MCAPI ::std::unique_ptr<::CommandSelector<::Actor>> _createSelector(
819 ::std::string& error,
820 ::std::vector<::std::string>& errorParams
825 MCAPI
bool _matchesEnumConstraintsSet(
829 ::SemanticConstraint requiredConstraints
832 MCAPI_C ::std::vector<::CommandRegistry::Symbol> _reconstructParseStack(
837 MCAPI_C ::std::vector<::CommandRegistry::Symbol> _reconstructParseStack(
838 ::std::vector<::CommandParameterData>
const& params,
844 MCAPI
void addChainedSubcommandValuesToExisting(uint index, ::std::vector<::std::pair<uint64, uint>>
const& values);
846 MCAPI
void addEnumValueConstraints(
847 ::std::string
const& enumName,
848 ::std::vector<::std::string>
const& values,
849 ::SemanticConstraint constraints
852 MCAPI
int addEnumValues(::std::string
const& name, ::std::vector<::std::string>
const& values);
854 MCAPI
void addEnumValuesToExisting(uint index, ::std::vector<::std::pair<uint64, uint64>>
const& values);
856 MCAPI ::CommandRegistry::Symbol addPostfix(::std::string
const& name);
860 ::std::vector<::CommandRegistry::Symbol> derivation,
866 MCAPI
void addSemanticConstraint(::SemanticConstraint constraintType);
868 MCAPI
int addSoftEnum(::std::string
const& name, ::std::vector<::std::string> values);
870 MCAPI
void addSoftEnumValues(::std::string
const& enumName, ::std::vector<::std::string> values);
872 MCAPI ::CommandRegistry::Symbol addSoftTerminal(::std::string
const& name);
874 MCAPI_C
void autoComplete(
876 ::std::string
const& cmdLine,
877 ::std::string
const& partialMatch,
884 MCAPI_C
void autoCompleteCommand(
885 ::std::string
const& partialMatch,
892 MCAPI
void buildFollowSet(
896 ::std::set<::CommandRegistry::Symbol>& workingSet
899 MCAPI ::CommandRegistry::Symbol buildOptionalRuleChain(
901 ::std::vector<::CommandParameterData>
const& params,
902 ::std::vector<::CommandRegistry::Symbol>
const& symbols
905 MCAPI ::CommandRegistry::Symbol buildOptionalRuleChain(
907 ::std::vector<::CommandParameterData>
const& params,
912 MCAPI
void buildParseTable(uint version)
const;
916 MCAPI ::CommandRegistry::Symbol buildRules(
918 ::std::vector<::gsl::not_null<::CommandRegistry::Overload*>>
const& overloads,
925 MCAPI ::std::unique_ptr<::Command> createCommand(
929 ::std::string& error,
930 ::std::vector<::std::string>& errorParams
937 MCAPI ::std::string describe(
939 ::std::string
const& alias,
946 MCAPI ::CommandRegistry::Signature
const* findCommand(::std::string
const&)
const;
948 MCFOLD ::CommandRegistry::Signature* findCommand(::std::string
const& name);
950 MCAPI ::CommandRegistry::Symbol findEnumValue(::std::string
const& name)
const;
952 MCAPI ::CommandRegistry::Symbol findIdentifierInfo(::std::string
const& name)
const;
954 MCAPI ::CommandRegistry::Symbol findPostfix(::std::string
const& input)
const;
956 MCAPI
void fireCommandParseTableTelemetry(
::IMinecraftEventing const& eventing,
bool isServer)
const;
960 MCAPI ::Json::Value generateDocumentationMetadata(
bool generateInternalMetadata)
const;
962 MCAPI ::std::vector<::std::string> getAlphabeticalLookup(
::CommandOrigin const& origin)
const;
964 MCAPI_C ::std::unique_ptr<::AutoCompleteInformation> getAutoCompleteOptions(
966 ::std::string
const& _cmdLine,
967 uint cursorPositionUnsafe
970 MCAPI ::std::string getCommandName(::std::string
const& commandLine)
const;
972 MCAPI ::CommandSyntaxInformation
973 getCommandOverloadSyntaxInformation(
::CommandOrigin const& origin, ::std::string
const& commandName)
const;
977 MCAPI_C ::CommandSyntaxInformation getOverloadSyntaxInformation(
979 ::std::string
const& cmdLine,
983 MCAPI_C
bool isCommandOfType(::std::string
const& nameIn, ::CommandTypeFlag commandType)
const;
996 MCAPI_C ::std::string parsePartialCommand(
998 ::std::string
const& _cmdLine,
1003 MCAPI
bool parseSelector(
1008 ::std::string& error,
1009 ::std::vector<::std::string>& errorParams
1012 MCAPI_C
void popState();
1014 MCAPI_C
void pushState();
1016 MCAPI
void registerAlias(::std::string name, ::std::string alias);
1018 MCAPI
void registerCommand(
1019 ::std::string
const& name,
1020 char const* description,
1021 ::CommandPermissionLevel requirement,
1026 MCAPI
void registerOverload(
1027 char const* command,
1028 ::CommandVersion version,
1029 ::std::function<::std::unique_ptr<::Command>()> allocFn,
1030 ::std::vector<::CommandParameterData> params
1033 MCAPI
void registerOverloadInternal(::CommandRegistry::Signature& signature, ::CommandRegistry::Overload& overload);
1035 MCAPI
void removeSoftEnumValues(::std::string
const& enumName, ::std::vector<::std::string> values);
1037 MCAPI ::AvailableCommandsPacket serializeAvailableCommands()
const;
1039 MCAPI
void setCommandRegistrationOverride(CommandOverrideFunctor functor);
1041 MCAPI
void setSoftEnumValues(::std::string
const& enumName, ::std::vector<::std::string> values);
1043 MCAPI
void setupChainedSubcommandOverloadRules(::CommandRegistry::Signature& signature);
1045 MCAPI
void setupOverloadRules(::CommandRegistry::Signature& signature);
1047 MCAPI ::std::string symbolToString(::CommandRegistry::Symbol symbol)
const;
1049 MCAPI ~CommandRegistry();
1055 MCAPI_C static ::BlockType
const* _getBlockFromCmdParameters(::std::string
const& parameters);
1057 MCAPI static ::std::string _removeStringQuotes(::std::string
const& str);
1059 MCFOLD static ::CommandRegistry::ParseToken*
1060 collapse(::CommandRegistry::ParseToken& parent, ::CommandRegistry::Symbol symbol);
1062 MCAPI static ::CommandRegistry::ParseToken* collapseOn(
1063 ::CommandRegistry::ParseToken& parent,
1064 ::CommandRegistry::Symbol symbol,
1065 ::CommandRegistry::Symbol boundSymbol
1068 MCAPI static ::CommandRegistry::ParseToken*
1069 expand(::CommandRegistry::ParseToken& parent, ::CommandRegistry::Symbol symbol);
1071 MCAPI static ::CommandRegistry::ParseToken* expandExcept(
1072 ::CommandRegistry::ParseToken& parent,
1073 ::CommandRegistry::Symbol symbol,
1074 ::CommandRegistry::Symbol boundSymbol
1077 MCAPI static ::CommandRegistry::ParseToken* fold(
1078 ::CommandRegistry::ParseToken& parent,
1079 ::CommandRegistry::Symbol symbol,
1080 ::CommandRegistry::Symbol boundSymbol
1083 MCAPI static ::CommandRegistry::ParseToken*
1084 kill(::CommandRegistry::ParseToken& parent, ::CommandRegistry::Symbol symbol);
1086 MCAPI
static bool readFloat(
1088 ::CommandRegistry::ParseToken
const& token,
1089 ::std::string& error,
1090 ::std::vector<::std::string>& errorParams
1093 MCAPI
static bool readInt(
1095 ::CommandRegistry::ParseToken
const& token,
1096 ::std::string& error,
1097 ::std::vector<::std::string>& errorParams
1100 MCAPI
static bool readRelativeCoordinate(
1103 ::CommandRegistry::ParseToken
const& token,
1104 bool readIntegerAsCentered,
1105 ::std::string& error,
1106 ::std::vector<::std::string>& errorParams
1109 MCAPI
static bool readString(
1110 ::std::string& value,
1111 ::CommandRegistry::ParseToken
const& token,
1112 ::std::string& error,
1113 ::std::vector<::std::string>& errorParams
1120 MCAPI
static char const*& CODE_STATUS_PROPERTY_NAME();
1122 MCAPI
static char const*& COMMAND_NAME_ENUM_NAME();
1124 MCAPI
static char const*& FUNCTION_NAME_SOFTENUM_NAME();
1126 MCAPI
static char const*& HASITEM_PARAM_DATA();
1128 MCAPI
static char const*& HASITEM_PARAM_ITEM();
1130 MCAPI
static char const*& HASITEM_PARAM_LOCATION();
1132 MCAPI
static char const*& HASITEM_PARAM_QUANTITY();
1134 MCAPI
static char const*& HASITEM_PARAM_SLOT();
1136 MCAPI
static char const*& HASPERMISSIONSTATE_ENUM_DISABLED();
1138 MCAPI
static char const*& HASPERMISSIONSTATE_ENUM_ENABLED();
1140 MCAPI
static char const*& HASPROPERTY_PARAM_PROPERTY_NAME();
1142 MCAPI static ::std::add_lvalue_reference_t<::std::pair<
1143 bool (CommandRegistry::*)(
1145 ::CommandRegistry::ParseToken
const&,
1146 ::CommandOrigin
const&,
1149 ::std::vector<::std::string>&
1151 ::CommandRegistry::Symbol>
const[]>
1154 MCAPI
static char const*& TAG_VALUES_SOFTENUM_NAME();
1156 MCAPI
static char const*& UNLOCKABLE_RECIPES_SOFTENUM_NAME();
1162 MCAPI
void* $ctor(
bool isEduMode);