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
28struct MolangScriptArg {
29public:
30 using MolangScriptArgData = std::variant<
49
50 MolangScriptArg(MolangLoopBreak loopBreak) : mType(MolangScriptArgType::MolangLoopBreak), mPOD(loopBreak) {}
51 MolangScriptArg(MolangLoopContinue loopContinue)
52 : mType(MolangScriptArgType::MolangLoopContinue),
53 mPOD(loopContinue) {}
54 MolangScriptArg(Actor const& actor) : mType(MolangScriptArgType::MolangActorPtr), mPOD(std::addressof(actor)) {}
55 MolangScriptArg(ActorUniqueID actorId) : mType(MolangScriptArgType::MolangActorIdPtr), mPOD(actorId) {}
56 MolangScriptArg(ItemStackBase const& item)
57 : mType(MolangScriptArgType::MolangItemStackBasePtr),
58 mPOD(std::addressof(item)) {}
59 MolangScriptArg(float val) : mType(MolangScriptArgType::Float), mPOD(val) {}
60
61 template <ll::concepts::IsInTypes<MolangScriptArgData> T>
62 MolangScriptArg(T const& val) : mType(MolangScriptArgType::Variant),
63 mData(val) {}
64
65public:
66 // member variables
67 // NOLINTBEGIN
68 ::MolangScriptArgType mType;
70 MolangScriptArgData mData;
71 // NOLINTEND
72
73public:
74 // prevent constructor by default
75 MolangScriptArg& operator=(MolangScriptArg const& other) {
76 if (this != &other) {
77 mType = other.mType;
78 if (other.mType != MolangScriptArgType::Unset) {
79 if (other.mType != MolangScriptArgType::Variant) {
80 mPOD = other.mPOD;
81 } else {
82 mData = other.mData;
83 }
84 }
85 }
86 return *this;
87 }
88 MolangScriptArg() = default;
89
90public:
91 // member functions
92 // NOLINTBEGIN
93 MCAPI MolangScriptArg(::MolangScriptArg const& other);
94
95 MCAPI ::MolangScriptArg& operator=(::MolangScriptArg&& other);
96
97 MCAPI void reportGetFailure() const;
98 // NOLINTEND
99
100public:
101 // static variables
102 // NOLINTBEGIN
103 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_break();
104
105 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_emptyStringHash();
106
107 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_float0();
108
109 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_float1();
110
111 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_floatNeg1();
112
113 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_molangActorIdEmptyArrayPtr();
114
115 MCAPI static ::MolangScriptArg const& mDefaultReturnValue_structUV0();
116 // NOLINTEND
117
118public:
119 // constructor thunks
120 // NOLINTBEGIN
121 MCAPI void* $ctor(::MolangScriptArg const& other);
122 // NOLINTEND
123};
Definition Actor.h:113
Definition ItemStackBase.h:44
Definition MaterialVariants.h:8
Definition ActorUniqueID.h:5
Definition MolangActorArrayPtr.h:10
Definition MolangActorIdArrayPtr.h:10
Definition MolangArrayVariable.h:8
Definition MolangClientTextureSet.h:17
Definition MolangContextVariable.h:14
Definition MolangDataDrivenGeometry.h:13
Definition MolangEntityVariable.h:14
Definition MolangGeometryVariable.h:8
Definition MolangLoopBreak.h:5
Definition MolangLoopContinue.h:5
Definition MolangMaterialVariable.h:8
Definition MolangMatrix.h:5
Definition MolangMemberAccessor.h:8
Definition MolangMemberArray.h:31
Definition MolangOffsetPlaceholder.h:8
Definition MolangQueryFunctionPtr.h:16
Definition MolangResourceOffset.h:8
Definition MolangTempVariable.h:14
Definition MolangTextureVariable.h:8
Definition MolangScriptArgPOD.h:18