50class CommandRegistry {
77 using ParseFunction = bool (::CommandRegistry::*)(
83 ::std::vector<::std::string>&
86 enum class HardNonTerminal :
int {
92 WildcardInt = 1048581,
94 CompareOperator = 1048583,
96 StandaloneSelection = 1048585,
97 WildcardSelection = 1048586,
98 NonIdSelector = 1048587,
100 ScoresArgs = 1048589,
101 ScoreSelectParam = 1048590,
102 ScoreSelector = 1048591,
103 TagSelector = 1048592,
105 FilePathVal = 1048594,
106 FilePathCont = 1048595,
107 IntegerRangeVal = 1048596,
108 IntegerRangePostVal = 1048597,
109 IntegerRange = 1048598,
110 FullIntegerRange = 1048599,
111 RationalRangeVal = 1048600,
112 RationalRangePostVal = 1048601,
113 RationalRange = 1048602,
114 FullRationalRange = 1048603,
123 HasPermissionArg = 1048612,
124 HasPermissionArgs = 1048613,
125 HasPermissionSelector = 1048614,
126 HasPermissionElement = 1048615,
127 HasPermissionElements = 1048616,
129 HasItemElement = 1048618,
130 HasItemElements = 1048619,
131 HasItemArg = 1048620,
132 HasItemArgs = 1048621,
133 HasItemSelector = 1048622,
134 EquipmentSlotEnum = 1048623,
135 PropertyValue = 1048624,
136 HasPropertyParamValue = 1048625,
137 HasPropertyParamEnumValue = 1048626,
138 HasPropertyArg = 1048627,
139 HasPropertyArgs = 1048628,
140 HasPropertyElement = 1048629,
141 HasPropertyElements = 1048630,
142 HasPropertySelector = 1048631,
148 CoordXFloat = 1048637,
149 CoordYFloat = 1048638,
150 CoordZFloat = 1048639,
152 PositionFloat = 1048641,
153 MessageExp = 1048642,
155 MessageRoot = 1048644,
156 PostSelector = 1048645,
158 RawTextCont = 1048647,
161 JsonObject = 1048650,
162 JsonObjectFields = 1048651,
163 JsonObjectCont = 1048652,
165 JsonArrayValues = 1048654,
166 JsonArrayCont = 1048655,
168 BlockStateKey = 1048657,
169 BlockStateValue = 1048658,
170 BlockStateValues = 1048659,
171 BlockStateArray = 1048660,
172 BlockStateArrayCont = 1048661,
174 SlashCommand = 1048663,
175 CodeBuilderArg = 1048664,
176 CodeBuilderArgs = 1048665,
177 CodeBuilderSelectParam = 1048666,
178 CodeBuilderSelector = 1048667,
185 ::ll::TypedStorage<4, 4, uint> signatureCount;
186 ::ll::TypedStorage<4, 4, uint> enumValueCount;
187 ::ll::TypedStorage<4, 4, uint> postfixCount;
188 ::ll::TypedStorage<4, 4, uint> enumCount;
189 ::ll::TypedStorage<4, 4, uint> enumLookupCount;
190 ::ll::TypedStorage<4, 4, uint> typeLookupCount;
191 ::ll::TypedStorage<4, 4, uint> factorizationCount;
192 ::ll::TypedStorage<4, 4, uint> optionalCount;
193 ::ll::TypedStorage<4, 4, uint> ruleCount;
194 ::ll::TypedStorage<4, 4, uint> softEnumCount;
195 ::ll::TypedStorage<4, 4, uint> constraintCount;
196 ::ll::TypedStorage<4, 4, uint> chainedSubcommandCount;
197 ::ll::TypedStorage<4, 4, uint> chainedSubcommandValueCount;
198 ::ll::TypedStorage<8, 24, ::std::vector<uint>> enumValuesCount;
199 ::ll::TypedStorage<8, 24, ::std::vector<uint>> constrainedValueCount;
200 ::ll::TypedStorage<8, 24, ::std::vector<uint>> softEnumValuesCount;
221 ::std::vector<::std::string> mValues;
229 static int const NonTerminalBit = 0x100000;
230 static int const EnumBit = 0x200000;
231 static int const OptionalBit = 0x400000;
232 static int const FactorizationBit = 0x800000;
233 static int const PostfixBit = 0x1000000;
234 static int const EnumValueBit = 0x2000000;
235 static int const SoftEnumBit = 0x4000000;
239 Symbol(
int val) : mValue(val) {}
242 Symbol(Symbol
const& other) : mValue(other.mValue) {}
244 Symbol(HardNonTerminal data) : mValue(
static_cast<int>(data)) {}
246 Symbol(CommandLexer::TokenType data) : mValue(
static_cast<int>(data)) {}
248 Symbol& operator=(Symbol
const& other) {
249 mValue = other.mValue;
253 [[nodiscard]]
inline bool operator==(Symbol
const& other)
const {
return mValue == other.mValue; }
255 uint64 toIndex()
const {
return mValue & 0xffffffffe00fffffull; }
262 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> mValue;
263 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> mEnum;
264 ::ll::TypedStorage<8, 24, ::std::vector<uchar>> mConstraints;
272 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> commandSymbol;
276 struct LexicalToken {
284 ::CommandRegistry
const& mRegistry;
289 LexicalToken& operator=(LexicalToken
const&);
290 LexicalToken(LexicalToken
const&);
304 ::ll::TypedStorage<4, 4, int> parameterCount;
305 ::ll::TypedStorage<4, 4, int> followingRuleIndex;
306 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> paramSymbol;
320 ::std::vector<::CommandParameterData> params;
323 ::std::vector<::CommandRegistry::Symbol> paramsSymbol;
327 struct ParamSymbols {
331 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> x;
332 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> y;
333 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> z;
334 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> dx;
335 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> dy;
336 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> dz;
337 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> r;
338 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> rm;
339 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> rx;
340 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> rxm;
341 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> ry;
342 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> rym;
343 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> l;
344 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> lm;
345 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> c;
346 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> m;
347 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> name;
348 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> type;
349 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> family;
350 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> score;
351 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> tag;
352 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> hasitem;
353 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> haspermission;
354 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> hasproperty;
355 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> codebuilder;
361 MCAPI ParamSymbols();
375 ::std::unique_ptr<::CommandRegistry::ParseToken> child;
376 ::std::unique_ptr<::CommandRegistry::ParseToken> next;
386 MCAPI ::std::string toString()
const;
397 ::std::vector<::std::pair<uint64, uint>> values;
420 ::std::vector<::std::pair<uint64, uint64>> values;
440 ::ll::TypedStorage<4, 4, ::CommandRegistry::Symbol> nonTerminal;
446 ::ll::TypedStorage<8, 24, ::std::vector<::CommandRegistry::Symbol>> derivation;
447 ::ll::TypedStorage<4, 8, ::CommandVersion> versions;
452 ParseRule& operator=(ParseRule
const&);
453 ParseRule(ParseRule
const&);
467 ::ll::TypedStorage<1, 1, bool> mIsValid;
468 ::ll::TypedStorage<8, 24, ::std::vector<::CommandRegistry::Symbol>> mConstrainedParams;
469 ::ll::TypedStorage<8, 32, ::std::string> mSoftEnumText;
470 ::ll::TypedStorage<8, 32, ::std::string> mSoftEnumEscapeCharExceptions;
471 ::ll::TypedStorage<8, 16, ::std::set<::CommandRegistry::Symbol>> mAlreadyCompletedSymbols;
496 ::std::string description;
497 ::std::vector<::CommandRegistry::Overload> overloads;
498 ::std::vector<uint> chainedSubcommandIndexes;
499 ::CommandPermissionLevel permissionLevel;
504 int firstFactorization;
512 Signature& operator=(Signature
const&);
513 Signature(Signature
const&);
547 ::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>>
552 ::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>>
556 ::std::pair<::CommandRegistry::Symbol, ::CommandRegistry::Symbol>,
559 ::std::equal_to<void>>
562 ::std::chrono::nanoseconds buildDuration;
570 ::ll::TypedStorage<8, 8, ::CommandRegistry const&> mRegistry;
571 ::ll::TypedStorage<8, 8, ::CommandRegistry::ParseTable const*> mParseTable;
572 ::ll::TypedStorage<8, 40, ::std::deque<::std::pair<::CommandRegistry::Symbol, ::CommandRegistry::ParseToken*>>>
574 ::ll::TypedStorage<8, 32, ::CommandRegistry::LexicalToken> mNext;
575 ::ll::TypedStorage<8, 32, ::std::string> mInput;
576 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CommandRegistry::ParseToken>> mRoot;
577 ::ll::TypedStorage<8, 32, ::std::string> mError;
578 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mErrorParams;
579 ::ll::TypedStorage<4, 4, int> mVersion;
580 ::ll::TypedStorage<1, 1, bool> mGenerateParams;
581 ::ll::TypedStorage<1, 1, bool> mBreakAtEnd;
586 Parser& operator=(Parser
const&);
587 Parser(Parser
const&);
593 MCAPI Parser(::CommandRegistry
const& registry,
int version);
595 MCAPI
bool _parse(::std::string
const& in);
597 MCAPI ::std::unique_ptr<::CommandSelector<::Actor>>
598 createSelector(::std::string
const& selectorString,
::CommandOrigin const& origin);
600 MCAPI ::std::vector<::std::string> getErrorParams()
const;
602 MCAPI
bool parseCommand(::std::string
const& in);
604 MCAPI
bool parseSelector(::std::string
const& in);
612 MCAPI
void* $ctor(::CommandRegistry
const& registry,
int version);
622 using ChainedSubcommandConversionFunction = ::std::function<void(
void*, uint64)>;
624 using ChainedSubcommandID = uint;
626 using ChainedSubcommandValueID = uint64;
628 using CommandOverrideFunctor =
629 ::std::function<void(::std::string
const&,
::CommandFlag&, ::CommandPermissionLevel&)>;
633 using ConstrainedValueID = uint;
635 using ConstrainedValueLookupKey = ::std::pair<uint64, uint>;
637 using CustomStorageGetFn =
void* (*)(
::Command*,
int);
639 using CustomStorageIsSetFn =
bool* (*)(
::Command*,
int);
641 using EnumConversionFunction = ::std::function<void(
void*, uint64)>;
645 using EnumValueID = uint64;
647 using HardTerminal = ::CommandLexer::TokenType;
651 using ParamVisitCallback = ::std::function<
654 using ParseMap = ::std::map<
656 ::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>>;
658 using ParseTableMap = ::std::map<uint, ::CommandRegistry::ParseTable>;
660 using PredictTable = ::entt::dense_map<
661 ::std::pair<::CommandRegistry::Symbol, ::CommandRegistry::Symbol>,
664 ::std::equal_to<void>>;
666 using ProcessFunction =
669 using RuleIndex = int;
671 using ScoreboardScoreAccessor = ::std::function<int(
bool&, ::std::string
const&,
::Actor const&)>;
673 using SemanticConstraintID = uchar;
675 using SoftEnumID = uint;
678 ::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>;
680 using SymbolVector = ::std::vector<::CommandRegistry::Symbol>;
684 using ValueTypeID = uint64;
689 ::std::function<void(
::Packet const&)> mNetworkUpdateCallback;
690 ScoreboardScoreAccessor mGetScoreForObjective;
692 ::std::vector<::CommandRegistry::ParseRule> mRules;
693 ::std::map<uint, ::CommandRegistry::ParseTable> mParseTables;
694 ::std::vector<::CommandRegistry::OptionalParameterChain> mOptionals;
695 ::std::vector<::std::string> mEnumValues;
696 ::std::vector<::CommandRegistry::Enum> mEnums;
697 ::std::vector<::std::string> mChainedSubcommandValues;
698 ::std::vector<::CommandRegistry::ChainedSubcommand> mChainedSubcommands;
699 ::std::vector<::CommandRegistry::Factorization> mFactorizations;
700 ::std::vector<::std::string> mPostfixes;
701 ::std::map<::std::string, uint> mEnumLookup;
702 ::std::map<::std::string, uint64> mEnumValueLookup;
703 ::std::map<::std::string, uint> mChainedSubcommandLookup;
704 ::std::map<::std::string, uint64> mChainedSubcommandValueLookup;
705 ::std::vector<::CommandRegistry::Symbol> mCommandSymbols;
706 ::std::map<::std::string, ::CommandRegistry::Signature> mSignatures;
707 ::std::map<::Bedrock::typeid_t<::CommandRegistry>,
int> mTypeLookup;
708 ::std::map<::std::string, ::std::string> mAliases;
709 ::std::vector<::SemanticConstraint> mSemanticConstraints;
710 ::std::map<::SemanticConstraint, uchar> mSemanticConstraintLookup;
711 ::std::vector<::CommandRegistry::ConstrainedValue> mConstrainedValues;
712 ::std::map<::std::pair<uint64, uint>, uint> mConstrainedValueLookup;
713 ::std::vector<::CommandRegistry::SoftEnum> mSoftEnums;
714 ::std::map<::std::string, uint> mSoftEnumLookup;
715 ::std::vector<::CommandRegistry::RegistryState> mStateStack;
717 ::std::unordered_set<int> mSkipOnEpsAutocompleteSymbols;
718 ::std::unordered_set<int> mAllowEmptySymbols;
719 CommandOverrideFunctor mCommandOverrideFunctor;
720 ::std::unique_ptr<::CommandRunStats> mCommandRunStats;
725 ::std::string
const&,
726 ::std::unordered_map<::mce::UUID, ::PlayerListEntry>
const&,
729 mAutoCompletePlayerMention;
739 std::vector<std::string>& errorParams
742 template <
class E,
class C>
749 std::vector<std::string>& errorParams
752 uint64 getEnumData(
ParseToken const& token)
const {
753 auto& values = mEnums[token.type.toIndex()].values;
754 return std::lower_bound(
757 token.child->type.toIndex(),
758 [](
auto& pair,
auto& child) { return pair.first < child; }
771 MCAPI ::CommandRegistry::Symbol _addChainedSubcommandValuesInternal(
772 ::std::string
const& name,
773 ::std::vector<::std::pair<::std::string, uint>>
const& strings,
781 ::std::vector<::std::string>&
786 MCAPI ::CommandRegistry::Symbol _addChainedSubcommandValuesInternal(
787 ::std::string
const& name,
788 ::std::vector<::std::pair<uint64, uint>>
const& values,
796 ::std::vector<::std::string>&
801 MCAPI ::CommandRegistry::Symbol _addEnumValuesInternal(
802 ::std::string
const& name,
803 ::std::vector<::std::pair<::std::string, uint64>>
const& strings,
811 ::std::vector<::std::string>&
815 MCAPI ::CommandRegistry::Symbol _addEnumValuesInternal(
816 ::std::string
const& name,
817 ::std::vector<::std::pair<uint64, uint64>>
const& values,
825 ::std::vector<::std::string>&
829 MCAPI ::CommandRegistry::Symbol _addFunctionSoftEnum();
831 MCAPI ::std::unique_ptr<::CommandSelector<::Actor>> _createSelector(
835 ::std::string& error,
836 ::std::vector<::std::string>& errorParams
841 MCAPI
bool _matchesEnumConstraintsSet(
845 ::SemanticConstraint requiredConstraints
849 MCAPI ::std::vector<::CommandRegistry::Symbol> _reconstructParseStack(
854 MCAPI ::std::vector<::CommandRegistry::Symbol> _reconstructParseStack(
855 ::std::vector<::CommandParameterData>
const& params,
862 MCAPI
void addChainedSubcommandValuesToExisting(uint index, ::std::vector<::std::pair<uint64, uint>>
const& values);
864 MCAPI
void addEnumValueConstraints(
865 ::std::string
const& enumName,
866 ::std::vector<::std::string>
const& values,
867 ::SemanticConstraint constraints
870 MCAPI
int addEnumValues(::std::string
const& name, ::std::vector<::std::string>
const& values);
872 MCAPI
void addEnumValuesToExisting(uint index, ::std::vector<::std::pair<uint64, uint64>>
const& values);
874 MCAPI ::CommandRegistry::Symbol addPostfix(::std::string
const& name);
878 ::std::vector<::CommandRegistry::Symbol> derivation,
884 MCAPI
void addSemanticConstraint(::SemanticConstraint constraintType);
886 MCAPI
int addSoftEnum(::std::string
const& name, ::std::vector<::std::string> values);
888 MCAPI
void addSoftEnumValues(::std::string
const& enumName, ::std::vector<::std::string> values);
890 MCAPI ::CommandRegistry::Symbol addSoftTerminal(::std::string
const& name);
893 MCAPI
void autoComplete(
895 ::std::string
const& cmdLine,
896 ::std::string
const& partialMatch,
903 MCAPI
void autoCompleteCommand(
904 ::std::string
const& partialMatch,
912 MCAPI
void buildFollowSet(
916 ::std::set<::CommandRegistry::Symbol>& workingSet
919 MCAPI ::CommandRegistry::Symbol buildOptionalRuleChain(
921 ::std::vector<::CommandParameterData>
const& params,
922 ::std::vector<::CommandRegistry::Symbol>
const& symbols
925 MCAPI ::CommandRegistry::Symbol buildOptionalRuleChain(
927 ::std::vector<::CommandParameterData>
const& params,
932 MCAPI
void buildParseTable(uint version)
const;
936 MCAPI ::CommandRegistry::Symbol buildRules(
938 ::std::vector<::gsl::not_null<::CommandRegistry::Overload*>>
const& overloads,
945 MCAPI ::std::unique_ptr<::Command> createCommand(
949 ::std::string& error,
950 ::std::vector<::std::string>& errorParams
957 MCAPI ::std::string describe(
959 ::std::string
const& alias,
966 MCFOLD ::CommandRegistry::Signature
const* findCommand(::std::string
const& name)
const;
968 MCFOLD ::CommandRegistry::Signature* findCommand(::std::string
const& name);
970 MCAPI ::CommandRegistry::Symbol findEnumValue(::std::string
const& name)
const;
972 MCAPI ::CommandRegistry::Symbol findIdentifierInfo(::std::string
const& name)
const;
974 MCAPI ::CommandRegistry::Symbol findPostfix(::std::string
const& input)
const;
976 MCAPI
void fireCommandParseTableTelemetry(
::IMinecraftEventing const& eventing,
bool isServer)
const;
980 MCAPI ::Json::Value generateDocumentationMetadata(
bool generateInternalMetadata)
const;
982 MCAPI ::std::vector<::std::string> getAlphabeticalLookup(
::CommandOrigin const& origin)
const;
985 MCAPI ::std::unique_ptr<::AutoCompleteInformation> getAutoCompleteOptions(
987 ::std::string
const& _cmdLine,
988 uint cursorPositionUnsafe
992 MCAPI ::std::string getCommandName(::std::string
const& commandLine)
const;
994 MCAPI ::CommandSyntaxInformation
995 getCommandOverloadSyntaxInformation(
::CommandOrigin const& origin, ::std::string
const& commandName)
const;
1000 MCAPI ::CommandSyntaxInformation getOverloadSyntaxInformation(
1002 ::std::string
const& cmdLine,
1006 MCAPI
bool isCommandOfType(::std::string
const& nameIn, ::CommandTypeFlag commandType)
const;
1022 MCAPI ::std::string parsePartialCommand(
1024 ::std::string
const& _cmdLine,
1025 uint cursorPosition,
1030 MCAPI
bool parseSelector(
1035 ::std::string& error,
1036 ::std::vector<::std::string>& errorParams
1040 MCAPI
void popState();
1042 MCAPI
void pushState();
1045 MCAPI
void registerAlias(::std::string name, ::std::string alias);
1047 MCAPI
void registerCommand(
1048 ::std::string
const& name,
1049 char const* description,
1050 ::CommandPermissionLevel requirement,
1055 MCAPI
void registerOverload(
1056 char const* command,
1057 ::CommandVersion version,
1058 ::std::function<::std::unique_ptr<::Command>()> allocFn,
1059 ::std::vector<::CommandParameterData> params
1062 MCAPI
void registerOverloadInternal(::CommandRegistry::Signature& signature, ::CommandRegistry::Overload& overload);
1064 MCAPI
void removeSoftEnumValues(::std::string
const& enumName, ::std::vector<::std::string> values);
1066 MCAPI ::AvailableCommandsPacket serializeAvailableCommands()
const;
1068 MCAPI
void setCommandRegistrationOverride(CommandOverrideFunctor functor);
1070 MCAPI
void setSoftEnumValues(::std::string
const& enumName, ::std::vector<::std::string> values);
1072 MCAPI
void setupChainedSubcommandOverloadRules(::CommandRegistry::Signature& signature);
1074 MCAPI
void setupOverloadRules(::CommandRegistry::Signature& signature);
1076 MCAPI ::std::string symbolToString(::CommandRegistry::Symbol symbol)
const;
1078 MCAPI ~CommandRegistry();
1085 MCAPI static ::BlockType
const* _getBlockFromCmdParameters(::std::string
const& parameters);
1088 MCAPI static ::std::string _removeStringQuotes(::std::string
const& str);
1090 MCFOLD static ::CommandRegistry::ParseToken*
1091 collapse(::CommandRegistry::ParseToken& parent, ::CommandRegistry::Symbol symbol);
1093 MCAPI static ::CommandRegistry::ParseToken* collapseOn(
1094 ::CommandRegistry::ParseToken& parent,
1095 ::CommandRegistry::Symbol symbol,
1096 ::CommandRegistry::Symbol boundSymbol
1099 MCAPI static ::CommandRegistry::ParseToken*
1100 expand(::CommandRegistry::ParseToken& parent, ::CommandRegistry::Symbol symbol);
1102 MCAPI static ::CommandRegistry::ParseToken* expandExcept(
1103 ::CommandRegistry::ParseToken& parent,
1104 ::CommandRegistry::Symbol symbol,
1105 ::CommandRegistry::Symbol boundSymbol
1108 MCAPI static ::CommandRegistry::ParseToken* fold(
1109 ::CommandRegistry::ParseToken& parent,
1110 ::CommandRegistry::Symbol symbol,
1111 ::CommandRegistry::Symbol boundSymbol
1114 MCAPI static ::CommandRegistry::ParseToken*
1115 kill(::CommandRegistry::ParseToken& parent, ::CommandRegistry::Symbol symbol);
1117 MCAPI
static bool readFloat(
1119 ::CommandRegistry::ParseToken
const& token,
1120 ::std::string& error,
1121 ::std::vector<::std::string>& errorParams
1124 MCAPI
static bool readInt(
1126 ::CommandRegistry::ParseToken
const& token,
1127 ::std::string& error,
1128 ::std::vector<::std::string>& errorParams
1131 MCAPI
static bool readRelativeCoordinate(
1134 ::CommandRegistry::ParseToken
const& token,
1135 bool readIntegerAsCentered,
1136 ::std::string& error,
1137 ::std::vector<::std::string>& errorParams
1140 MCAPI
static bool readString(
1141 ::std::string& value,
1142 ::CommandRegistry::ParseToken
const& token,
1143 ::std::string& error,
1144 ::std::vector<::std::string>& errorParams
1151 MCAPI
static char const*& CODE_STATUS_PROPERTY_NAME();
1153 MCAPI
static char const*& FUNCTION_NAME_SOFTENUM_NAME();
1155 MCAPI static ::std::add_lvalue_reference_t<::std::pair<
1156 bool (CommandRegistry::*)(
1158 ::CommandRegistry::ParseToken
const&,
1159 ::CommandOrigin
const&,
1162 ::std::vector<::std::string>&
1164 ::CommandRegistry::Symbol>
const[]>
1171 MCAPI
void* $ctor(::CommandRegistryArguments args);