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

Classes

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

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 ValueTypeID = uint64
 
using EnumValueID = uint64
 
using EnumID = uint
 
using SoftEnumID = uint
 
using ChainedSubcommandValueID = uint64
 
using ChainedSubcommandID = uint
 
using SemanticConstraintID = uchar
 
using ConstrainedValueID = uint
 
using ConstrainedValueLookupKey = ::std::pair<uint64, uint>
 
using CommandOverrideFunctor
 
using ScoreboardScoreAccessor = ::std::function<int(bool&, ::std::string const&, ::Actor const&)>
 
using HardTerminal = ::CommandLexer::TokenType
 
using NonTerminal = ::CommandRegistry::Symbol
 
using Terminal = ::CommandRegistry::Symbol
 
using SymbolVector = ::std::vector<::CommandRegistry::Symbol>
 
using SymbolSet
 
using ParseMap
 
using ProcessFunction
 
using RuleIndex = int
 
using ParseFunction
 
using EnumConversionFunction = ::std::function<void(void*, uint64)>
 
using ChainedSubcommandConversionFunction = ::std::function<void(void*, uint64)>
 
using PredictTable
 
using ParamVisitCallback
 
using CommandVisitCallback = ::std::function<bool(::CommandRegistry::ParseToken const*, ::CommandOrigin const&)>
 
using ParseTableMap = ::std::map<uint, ::CommandRegistry::ParseTable>
 

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::*signature)(void *, ::CommandRegistry::ParseToken const &, ::CommandOrigin const &, int, ::std::string &, ::std::vector<::std::string > &) const, ::CommandRegistry::Signature *parse)
 
MCAPI::CommandRegistry::Symbol _addChainedSubcommandValuesInternal (::std::string const &name, ::std::vector<::std::pair< uint64, uint > > const &values, ::Bedrock::typeid_t<::CommandRegistry > type, bool(CommandRegistry::*signature)(void *, ::CommandRegistry::ParseToken const &, ::CommandOrigin const &, int, ::std::string &, ::std::vector<::std::string > &) const, ::CommandRegistry::Signature *parse)
 
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 _isCommandElementValid (::std::string const &name) const
 
MCAPI bool _matchesEnumConstraintsSet (::CommandRegistry::Symbol const &commandParamSymbol, ::CommandOrigin const &origin, ::CommandRegistry::Symbol const &value, ::SemanticConstraint requiredConstraints) 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 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 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 &alias, ::std::string const &overload, ::CommandRegistry::Overload const &highlight, uint start, uint *length, uint *command) 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 > getAliases (::std::string const &command) const
 
MCAPI ::std::vector<::std::string > getAlphabeticalLookup (::CommandOrigin const &origin) 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 bool isValid (::CommandRegistry::Symbol symbol) const
 
MCAPI bool originCanRun (::CommandOrigin const &origin, ::CommandRegistry::Signature const &command) const
 
MCAPI bool originCanRun (::CommandOrigin const &origin, ::CommandRegistry::Overload const &overload) 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 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 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 ::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

◆ CommandOverrideFunctor

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

◆ SymbolSet

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

◆ ParseMap

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

◆ ProcessFunction

using CommandRegistry::ProcessFunction

◆ ParseFunction

using CommandRegistry::ParseFunction
Initial value:
bool (::CommandRegistry::*)(void*, ::CommandRegistry::ParseToken const&, ::CommandOrigin const&, int, ::std::string&, ::std::vector<::std::string>&)
const
Definition CommandOrigin.h:32
Definition CommandRegistry.h:44

◆ PredictTable

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

◆ ParamVisitCallback

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

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