LeviLamina
Loading...
Searching...
No Matches
ScriptDebugShape.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/deps/core/utility/AutomaticID.h"
8#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
9#include "mc/legacy/ActorRuntimeID.h"
10#include "mc/network/NetworkIdentifierWithSubId.h"
11#include "mc/scripting/modules/minecraft/ScriptRGB.h"
12#include "mc/scripting/modules/minecraft/debugdrawer/ScriptDebugShapeType.h"
13
14// auto generated forward declare list
15// clang-format off
16class Dimension;
17struct ShapeDataPayload;
18namespace ScriptModuleMinecraft { class ScriptActor; }
19namespace ScriptModuleMinecraft { class ScriptDimension; }
20namespace ScriptModuleMinecraft { class ScriptPlayer; }
21namespace ScriptModuleMinecraft { struct ScriptDimensionLocation; }
22namespace Scripting { struct ClassBinding; }
23// clang-format on
24
25namespace ScriptModuleDebugUtilities {
26
27class ScriptDebugShape {
28public:
29 // ScriptDebugShape inner types define
30 enum class Flags : uint {
31 Remove = 1,
32 New = 2,
33 UpdateLocation = 4,
34 UpdateScale = 8,
35 UpdateRotation = 16,
36 UpdateTimeleft = 32,
37 UpdateColor = 64,
38 UpdateText = 128,
39 UpdateBoxBound = 256,
40 UpdateLineEndLocation = 512,
41 UpdateArrowHeadLength = 1024,
42 UpdateArrowHeadRadius = 2048,
43 UpdateSegmentCount = 4096,
44 UpdateAttachedTo = 8192,
45 SerializeAll = 4294967294,
46 };
47
48 using FlagsStorage = uint;
49
50public:
51 // member variables
52 // NOLINTBEGIN
53 ::ll::TypedStorage<1, 1, ::ScriptModuleDebugUtilities::ScriptDebugShapeType> mShapeType;
54 ::ll::TypedStorage<8, 32, ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension>>
55 mDimension;
56 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionId;
57 ::ll::TypedStorage<4, 12, ::Vec3> mLocation;
58 ::ll::TypedStorage<4, 12, ::Vec3> mRotation;
59 ::ll::TypedStorage<4, 4, float> mScale;
60 ::ll::TypedStorage<8, 24, ::ScriptModuleMinecraft::ScriptRGB> mColor;
61 ::ll::TypedStorage<4, 8, ::std::optional<float>> mTimeLeftSec;
62 ::ll::TypedStorage<4, 8, ::std::optional<float>> mTimeLeftTotalSec;
63 ::ll::
64 TypedStorage<8, 24, ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptPlayer>>>
65 mVisibleTo;
66 ::ll::TypedStorage<8, 16, ::std::set<::NetworkIdentifierWithSubId>> mVisibleToClients;
67 ::ll::TypedStorage<8, 16, ::std::set<::NetworkIdentifierWithSubId>> mSentToClients;
68 ::ll::TypedStorage<8, 8, uint64> mNetworkId;
69 ::ll::TypedStorage<4, 4, uint> mFlags;
70 ::ll::TypedStorage<1, 1, bool> mExistsInWorld;
71 ::ll::
72 TypedStorage<8, 40, ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>>
73 mAttachedTo;
74 ::ll::TypedStorage<8, 8, ::ActorRuntimeID> mAttachedToId;
75 // NOLINTEND
76
77public:
78 // prevent constructor by default
79 ScriptDebugShape();
80
81public:
82 // virtual functions
83 // NOLINTBEGIN
84 virtual ~ScriptDebugShape();
85
86 virtual void populatePacketData(::ShapeDataPayload& packet) const;
87
88 virtual void applyUpdatedData(::ShapeDataPayload const& packet);
89 // NOLINTEND
90
91public:
92 // member functions
93 // NOLINTBEGIN
94 MCAPI ScriptDebugShape(::ScriptModuleDebugUtilities::ScriptDebugShape const&);
95
96 MCAPI explicit ScriptDebugShape(::ScriptModuleDebugUtilities::ScriptDebugShapeType shapeType);
97
98 MCAPI ScriptDebugShape(
99 ::ScriptModuleDebugUtilities::ScriptDebugShapeType shapeType,
100 ::std::variant<::ScriptModuleMinecraft::ScriptDimensionLocation, ::Vec3> const& location
101 );
102
103 MCAPI ::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension> getDimension() const;
104
105 MCAPI ::ScriptModuleDebugUtilities::ScriptDebugShape&
107
108 MCAPI void setLocation(::std::variant<::ScriptModuleMinecraft::ScriptDimensionLocation, ::Vec3> const& location);
109
110 MCAPI void setVisibleTo(
112 );
113 // NOLINTEND
114
115public:
116 // static functions
117 // NOLINTBEGIN
118 MCAPI static ::Scripting::ClassBinding bind();
119 // NOLINTEND
120
121public:
122 // constructor thunks
123 // NOLINTBEGIN
124 MCAPI void* $ctor(::ScriptModuleDebugUtilities::ScriptDebugShape const&);
125
126 MCAPI void* $ctor(::ScriptModuleDebugUtilities::ScriptDebugShapeType shapeType);
127
128 MCAPI void* $ctor(
129 ::ScriptModuleDebugUtilities::ScriptDebugShapeType shapeType,
130 ::std::variant<::ScriptModuleMinecraft::ScriptDimensionLocation, ::Vec3> const& location
131 );
132 // NOLINTEND
133
134public:
135 // destructor thunk
136 // NOLINTBEGIN
137 MCAPI void $dtor();
138 // NOLINTEND
139
140public:
141 // virtual function thunks
142 // NOLINTBEGIN
143 MCAPI void $populatePacketData(::ShapeDataPayload& packet) const;
144
145 MCAPI void $applyUpdatedData(::ShapeDataPayload const& packet);
146
147
148 // NOLINTEND
149
150public:
151 // vftables
152 // NOLINTBEGIN
153 MCAPI static void** $vftable();
154 // NOLINTEND
155};
156
157} // namespace ScriptModuleDebugUtilities
Definition Dimension.h:86
Definition ScriptDebugShape.h:27
Definition ScriptActor.h:68
Definition ScriptDimension.h:72
Definition ScriptPlayer.h:55
Definition StrongTypedObjectHandle.h:8
Definition ScriptDimensionLocation.h:16
Definition ClassBinding.h:19
Definition ShapeDataPayload.h:23