36 ::ll::TypedStorage<8, 16, ::mce::UUID> mUUID;
40 CommandOrigin() { mUUID = Crypto::Random::generateUUID(); }
41 LLNDAPI std::string getLocaleCode()
const;
46 virtual ~CommandOrigin() =
default;
48 virtual ::std::string
const& getRequestId()
const = 0;
50 virtual ::std::string getName()
const = 0;
52 virtual ::BlockPos getBlockPosition()
const = 0;
54 virtual ::Vec3 getWorldPosition()
const = 0;
56 virtual ::std::optional<::Vec2> getRotation()
const = 0;
58 virtual ::Level* getLevel()
const = 0;
60 virtual ::Dimension* getDimension()
const = 0;
62 virtual ::Actor* getEntity()
const = 0;
64 virtual ::CommandPermissionLevel getPermissionsLevel()
const = 0;
66 virtual ::std::unique_ptr<::CommandOrigin> clone()
const = 0;
68 virtual ::std::optional<::BlockPos> getCursorHitBlockPos()
const;
70 virtual ::std::optional<::Vec3> getCursorHitPos()
const;
72 virtual bool hasChatPerms()
const;
74 virtual bool hasTellPerms()
const;
76 virtual bool canUseAbility(::AbilitiesIndex ability)
const;
78 virtual bool isWorldBuilder()
const;
80 virtual bool canUseCommandsWithoutCheatsEnabled()
const;
82 virtual bool isSelectorExpansionAllowed()
const;
84 virtual ::NetworkIdentifier
const& getSourceId()
const;
86 virtual ::SubClientId getSourceSubId()
const;
88 virtual ::CommandOrigin
const& getOutputReceiver()
const;
90 virtual ::CommandOriginIdentity getIdentity()
const;
92 virtual ::CommandOriginType getOriginType()
const = 0;
94 virtual ::CommandOriginData toCommandOriginData()
const;
96 virtual ::mce::UUID
const& getUUID()
const;
98 virtual void handleCommandOutputCallback(
int, ::std::string&&)
const;
100 virtual void updateValues();
102 virtual ::Vec3
const getExecutePosition(
int version,
::CommandPositionFloat const& commandPosition)
const;
104 virtual ::CompoundTag serialize()
const;
106 virtual bool isValid()
const = 0;
108 virtual bool requiresValidLevel()
const;
116 MCAPI ::std::unique_ptr<::CommandArea> getAreaAt(
::BlockPos const& pos,
int commandVersion)
const;
118 MCAPI ::std::unique_ptr<::CommandArea>
119 getAreaAt(
::BlockPos const& min,
::BlockPos const& max,
int commandVersion,
bool allowUnloadedChunks)
const;
121 MCAPI ::std::unique_ptr<::CommandArea> getAreaAtWithBuffer(
125 bool allowUnloadedChunks
132 MCAPI static ::std::unique_ptr<::CommandOrigin> fromCommandOriginData(
136 ::SubClientId sourceSubId
143 MCAPI static ::NetworkIdentifier& sUnknownSource();
149 MCFOLD ::std::optional<::BlockPos> $getCursorHitBlockPos()
const;
151 MCFOLD ::std::optional<::Vec3> $getCursorHitPos()
const;
153 MCAPI
bool $hasChatPerms()
const;
155 MCAPI
bool $hasTellPerms()
const;
158 MCFOLD
bool $canUseAbility(::AbilitiesIndex ability)
const;
161 MCAPI
bool $isWorldBuilder()
const;
163 MCFOLD
bool $canUseCommandsWithoutCheatsEnabled()
const;
165 MCAPI
bool $isSelectorExpansionAllowed()
const;
167 MCAPI ::NetworkIdentifier
const& $getSourceId()
const;
169 MCFOLD ::SubClientId $getSourceSubId()
const;
171 MCFOLD ::CommandOrigin
const& $getOutputReceiver()
const;
173 MCAPI ::CommandOriginIdentity $getIdentity()
const;
175 MCAPI ::CommandOriginData $toCommandOriginData()
const;
177 MCFOLD ::mce::UUID
const& $getUUID()
const;
179 MCFOLD
void $handleCommandOutputCallback(
int, ::std::string&&)
const;
181 MCFOLD
void $updateValues();
185 MCAPI ::CompoundTag $serialize()
const;
187 MCFOLD
bool $requiresValidLevel()
const;