LiteLoaderBDS-1.16.40/LiteLoader/Header/MC/CommandSelectorBase.hpp
2022-10-08 10:49:39 +08:00

76 lines
2.1 KiB
C++

// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#define BEFORE_EXTRA
// Include Headers or Declare Types Here
#include "ActorDefinitionIdentifier.hpp"
#include "CommandPosition.hpp"
#include <functional>
class CommandOrigin;
class Actor;
class Player;
#undef BEFORE_EXTRA
class CommandSelectorBase {
#define AFTER_EXTRA
// Add Member There
private:
uint32_t version;
uint32_t type;
uint32_t order;
std::vector<InvertableFilter<std::string>> nameFilters;
char pad_0040[24];
std::vector<InvertableFilter<ActorDefinitionIdentifier>> familyFilters;
std::vector<InvertableFilter<std::string>> tagFilters;
std::vector<std::function<bool(CommandOrigin const&, Actor const&)>> customFilters;
CommandPosition position;
BlockPos box;
float radiusMin;
float radiusMax;
uint64_t resultCount;
bool includeDeadPlayers;
char pad_0185[5];
bool playerOnly;
char explicitIdSelector;
char unk192;
#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_COMMANDSELECTORBASE
public:
class CommandSelectorBase& operator=(class CommandSelectorBase const &) = delete;
CommandSelectorBase(class CommandSelectorBase const &) = delete;
CommandSelectorBase() = delete;
#endif
public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_COMMANDSELECTORBASE
#endif
MCAPI void addFilter(class std::function<bool (class CommandOrigin const &, class Actor const &)>);
MCAPI void addTypeFilter(struct InvertableFilter<std::string> const &);
MCAPI bool compile(class CommandOrigin const &, std::string &);
MCAPI void setBox(class BlockPos);
MCAPI void setPosition(class CommandPosition const &);
MCAPI void setRadiusMax(float);
MCAPI void setRadiusMin(float);
MCAPI ~CommandSelectorBase();
//protected:
MCAPI CommandSelectorBase(bool);
MCAPI class std::shared_ptr<std::vector<class Actor *>> newResults(class CommandOrigin const &) const;
//private:
MCAPI bool filter(class CommandOrigin const &, class Actor &, float) const;
MCAPI bool matchName(class Actor const &) const;
MCAPI bool matchTag(class Actor const &) const;
MCAPI bool matchType(class Actor const &) const;
protected:
private:
};