LeviLamina
Loading...
Searching...
No Matches
ScriptGameTestHelper.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
7#include "mc/deps/scripting/lifetime_registry/TypedObjectHandle.h"
8#include "mc/deps/scripting/lifetime_registry/WeakLifetimeScope.h"
9#include "mc/deps/scripting/lifetime_registry/WeakTypedObjectHandle.h"
10#include "mc/deps/scripting/runtime/Result.h"
11#include "mc/deps/scripting/runtime/Result_deprecated.h"
12#include "mc/deps/scripting/script_engine/Closure.h"
13#include "mc/deps/scripting/script_engine/Promise.h"
14#include "mc/scripting/modules/minecraft/ScriptFacing.h"
15#include "mc/scripting/modules/minecraft/block/ScriptFluidType.h"
16#include "mc/world/level/GameType.h"
17
18// auto generated forward declare list
19// clang-format off
20class BlockType;
21class Vec3;
22namespace ScriptModuleGameTest { class ScriptGameTestConnectivity; }
23namespace ScriptModuleGameTest { class ScriptGameTestSequence; }
24namespace ScriptModuleGameTest { class ScriptSculkSpreader; }
25namespace ScriptModuleGameTest { class ScriptSimulatedPlayer; }
26namespace ScriptModuleMinecraft { class ScriptActor; }
27namespace ScriptModuleMinecraft { class ScriptBlock; }
28namespace ScriptModuleMinecraft { class ScriptBlockPermutation; }
29namespace ScriptModuleMinecraft { class ScriptBlockType; }
30namespace ScriptModuleMinecraft { class ScriptDimension; }
31namespace ScriptModuleMinecraft { class ScriptItemStack; }
32namespace ScriptModuleMinecraft { class ScriptItemType; }
33namespace Scripting { class ScriptObjectFactory; }
34namespace Scripting { struct ClassBinding; }
35namespace Scripting { struct Error; }
36namespace gametest { class BaseGameTestHelper; }
37namespace gametest { struct GameTestCompletedError; }
38namespace gametest { struct GameTestError; }
39// clang-format on
40
41namespace ScriptModuleGameTest {
42
43class ScriptGameTestHelper {
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<8, 8, ::gametest::BaseGameTestHelper&> mTestHelper;
48 ::ll::TypedStorage<8, 16, ::Scripting::WeakLifetimeScope> mScope;
49 ::ll::TypedStorage<8, 16, ::Scripting::TypedObjectHandle<::ScriptModuleGameTest::ScriptGameTestHelper>>
50 mScriptHandle;
51 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ScriptModuleGameTest::ScriptGameTestSequence>>>
52 mSequences;
53 // NOLINTEND
54
55public:
56 // prevent constructor by default
57 ScriptGameTestHelper& operator=(ScriptGameTestHelper const&);
58 ScriptGameTestHelper(ScriptGameTestHelper const&);
59 ScriptGameTestHelper();
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI ::std::optional<::BlockType const*> _getBlockFromVariant(
65 ::std::variant<
67 ::std::string> const& block
68 );
69
70 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError> assertBlockState(
71 ::Vec3 const& position,
73 );
74
75 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
76 assertBlockTypePresent(
77 ::std::variant<
79 ::std::string> const& block,
80 ::Vec3 const& position,
81 bool isPresent
82 );
83
84 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
85 assertCanReachLocation(::ScriptModuleMinecraft::ScriptActor& mob, ::Vec3 const& position, bool canReach);
86
87 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
88 assertCondition(bool condition, ::std::string const& message);
89
90 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
91 assertContainerContains(::ScriptModuleMinecraft::ScriptItemStack const& item, ::Vec3 const& position);
92
93 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
94 assertContainerEmpty(::Vec3 const& position);
95
96 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError> assertEntityHasArmor(
97 ::std::string const& actorIdentifier,
98 int armorSlot,
99 ::std::string const& armorName,
100 int dataValue,
101 ::Vec3 const& position,
102 bool hasArmor
103 );
104
105 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
106 assertEntityHasComponent(
107 ::std::string const& actorIdentifier,
108 ::std::string const& componentIdentifier,
109 ::Vec3 const& position,
110 bool hasComponent
111 );
112
113 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
114 assertEntityInstancePresent(
115 ::ScriptModuleMinecraft::ScriptActor const& scriptActor,
116 ::Vec3 const& position,
117 bool isPresent
118 );
119
120 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
121 assertEntityInstancePresentInArea(::ScriptModuleMinecraft::ScriptActor const& scriptActor, bool isPresent) const;
122
123 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
124 assertEntityPresent(::std::string const& entityIdentifier, ::Vec3 const& position, float distance, bool isPresent);
125
126 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
127 assertEntityPresentInArea(::std::string const& entityIdentifier, bool isPresent);
128
129 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError> assertEntityState(
130 ::Vec3 const& position,
131 ::std::string const& entityIdentifier,
133 );
134
135 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
136 assertEntityTouching(::std::string const& entityIdentifier, ::Vec3 const& position, bool isTouching);
137
138 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
139 assertIsWaterlogged(::Vec3 const& position, bool isWaterlogged);
140
141 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
142 assertItemEntityCountIs(
144 itemTypeOrId,
145 ::Vec3 const& position,
146 float searchDistance,
147 int count
148 );
149
150 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
151 assertItemEntityPresent(
153 itemTypeOrId,
154 ::Vec3 const& position,
155 float searchDistance,
156 bool isPresent
157 );
158
159 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
160 assertRedstonePower(::Vec3 const& position, int power);
161
162 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
163 destroyBlock(::Vec3 const& position, bool dropResources);
164
165 MCAPI ::Scripting::Result_deprecated<void> fail(::std::string const& error);
166
167 MCAPI ::Scripting::Result_deprecated<void> failIf(::Scripting::Closure<void()> fn);
168
169 MCAPI ::Scripting::Result<
173 getBlock(::Vec3 const& position);
174
175 MCAPI ::Scripting::Result<
179 getDimension() const;
180
181 MCAPI ::Scripting::Result<
185 getFenceConnectivity(::Vec3 const& relativePos);
186
187 MCAPI ::Scripting::Result<
188 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleGameTest::ScriptSculkSpreader>>,
191 getSculkSpreader(::Vec3 const& relativePos);
192
193 MCAPI ::Scripting::Result<::ScriptModuleMinecraft::ScriptFacing, ::gametest::GameTestCompletedError>
194 getTestDirection() const;
195
196 MCAPI ::Scripting::Result<::Scripting::Promise<void, ::Scripting::Error>, ::gametest::GameTestCompletedError>
197 idle(::Scripting::ScriptObjectFactory& factory, int tickDelay);
198
199 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError> killAllEntities();
200
201 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
202 onPlayerJump(::ScriptModuleMinecraft::ScriptActor& mob, int jumpAmount);
203
204 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
205 pressButton(::Vec3 const& position);
206
207 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
208 print(::std::string const& text);
209
210 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
211 pullLever(::Vec3 const& position);
212
213 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
214 pulseRedstone(::Vec3 const& position, int duration);
215
216 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
217 relativeBlockPosition(::Vec3 const& worldPos) const;
218
219 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
220 relativePosition(::Vec3 const& worldPos) const;
221
222 MCAPI ::Scripting::Result<void, ::gametest::GameTestCompletedError>
223 removeSimulatedPlayer(::ScriptModuleGameTest::ScriptSimulatedPlayer const& scriptSimulatedPlayer);
224
225 MCAPI ::Scripting::
226 Result<::ScriptModuleMinecraft::ScriptFacing, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
227 rotateDirection(::ScriptModuleMinecraft::ScriptFacing direction) const;
228
229 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
230 rotateVector(::Vec3 const& scriptVector) const;
231
232 MCAPI ::Scripting::Result_deprecated<void> runAfterDelay(int ticksToDelay, ::Scripting::Closure<void()> fn);
233
234 MCAPI ::Scripting::Result_deprecated<void> runAtTickTime(int tickTime, ::Scripting::Closure<void()> fn);
235
236 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
237 runOnFinish(::Scripting::Closure<void()> fn);
238
239 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
240 setBlockPermutation(::ScriptModuleMinecraft::ScriptBlockPermutation const& block, ::Vec3 const& position);
241
242 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError> setBlockType(
243 ::std::variant<
245 ::std::string> const& block,
246 ::Vec3 const& position
247 );
248
249 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
250 setFluidContainer(::Vec3 const& position, int type);
251
252 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
253 setFluidContainer(::Vec3 const& position, ::ScriptModuleMinecraft::ScriptFluidType type);
254
255 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
256 setTntFuse(::ScriptModuleMinecraft::ScriptActor& tnt, int fuseLength);
257
258 MCAPI ::Scripting::Result<
262 spawn(::std::string const& entityIdentifier, ::Vec3 const& position);
263
264 MCAPI ::Scripting::Result<
268 spawnAtLocation(::std::string const& entityIdentifier, ::Vec3 const& position);
269
270 MCAPI ::Scripting::Result<
274 spawnItem(::ScriptModuleMinecraft::ScriptItemStack const& item, ::Vec3 const& position);
275
276 MCAPI ::Scripting::Result<
280 spawnSimulatedPlayer(::Vec3 const& position, ::std::string const& name, ::GameType gameMode);
281
282 MCAPI ::Scripting::Result<
286 spawnWithoutBehaviors(::std::string const& entityIdentifier, ::Vec3 const& position);
287
288 MCAPI ::Scripting::Result<
292 spawnWithoutBehaviorsAtLocation(::std::string const& entityIdentifier, ::Vec3 const& position);
293
294 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
295 spreadFromFaceTowardDirection(
296 ::Vec3 const& pos,
297 ::ScriptModuleMinecraft::ScriptFacing fromFace,
298 ::ScriptModuleMinecraft::ScriptFacing direction
299 );
300
301 MCAPI ::Scripting::Result<
304 startSequence();
305
306 MCAPI ::Scripting::Result_deprecated<void> succeed();
307
308 MCAPI ::Scripting::Result_deprecated<void> succeedIf(::Scripting::Closure<void()> fn);
309
310 MCAPI ::Scripting::Result_deprecated<void> succeedOnTick(int tick);
311
312 MCAPI ::Scripting::Result_deprecated<void> succeedOnTickWhen(int tick, ::Scripting::Closure<void()> fn);
313
314 MCAPI ::Scripting::Result_deprecated<void> succeedWhen(::Scripting::Closure<void()> fn);
315
316 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
317 succeedWhenBlockPresent(
318 ::std::variant<
320 ::std::string> const& block,
321 ::Vec3 const& position,
322 bool isPresent
323 );
324
325 MCAPI ::Scripting::Result_deprecated<void> succeedWhenEntityHasComponent(
326 ::std::string const& actorIdentifier,
327 ::std::string const& componentName,
328 ::Vec3 const& position,
329 bool hasComponent
330 );
331
332 MCAPI ::Scripting::Result_deprecated<void>
333 succeedWhenEntityPresent(::std::string const& entityIdentifier, ::Vec3 const& position, bool isPresent);
334
335 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
336 triggerInternalBlockEvent(::Vec3 const& pos, ::std::string const& event, ::std::vector<float> const& parameters);
337
338 MCAPI ::Scripting::Result<::Scripting::Promise<void, ::Scripting::Error>, ::gametest::GameTestCompletedError>
339 until(::Scripting::ScriptObjectFactory& factory, ::Scripting::Closure<void()> fn);
340
341 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
342 walkTo(::ScriptModuleMinecraft::ScriptActor& mob, ::Vec3 const& position, float speedModifier);
343
344 MCAPI ::Scripting::Result<void, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
345 walkToLocation(::ScriptModuleMinecraft::ScriptActor& mob, ::Vec3 const& position, float speedModifier);
346
347 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
348 worldBlockPosition(::Vec3 const& relativePos) const;
349
350 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError, ::gametest::GameTestCompletedError>
351 worldPosition(::Vec3 const& relativePos) const;
352
353#ifdef LL_PLAT_C
354 MCAPI ~ScriptGameTestHelper();
355#endif
356 // NOLINTEND
357
358public:
359 // static functions
360 // NOLINTBEGIN
361 MCAPI static ::Scripting::ClassBinding bind();
362 // NOLINTEND
363
364public:
365 // destructor thunk
366 // NOLINTBEGIN
367#ifdef LL_PLAT_C
368 MCAPI void $dtor();
369#endif
370 // NOLINTEND
371};
372
373} // namespace ScriptModuleGameTest
Definition BlockType.h:84
Definition ScriptGameTestConnectivity.h:7
Definition ScriptGameTestSequence.h:18
Definition ScriptSculkSpreader.h:20
Definition ScriptSimulatedPlayer.h:38
Definition ScriptActor.h:69
Definition ScriptBlockPermutation.h:24
Definition ScriptBlockType.h:20
Definition ScriptBlock.h:35
Definition ScriptDimension.h:71
Definition ScriptItemStack.h:32
Definition ScriptItemType.h:16
Definition Closure.h:8
Definition ScriptObjectFactory.h:7
Definition StrongTypedObjectHandle.h:8
Definition WeakTypedObjectHandle.h:8
Definition Vec3.h:10
Definition BaseGameTestHelper.h:34
Definition ClassBinding.h:19
Definition Error.h:10
Definition TypedObjectHandle.h:8
Definition GameTestCompletedError.h:16
Definition GameTestError.h:17