LeviLamina
Loading...
Searching...
No Matches
MolangScriptArg.h
1#pragma once
2
3#include "ll/api/base/Concepts.h"
4#include "mc/_HeaderOutputPredefine.h"
5
6// auto generated inclusion list
7#include "mc/deps/minecraft_renderer/renderer/MaterialVariants.h"
8#include "mc/util/MolangActorArrayPtr.h"
9#include "mc/util/MolangActorIdArrayPtr.h"
10#include "mc/util/MolangArrayVariable.h"
11#include "mc/util/MolangClientTextureSet.h"
12#include "mc/util/MolangContextVariable.h"
13#include "mc/util/MolangDataDrivenGeometry.h"
14#include "mc/util/MolangEntityVariable.h"
15#include "mc/util/MolangGeometryVariable.h"
16#include "mc/util/MolangMaterialVariable.h"
17#include "mc/util/MolangMatrix.h"
18#include "mc/util/MolangMemberAccessor.h"
19#include "mc/util/MolangMemberArray.h"
20#include "mc/util/MolangOffsetPlaceholder.h"
21#include "mc/util/MolangQueryFunctionPtr.h"
22#include "mc/util/MolangResourceOffset.h"
23#include "mc/util/MolangScriptArgPOD.h"
24#include "mc/util/MolangScriptArgType.h"
25#include "mc/util/MolangTempVariable.h"
26#include "mc/util/MolangTextureVariable.h"
27
28// auto generated forward declare list
29// clang-format off
30class HashedString;
31struct MolangActorPtr;
33// clang-format on
34
35struct MolangScriptArg {
36public:
37 using MolangScriptArgData = std::variant<
56
57 MolangScriptArg(MolangLoopBreak loopBreak) : mType(MolangScriptArgType::MolangLoopBreak), mPOD(loopBreak) {}
58 MolangScriptArg(MolangLoopContinue loopContinue)
59 : mType(MolangScriptArgType::MolangLoopContinue),
60 mPOD(loopContinue) {}
61 MolangScriptArg(Actor const& actor) : mType(MolangScriptArgType::MolangActorPtr), mPOD(std::addressof(actor)) {}
62 MolangScriptArg(ActorUniqueID actorId) : mType(MolangScriptArgType::MolangActorIdPtr), mPOD(actorId) {}
63 MolangScriptArg(ItemStackBase const& item)
64 : mType(MolangScriptArgType::MolangItemStackBasePtr),
65 mPOD(std::addressof(item)) {}
66
67 template <ll::concepts::IsInTypes<MolangScriptArgData> T>
68 MolangScriptArg(T const& val) : mType(MolangScriptArgType::Variant),
69 mData(val) {}
70
71public:
72 // member variables
73 // NOLINTBEGIN
74 ::MolangScriptArgType mType;
76 MolangScriptArgData mData;
77 // NOLINTEND
78
79public:
80 // prevent constructor by default
81 MolangScriptArg& operator=(MolangScriptArg const&);
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI MolangScriptArg();
87
88 MCAPI MolangScriptArg(::MolangScriptArg&& other);
89
90 MCAPI MolangScriptArg(::MolangScriptArg const& other);
91
92 MCAPI MolangScriptArg(float value);
93
94 MCAPI void _setPOD(float value);
95
96#ifdef LL_PLAT_C
97 MCAPI void _setPOD(::MolangActorPtr value);
98#endif
99
100 MCAPI void _setPOD(::MolangItemStackBasePtr value);
101
102 MCAPI void _setPOD(uint64 value);
103
104 MCAPI ::HashedString const& getName() const;
105
106 MCAPI ::MolangScriptArg& operator=(::MolangScriptArg&& other);
107
108 MCAPI ::MolangScriptArg& operator=(::MolangMemberArray&& value);
109
110 MCAPI bool operator==(::MolangScriptArg const& rhs) const;
111
112 MCAPI void reportGetFailure() const;
113
114 MCFOLD void setType(::MolangScriptArgType type);
115
116 MCAPI ~MolangScriptArg();
117 // NOLINTEND
118
119public:
120 // static variables
121 // NOLINTBEGIN
122 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_break();
123
124 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_emptyStringHash();
125
126 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_float0();
127
128 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_float1();
129
130 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_floatNeg1();
131
132 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_molangActorIdEmptyArrayPtr();
133
134 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_structUV0();
135 // NOLINTEND
136
137public:
138 // constructor thunks
139 // NOLINTBEGIN
140 MCAPI void* $ctor();
141
142 MCAPI void* $ctor(::MolangScriptArg&& other);
143
144 MCAPI void* $ctor(::MolangScriptArg const& other);
145
146 MCAPI void* $ctor(float value);
147 // NOLINTEND
148
149public:
150 // destructor thunk
151 // NOLINTBEGIN
152 MCAPI void $dtor();
153 // NOLINTEND
154};
Definition Actor.h:125
Definition HashedString.h:5
Definition ItemStackBase.h:52
Definition MaterialVariants.h:8
Definition ActorUniqueID.h:10
Definition MolangActorArrayPtr.h:10
Definition MolangActorIdArrayPtr.h:10
Definition MolangActorPtr.h:10
Definition MolangArrayVariable.h:8
Definition MolangClientTextureSet.h:18
Definition MolangContextVariable.h:14
Definition MolangDataDrivenGeometry.h:13
Definition MolangEntityVariable.h:14
Definition MolangGeometryVariable.h:8
Definition MolangItemStackBasePtr.h:10
Definition MolangLoopBreak.h:5
Definition MolangLoopContinue.h:5
Definition MolangMaterialVariable.h:8
Definition MolangMatrix.h:5
Definition MolangMemberAccessor.h:8
Definition MolangMemberArray.h:30
Definition MolangOffsetPlaceholder.h:8
Definition MolangQueryFunctionPtr.h:16
Definition MolangResourceOffset.h:8
Definition MolangTempVariable.h:14
Definition MolangTextureVariable.h:8
Definition MolangScriptArgPOD.h:18