LeviLamina
Loading...
Searching...
No Matches
FilterGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/filters/FilterTest.h"
7
8// auto generated forward declare list
9// clang-format off
10class FilterInput;
11class FilterTest;
12struct FilterContext;
13struct FilterInputs;
15namespace Json { class Value; }
16namespace SharedTypes::v1_21_20 { struct FilterGroupData; }
17namespace SharedTypes::v1_21_20 { struct FilterTestData; }
18// clang-format on
19
21public:
22 // FilterGroup inner types define
23 enum class CollectionType : int {
24 And = 0,
25 Or = 1,
26 Not = 2,
27 };
28
29public:
30 // member variables
31 // NOLINTBEGIN
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 FilterGroup& operator=(FilterGroup const&);
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 // vIndex: 0
46 virtual ~FilterGroup() = default;
47
48 // vIndex: 1
49 virtual bool parse(::Json::Value const& jsonVal);
50
51 // vIndex: 2
52 virtual ::std::shared_ptr<::FilterGroup> _createSubgroup(::FilterGroup::CollectionType) const = 0;
53
54 // vIndex: 3
55 virtual bool _setupContext(::FilterTest const& test, ::FilterContext& context) const;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCNAPI FilterGroup(::FilterGroup const&);
62
63 MCNAPI bool _parseFilterInputs(
64 ::SharedTypes::v1_21_20::FilterTestData const& filterTestData,
65 ::FilterTest::Definition const& filterDef,
66 ::FilterInputs& inputs
67 );
68
69 MCNAPI bool _parseFilterParam(
70 ::std::string const& filter,
71 ::std::string const& member,
72 ::std::optional<::std::variant<bool, int, float, ::std::string>> param,
73 ::FilterParamDefinition const& paramDef,
74 ::FilterInput& input
75 );
76
78 ::FilterGroup::CollectionType collectionType,
79 ::SharedTypes::v1_21_20::FilterGroupData const& filterGroupData
80 );
81
82 MCNAPI bool _parseObject(::SharedTypes::v1_21_20::FilterGroupData const& filterGroupData);
83
84 MCNAPI bool _parseTest(::SharedTypes::v1_21_20::FilterTestData const& filterTestData);
85
86 MCNAPI bool addFilterTest(::FilterTest::Definition const& filterDef, ::FilterInputs const& inputs);
87
88 MCNAPI bool addFilterTest(::std::string const& filterName, ::FilterInputs const& inputs);
89
90 MCNAPI bool evaluate(::std::array<::FilterContext, 10>& contextSet) const;
91
92 MCNAPI void serialize(::Json::Value& jsonVal) const;
93 // NOLINTEND
94
95public:
96 // constructor thunks
97 // NOLINTBEGIN
98 MCNAPI void* $ctor(::FilterGroup const&);
99 // NOLINTEND
100
101public:
102 // virtual function thunks
103 // NOLINTBEGIN
104 MCNAPI bool $parse(::Json::Value const& jsonVal);
105
106 MCNAPI bool $_setupContext(::FilterTest const& test, ::FilterContext& context) const;
107 // NOLINTEND
108
109public:
110 // vftables
111 // NOLINTBEGIN
112 MCNAPI static void** $vftable();
113 // NOLINTEND
114};
Definition FilterGroup.h:20
MCAPI FilterGroup(::FilterGroup const &)
MCAPI bool _parseObject(::SharedTypes::v1_21_20::FilterGroupData const &filterGroupData)
MCAPI bool evaluate(::std::array<::FilterContext, 10 > &contextSet) const
MCAPI bool _parseFilterInputs(::SharedTypes::v1_21_20::FilterTestData const &filterTestData, ::FilterTest::Definition const &filterDef, ::FilterInputs &inputs)
MCAPI void * $ctor(::FilterGroup const &)
MCAPI bool _parseMemberCollection(::FilterGroup::CollectionType collectionType, ::SharedTypes::v1_21_20::FilterGroupData const &filterGroupData)
MCAPI bool _parseFilterParam(::std::string const &filter, ::std::string const &member, ::std::optional<::std::variant< bool, int, float, ::std::string > > param, ::FilterParamDefinition const &paramDef, ::FilterInput &input)
MCAPI bool $_setupContext(::FilterTest const &test, ::FilterContext &context) const
MCAPI bool _parseTest(::SharedTypes::v1_21_20::FilterTestData const &filterTestData)
static MCAPI void ** $vftable()
MCAPI bool $parse(::Json::Value const &jsonVal)
MCAPI bool addFilterTest(::FilterTest::Definition const &filterDef, ::FilterInputs const &inputs)
MCAPI bool addFilterTest(::std::string const &filterName, ::FilterInputs const &inputs)
MCAPI void serialize(::Json::Value &jsonVal) const
Definition FilterInput.h:5
Definition FilterTest.h:13
Definition Value.h:16
Definition FilterContext.h:5
Definition FilterInputs.h:14
Definition FilterParamDefinition.h:16
Definition FilterTest.h:21
Definition FilterGroupData.h:13
Definition FilterTestData.h:12
Definition context.h:5
Definition Alias.h:14