LeviLamina
Loading...
Searching...
No Matches
CommandRegistry Class Reference

Classes

struct  RegistryState
struct  SoftEnum
class  Symbol
struct  ConstrainedValue
struct  Factorization
struct  LexicalToken
struct  OptionalParameterChain
struct  Overload
struct  ParamSymbols
struct  ParseToken
struct  ChainedSubcommand
struct  Enum
struct  ParseRule
struct  SemanticInfo
struct  Signature
struct  SymbolHasher
struct  SymbolPairHasher
struct  ParseTable
class  Parser

Public Types

enum class  HardNonTerminal : int {
  Epsilon = 1048576 , Int = 1048577 , Float = 1048578 , Val = 1048579 ,
  RVal = 1048580 , WildcardInt = 1048581 , Operator = 1048582 , CompareOperator = 1048583 ,
  Selection = 1048584 , StandaloneSelection = 1048585 , WildcardSelection = 1048586 , NonIdSelector = 1048587 ,
  ScoresArg = 1048588 , ScoresArgs = 1048589 , ScoreSelectParam = 1048590 , ScoreSelector = 1048591 ,
  TagSelector = 1048592 , FilePath = 1048593 , FilePathVal = 1048594 , FilePathCont = 1048595 ,
  IntegerRangeVal = 1048596 , IntegerRangePostVal = 1048597 , IntegerRange = 1048598 , FullIntegerRange = 1048599 ,
  RationalRangeVal = 1048600 , RationalRangePostVal = 1048601 , RationalRange = 1048602 , FullRationalRange = 1048603 ,
  SelArgs = 1048604 , Args = 1048605 , Arg = 1048606 , MArg = 1048607 ,
  MValue = 1048608 , NameArg = 1048609 , TypeArg = 1048610 , FamilyArg = 1048611 ,
  HasPermissionArg = 1048612 , HasPermissionArgs = 1048613 , HasPermissionSelector = 1048614 , HasPermissionElement = 1048615 ,
  HasPermissionElements = 1048616 , TagArg = 1048617 , HasItemElement = 1048618 , HasItemElements = 1048619 ,
  HasItemArg = 1048620 , HasItemArgs = 1048621 , HasItemSelector = 1048622 , EquipmentSlotEnum = 1048623 ,
  PropertyValue = 1048624 , HasPropertyParamValue = 1048625 , HasPropertyParamEnumValue = 1048626 , HasPropertyArg = 1048627 ,
  HasPropertyArgs = 1048628 , HasPropertyElement = 1048629 , HasPropertyElements = 1048630 , HasPropertySelector = 1048631 ,
  Id = 1048632 , IdCont = 1048633 , CoordXInt = 1048634 , CoordYInt = 1048635 ,
  CoordZInt = 1048636 , CoordXFloat = 1048637 , CoordYFloat = 1048638 , CoordZFloat = 1048639 ,
  Position = 1048640 , PositionFloat = 1048641 , MessageExp = 1048642 , Message = 1048643 ,
  MessageRoot = 1048644 , PostSelector = 1048645 , RawText = 1048646 , RawTextCont = 1048647 ,
  JsonValue = 1048648 , JsonField = 1048649 , JsonObject = 1048650 , JsonObjectFields = 1048651 ,
  JsonObjectCont = 1048652 , JsonArray = 1048653 , JsonArrayValues = 1048654 , JsonArrayCont = 1048655 ,
  BlockState = 1048656 , BlockStateKey = 1048657 , BlockStateValue = 1048658 , BlockStateValues = 1048659 ,
  BlockStateArray = 1048660 , BlockStateArrayCont = 1048661 , Command = 1048662 , SlashCommand = 1048663 ,
  CodeBuilderArg = 1048664 , CodeBuilderArgs = 1048665 , CodeBuilderSelectParam = 1048666 , CodeBuilderSelector = 1048667
}
using ParseFunction
using ChainedSubcommandConversionFunction = ::std::function<void(void*, uint64)>
using ChainedSubcommandID = uint
using ChainedSubcommandValueID = uint64
using CommandOverrideFunctor
using CommandVisitCallback = ::std::function<bool(::CommandRegistry::ParseToken const*, ::CommandOrigin const&)>
using ConstrainedValueID = uint
using ConstrainedValueLookupKey = ::std::pair<uint64, uint>
using CustomStorageGetFn = void* (*)(::Command*, int)
using CustomStorageIsSetFn = bool* (*)(::Command*, int)
using EnumConversionFunction = ::std::function<void(void*, uint64)>
using EnumID = uint
using EnumValueID = uint64
using HardTerminal = ::CommandLexer::TokenType
using NonTerminal = ::CommandRegistry::Symbol
using ParamVisitCallback
using ParseMap
using ParseTableMap = ::std::map<uint, ::CommandRegistry::ParseTable>
using PredictTable
using ProcessFunction
using RuleIndex = int
using ScoreboardScoreAccessor = ::std::function<int(bool&, ::std::string const&, ::Actor const&)>
using SemanticConstraintID = uchar
using SoftEnumID = uint
using SymbolSet
using SymbolVector = ::std::vector<::CommandRegistry::Symbol>
using Terminal = ::CommandRegistry::Symbol
using ValueTypeID = uint64

Public Member Functions

template<class T>
bool parse (void *storage, CommandRegistry::ParseToken const &token, CommandOrigin const &origin, int version, std::string &error, std::vector< std::string > &errorParams) const
template<class E, class C>
bool parseEnum (void *storage, CommandRegistry::ParseToken const &token, CommandOrigin const &origin, int version, std::string &error, std::vector< std::string > &errorParams) const
uint64 getEnumData (ParseToken const &token) const
MCAPI CommandRegistry (bool isEduMode)
MCAPI::CommandRegistry::Symbol _addChainedSubcommandValuesInternal (::std::string const &name, ::std::vector<::std::pair<::std::string, uint > > const &strings, ::Bedrock::typeid_t<::CommandRegistry > type, bool(CommandRegistry::*parse)(void *, ::CommandRegistry::ParseToken const &, ::CommandOrigin const &, int, ::std::string &, ::std::vector<::std::string > &) const, ::CommandRegistry::Signature *signature)
MCAPI::CommandRegistry::Symbol _addChainedSubcommandValuesInternal (::std::string const &name, ::std::vector<::std::pair< uint64, uint > > const &values, ::Bedrock::typeid_t<::CommandRegistry > type, bool(CommandRegistry::*parse)(void *, ::CommandRegistry::ParseToken const &, ::CommandOrigin const &, int, ::std::string &, ::std::vector<::std::string > &) const, ::CommandRegistry::Signature *signature)
MCAPI::CommandRegistry::Symbol _addEnumValuesInternal (::std::string const &name, ::std::vector<::std::pair<::std::string, uint64 > > const &strings, ::Bedrock::typeid_t<::CommandRegistry > type, bool(CommandRegistry::*parse)(void *, ::CommandRegistry::ParseToken const &, ::CommandOrigin const &, int, ::std::string &, ::std::vector<::std::string > &) const)
MCAPI::CommandRegistry::Symbol _addEnumValuesInternal (::std::string const &name, ::std::vector<::std::pair< uint64, uint64 > > const &values, ::Bedrock::typeid_t<::CommandRegistry > type, bool(CommandRegistry::*parse)(void *, ::CommandRegistry::ParseToken const &, ::CommandOrigin const &, int, ::std::string &, ::std::vector<::std::string > &) const)
MCAPI::CommandRegistry::Symbol _addFunctionSoftEnum ()
MCAPI ::std::unique_ptr<::CommandSelector<::Actor > > _createSelector (::CommandRegistry::ParseToken const &root, ::CommandOrigin const &origin, int version, ::std::string &error, ::std::vector<::std::string > &errorParams) const
MCAPI::CommandRegistry::Symbol _getConstrainedParamEnumSymbol (::CommandRegistry::Symbol symbol) const
MCAPI bool _matchesEnumConstraintsSet (::CommandRegistry::Symbol const &commandParamSymbol, ::CommandOrigin const &origin, ::CommandRegistry::Symbol const &value, ::SemanticConstraint requiredConstraints) const
MCAPI_C ::std::vector<::CommandRegistry::Symbol_reconstructParseStack (::CommandRegistry::ParseToken const *paramTree, ::CommandRegistry::SemanticInfo &semanticInfo) const
MCAPI_C ::std::vector<::CommandRegistry::Symbol_reconstructParseStack (::std::vector<::CommandParameterData > const &params, uint matchedParams, ::CommandRegistry::ParseToken const *commandParseTree, ::CommandRegistry::SemanticInfo &semanticInfo) const
MCAPI void addChainedSubcommandValuesToExisting (uint index, ::std::vector<::std::pair< uint64, uint > > const &values)
MCAPI void addEnumValueConstraints (::std::string const &enumName, ::std::vector<::std::string > const &values, ::SemanticConstraint constraints)
MCAPI int addEnumValues (::std::string const &name, ::std::vector<::std::string > const &values)
MCAPI void addEnumValuesToExisting (uint index, ::std::vector<::std::pair< uint64, uint64 > > const &values)
MCAPI::CommandRegistry::Symbol addPostfix (::std::string const &name)
MCAPI void addRule (::CommandRegistry::Symbol symbol, ::std::vector<::CommandRegistry::Symbol > derivation, ::std::function<::CommandRegistry::ParseToken *(::CommandRegistry::ParseToken &, ::CommandRegistry::Symbol)> process, ::CommandVersion versions)
MCAPI void addSemanticConstraint (::SemanticConstraint constraintType)
MCAPI int addSoftEnum (::std::string const &name, ::std::vector<::std::string > values)
MCAPI void addSoftEnumValues (::std::string const &enumName, ::std::vector<::std::string > values)
MCAPI::CommandRegistry::Symbol addSoftTerminal (::std::string const &name)
MCAPI_C void autoComplete (::CommandRegistry::Symbol symbol, ::std::string const &cmdLine, ::std::string const &partialMatch, bool newWord, ::CommandOrigin const &origin, ::AutoCompleteInformation &info, ::CommandRegistry::SemanticInfo &semanticInfo) const
MCAPI_C void autoCompleteCommand (::std::string const &partialMatch, ::CommandOrigin const &origin, ::AutoCompleteInformation &info) const
MCAPI void buildFirstSet (::CommandRegistry::ParseTable &table, ::CommandRegistry::Symbol t, uint version) const
MCAPI void buildFollowSet (::CommandRegistry::ParseTable &table, ::CommandRegistry::Symbol t, uint version, ::std::set<::CommandRegistry::Symbol > &workingSet) const
MCAPI::CommandRegistry::Symbol buildOptionalRuleChain (::CommandRegistry::Signature const &signature, ::std::vector<::CommandParameterData > const &params, ::std::vector<::CommandRegistry::Symbol > const &symbols)
MCAPI::CommandRegistry::Symbol buildOptionalRuleChain (::CommandRegistry::Signature const &signature, ::std::vector<::CommandParameterData > const &params, ::CommandParameterData const *firstOptional, uint64 count)
MCAPI void buildParseTable (uint version) const
MCAPI void buildPredictTable (::CommandRegistry::ParseTable &table, uint version) const
MCAPI::CommandRegistry::Symbol buildRules (::CommandRegistry::Signature &signature, ::std::vector<::gsl::not_null<::CommandRegistry::Overload * > > const &overloads, uint64 firstParam)
MCAPI bool buildSelector (::ActorSelectorArgs const &args, ::CommandSelectorBase *output, ::std::string &error) const
MCAPI ::std::unique_ptr<::CommandcreateCommand (::CommandRegistry::ParseToken const &root, ::CommandOrigin const &origin, int version, ::std::string &error, ::std::vector<::std::string > &errorParams) const
MCAPI::std::string describe (::CommandParameterData const &param) const
MCAPI::std::string describe (::CommandRegistry::Symbol symbol) const
MCAPI::std::string describe (::CommandRegistry::Signature const &command, ::std::string const &alias, ::CommandRegistry::Overload const &overload, uint highlight, uint *start, uint *length) const
MCAPI::CommandRegistry::Signature const * findCommand (::std::string const &) const
MCFOLD::CommandRegistry::Signature * findCommand (::std::string const &name)
MCAPI::CommandRegistry::Symbol findEnumValue (::std::string const &name) const
MCAPI::CommandRegistry::Symbol findIdentifierInfo (::std::string const &name) const
MCAPI::CommandRegistry::Symbol findPostfix (::std::string const &input) const
MCAPI void fireCommandParseTableTelemetry (::IMinecraftEventing const &eventing, bool isServer) const
MCAPI void forEachNonTerminal (::std::function< void(::CommandRegistry::Symbol)> func) const
MCAPI::Json::Value generateDocumentationMetadata (bool generateInternalMetadata) const
MCAPI ::std::vector<::std::string > getAlphabeticalLookup (::CommandOrigin const &origin) const
MCAPI_C ::std::unique_ptr<::AutoCompleteInformationgetAutoCompleteOptions (::CommandOrigin const &origin, ::std::string const &_cmdLine, uint cursorPositionUnsafe) const
MCAPI::std::string getCommandName (::std::string const &commandLine) const
MCAPI::CommandSyntaxInformation getCommandOverloadSyntaxInformation (::CommandOrigin const &origin, ::std::string const &commandName) const
MCAPI ::InvertableFilter<::std::string > getInvertableFilter (::CommandRegistry::ParseToken const &token) const
MCAPI_C::CommandSyntaxInformation getOverloadSyntaxInformation (::CommandOrigin const &origin, ::std::string const &cmdLine, uint cursorPosition) const
MCAPI_C bool isCommandOfType (::std::string const &nameIn, ::CommandTypeFlag commandType) const
MCAPI bool isValid (::CommandRegistry::Symbol symbol) const
MCAPI_C void loadRemoteCommands (::AvailableCommandsPacket const &packet)
MCAPI bool originCanRun (::CommandOrigin const &origin, ::CommandRegistry::Signature const &command) const
MCAPI bool originCanRun (::CommandOrigin const &origin, ::CommandRegistry::Overload const &overload) const
MCAPI_C bool originCanRunOverloadWithParam (::CommandOrigin const &origin, ::CommandParameterData const &param) const
MCAPI_C::std::string parsePartialCommand (::CommandRegistry::Parser &parser, ::std::string const &_cmdLine, uint cursorPosition, bool cutLastToken) const
MCAPI bool parseSelector (::ActorSelectorArgs &args, ::CommandRegistry::ParseToken const &token, ::CommandOrigin const &origin, int version, ::std::string &error, ::std::vector<::std::string > &errorParams) const
MCAPI_C void popState ()
MCAPI_C void pushState ()
MCAPI void registerAlias (::std::string name, ::std::string alias)
MCAPI void registerCommand (::std::string const &name, char const *description, ::CommandPermissionLevel requirement, ::CommandFlag f1, ::CommandFlag f2={})
MCAPI void registerOverload (char const *command, ::CommandVersion version, ::std::function<::std::unique_ptr<::Command >()> allocFn, ::std::vector<::CommandParameterData > params)
MCAPI void registerOverloadInternal (::CommandRegistry::Signature &signature, ::CommandRegistry::Overload &overload)
MCAPI void removeSoftEnumValues (::std::string const &enumName, ::std::vector<::std::string > values)
MCAPI::AvailableCommandsPacket serializeAvailableCommands () const
MCAPI void setCommandRegistrationOverride (CommandOverrideFunctor functor)
MCAPI void setSoftEnumValues (::std::string const &enumName, ::std::vector<::std::string > values)
MCAPI void setupChainedSubcommandOverloadRules (::CommandRegistry::Signature &signature)
MCAPI void setupOverloadRules (::CommandRegistry::Signature &signature)
MCAPI::std::string symbolToString (::CommandRegistry::Symbol symbol) const
MCAPI void * $ctor (bool isEduMode)
MCAPI void $dtor ()

Static Public Member Functions

static MCAPI_C ::BlockType const * _getBlockFromCmdParameters (::std::string const &parameters)
static MCAPI ::std::string _removeStringQuotes (::std::string const &str)
static MCFOLD ::CommandRegistry::ParseTokencollapse (::CommandRegistry::ParseToken &parent, ::CommandRegistry::Symbol symbol)
static MCAPI ::CommandRegistry::ParseTokencollapseOn (::CommandRegistry::ParseToken &parent, ::CommandRegistry::Symbol symbol, ::CommandRegistry::Symbol boundSymbol)
static MCAPI ::CommandRegistry::ParseTokenexpand (::CommandRegistry::ParseToken &parent, ::CommandRegistry::Symbol symbol)
static MCAPI ::CommandRegistry::ParseTokenexpandExcept (::CommandRegistry::ParseToken &parent, ::CommandRegistry::Symbol symbol, ::CommandRegistry::Symbol boundSymbol)
static MCAPI ::CommandRegistry::ParseTokenfold (::CommandRegistry::ParseToken &parent, ::CommandRegistry::Symbol symbol, ::CommandRegistry::Symbol boundSymbol)
static MCAPI ::CommandRegistry::ParseTokenkill (::CommandRegistry::ParseToken &parent, ::CommandRegistry::Symbol symbol)
static MCAPI bool readFloat (float &value, ::CommandRegistry::ParseToken const &token, ::std::string &error, ::std::vector<::std::string > &errorParams)
static MCAPI bool readInt (int &value, ::CommandRegistry::ParseToken const &token, ::std::string &error, ::std::vector<::std::string > &errorParams)
static MCAPI bool readRelativeCoordinate (bool &relative, float &offset, ::CommandRegistry::ParseToken const &token, bool readIntegerAsCentered, ::std::string &error, ::std::vector<::std::string > &errorParams)
static MCAPI bool readString (::std::string &value, ::CommandRegistry::ParseToken const &token, ::std::string &error, ::std::vector<::std::string > &errorParams)
static MCAPI char const *& CODE_STATUS_PROPERTY_NAME ()
static MCAPI char const *& COMMAND_NAME_ENUM_NAME ()
static MCAPI char const *& FUNCTION_NAME_SOFTENUM_NAME ()
static MCAPI char const *& HASITEM_PARAM_DATA ()
static MCAPI char const *& HASITEM_PARAM_ITEM ()
static MCAPI char const *& HASITEM_PARAM_LOCATION ()
static MCAPI char const *& HASITEM_PARAM_QUANTITY ()
static MCAPI char const *& HASITEM_PARAM_SLOT ()
static MCAPI char const *& HASPERMISSIONSTATE_ENUM_DISABLED ()
static MCAPI char const *& HASPERMISSIONSTATE_ENUM_ENABLED ()
static MCAPI char const *& HASPROPERTY_PARAM_PROPERTY_NAME ()
static MCAPI ::std::add_lvalue_reference_t<::std::pair< bool(CommandRegistry::*)(void *, ::CommandRegistry::ParseToken const &, ::CommandOrigin const &, int, ::std::string &, ::std::vector<::std::string > &) const, ::CommandRegistry::Symbol > const[]> ParseRuleSymbols ()
static MCAPI char const *& TAG_VALUES_SOFTENUM_NAME ()
static MCAPI char const *& UNLOCKABLE_RECIPES_SOFTENUM_NAME ()

Public Attributes

::std::function< void(::Packet const &)> mNetworkUpdateCallback
ScoreboardScoreAccessor mGetScoreForObjective
bool mIsEduMode
::std::vector<::CommandRegistry::ParseRulemRules
::std::map< uint, ::CommandRegistry::ParseTablemParseTables
::std::vector<::CommandRegistry::OptionalParameterChainmOptionals
::std::vector<::std::string > mEnumValues
::std::vector<::CommandRegistry::EnummEnums
::std::vector<::std::string > mChainedSubcommandValues
::std::vector<::CommandRegistry::ChainedSubcommandmChainedSubcommands
::std::vector<::CommandRegistry::FactorizationmFactorizations
::std::vector<::std::string > mPostfixes
::std::map<::std::string, uint > mEnumLookup
::std::map<::std::string, uint64 > mEnumValueLookup
::std::map<::std::string, uint > mChainedSubcommandLookup
::std::map<::std::string, uint64 > mChainedSubcommandValueLookup
::std::vector<::CommandRegistry::SymbolmCommandSymbols
::std::map<::std::string, ::CommandRegistry::SignaturemSignatures
::std::map<::Bedrock::typeid_t<::CommandRegistry >, int > mTypeLookup
::std::map<::std::string, ::std::string > mAliases
::std::vector<::SemanticConstraint > mSemanticConstraints
::std::map<::SemanticConstraint, uchar > mSemanticConstraintLookup
::std::vector<::CommandRegistry::ConstrainedValuemConstrainedValues
::std::map<::std::pair< uint64, uint >, uint > mConstrainedValueLookup
::std::vector<::CommandRegistry::SoftEnummSoftEnums
::std::map<::std::string, uint > mSoftEnumLookup
::std::vector<::CommandRegistry::RegistryStatemStateStack
::CommandRegistry::ParamSymbols mArgs
::std::unordered_set< int > mSkipOnEpsAutocompleteSymbols
::std::unordered_set< int > mAllowEmptySymbols
CommandOverrideFunctor mCommandOverrideFunctor
::std::unique_ptr<::CommandRunStatsmCommandRunStats

Member Typedef Documentation

◆ ParseFunction

using CommandRegistry::ParseFunction
Initial value:
void*,
int,
::std::string&,
::std::vector<::std::string>&
) const
Definition CommandOrigin.h:32
Definition CommandRegistry.h:47
Definition CommandRegistry.h:368

◆ CommandOverrideFunctor

using CommandRegistry::CommandOverrideFunctor
Initial value:
::std::function<void(::std::string const&, ::CommandFlag&, ::CommandPermissionLevel&)>
Definition CommandFlag.h:43

◆ ParamVisitCallback

using CommandRegistry::ParamVisitCallback
Initial value:
::std::function<
Definition CommandParameterData.h:18

◆ ParseMap

using CommandRegistry::ParseMap
Initial value:
::std::map<
::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>>
Definition CommandRegistry.h:222

◆ PredictTable

using CommandRegistry::PredictTable
Initial value:
::entt::dense_map<
::std::pair<::CommandRegistry::Symbol, ::CommandRegistry::Symbol>,
int,
::std::equal_to<void>>
Definition CommandRegistry.h:532

◆ ProcessFunction

using CommandRegistry::ProcessFunction

◆ SymbolSet

using CommandRegistry::SymbolSet
Initial value:
::entt::dense_set<::CommandRegistry::Symbol, ::CommandRegistry::SymbolHasher, ::std::equal_to<void>>

The documentation for this class was generated from the following files: