LeviLamina
Loading...
Searching...
No Matches
MinecraftGameTestHelper.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/actor/ArmorSlot.h"
7#include "mc/gametest/framework/BaseGameTestHelper.h"
8#include "mc/scripting/modules/minecraft/ScriptFacing.h"
9#include "mc/world/level/GameType.h"
10
11// auto generated forward declare list
12// clang-format off
13class AABB;
14class Actor;
15class Block;
16class BlockPos;
17class BlockSource;
18class BlockType;
19class Container;
20class Dimension;
21class Item;
22class ItemStack;
23class Mob;
24class SimulatedPlayer;
25class Vec3;
27namespace ScriptModuleGameTest { class ScriptGameTestConnectivity; }
28namespace gametest { struct GameTestError; }
29// clang-format on
30
31class MinecraftGameTestHelper : public ::gametest::BaseGameTestHelper {
32public:
33 // member variables
34 // NOLINTBEGIN
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 MinecraftGameTestHelper& operator=(MinecraftGameTestHelper const&);
41 MinecraftGameTestHelper(MinecraftGameTestHelper const&);
42 MinecraftGameTestHelper();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual ~MinecraftGameTestHelper() /*override*/ = default;
48
49 virtual void succeedWhenEntityPresent(
50 ::ActorDefinitionIdentifier const& actorIdentifier,
51 int x,
52 int y,
53 int z,
54 bool isPresent
55 ) /*override*/;
56
57 virtual void succeedWhenEntityPresent(
58 ::ActorDefinitionIdentifier const& actorIdentifier,
59 ::BlockPos const& pos,
60 bool isPresent
61 ) /*override*/;
62
63 virtual void succeedWhenEntityData(
64 ::BlockPos const& pos,
65 ::ActorDefinitionIdentifier const& actorIdentifier,
66 ::std::function<bool(::Actor&)> dataPredicate
67 ) /*override*/;
68
69 virtual void succeedWhenEntityHasComponent(
70 ::ActorDefinitionIdentifier const& actorIdentifier,
71 ::std::string const& componentName,
72 ::BlockPos const& pos,
73 bool hasComponent
74 ) /*override*/;
75
76 virtual void succeedWhenBlockPresent(::Block const& block, int x, int y, int z, bool isPresent) /*override*/;
77
78 virtual void succeedWhenBlockPresent(::Block const& block, ::BlockPos const& pos, bool isPresent) /*override*/;
79
80 virtual void
81 succeedWhenBlockPresent(::BlockType const& block, ::BlockPos const& position, bool isPresent) /*override*/;
82
83 virtual void setNight() /*override*/;
84
85 virtual void setDayTime(int time) /*override*/;
86
87 virtual ::std::optional<::gametest::GameTestError>
88 setBlock(int x, int y, int z, ::Block const& block, int updateFlags) /*override*/;
89
90 virtual ::std::optional<::gametest::GameTestError>
91 setBlock(::BlockPos const& pos, ::Block const& block, int updateFlags) /*override*/;
92
93 virtual ::std::optional<::gametest::GameTestError>
94 destroyBlock(::BlockPos const& pos, bool dropResources) /*override*/;
95
96 virtual ::std::optional<::gametest::GameTestError> pressButton(int x, int y, int z) /*override*/;
97
98 virtual ::std::optional<::gametest::GameTestError> pressButton(::BlockPos const& buttonPos) /*override*/;
99
100 virtual ::std::optional<::gametest::GameTestError> pullLever(int x, int y, int z) /*override*/;
101
102 virtual ::std::optional<::gametest::GameTestError> pullLever(::BlockPos const& leverPos) /*override*/;
103
104 virtual ::std::optional<::gametest::GameTestError> killAllEntities() /*override*/;
105
106 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
107 spawn(::ActorDefinitionIdentifier const& actorIdentifier, int x, int y, int z) /*override*/;
108
109 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
110 spawn(::ActorDefinitionIdentifier const& actorIdentifier, ::BlockPos const& pos) /*override*/;
111
112 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
113 spawn(::ActorDefinitionIdentifier const& actorIdentifier, ::Vec3 const& pos) /*override*/;
114
115 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
116 spawnItem(::ItemStack const& itemType, ::Vec3 const& pos) /*override*/;
117
118 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
119 spawnWithoutBehaviors(::ActorDefinitionIdentifier const& actorIdentifier, ::BlockPos const& pos) /*override*/;
120
121 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
122 spawnWithoutBehaviors(::ActorDefinitionIdentifier const& actorIdentifier, ::Vec3 const& pos) /*override*/;
123
124 virtual ::std::optional<::gametest::GameTestError>
125 walkTo(::Mob& mob, ::BlockPos const& pos, float speedModifier) /*override*/;
126
127 virtual ::std::optional<::gametest::GameTestError>
128 walkTo(::Mob& mob, ::Vec3 const& pos, float speedModifier) /*override*/;
129
130 virtual ::std::optional<::gametest::GameTestError> setTntFuse(::Actor& actor, int fuseLength) /*override*/;
131
132 virtual ::std::optional<::gametest::GameTestError>
133 assertEntityPresent(::ActorDefinitionIdentifier const& actorIdentifier, bool isPresent) /*override*/;
134
135 virtual ::std::optional<::gametest::GameTestError> assertEntityPresent(
136 ::ActorDefinitionIdentifier const& actorIdentifier,
137 int x,
138 int y,
139 int z,
140 bool isPresent
141 ) /*override*/;
142
143 virtual ::std::optional<::gametest::GameTestError> assertEntityPresent(
144 ::ActorDefinitionIdentifier const& actorIdentifier,
145 ::BlockPos const& pos,
146 bool isPresent
147 ) /*override*/;
148
149 virtual ::std::optional<::gametest::GameTestError> assertEntityPresent(
150 ::ActorDefinitionIdentifier const& actorIdentifier,
151 ::BlockPos const& pos,
152 float const distance,
153 bool isPresent
154 ) /*override*/;
155
156 virtual ::std::optional<::gametest::GameTestError>
157 assertEntityInstancePresent(::Actor const* actor, ::BlockPos const& pos, bool expectedPresent) /*override*/;
158
159 virtual ::std::optional<::gametest::GameTestError>
160 assertEntityInstancePresent(::Actor const* actor, bool expectedPresent) const /*override*/;
161
162 virtual ::std::optional<::gametest::GameTestError> assertEntityTouching(
163 ::ActorDefinitionIdentifier const& actorIdentifier,
164 ::Vec3 const& pos,
165 bool isTouching
166 ) /*override*/;
167
168 virtual ::std::optional<::gametest::GameTestError> assertEntityState(
169 ::BlockPos const& pos,
170 ::ActorDefinitionIdentifier const& actorIdentifier,
171 ::std::function<bool(::Actor&)> dataPredicate
172 ) /*override*/;
173
174 virtual ::std::optional<::gametest::GameTestError>
175 assertBlockPresent(::BlockType const& blockType, int x, int y, int z, bool isPresent) /*override*/;
176
177 virtual ::std::optional<::gametest::GameTestError>
178 assertBlockPresent(::BlockType const& blockType, ::BlockPos const& pos, bool isPresent) /*override*/;
179
180 virtual ::std::optional<::gametest::GameTestError>
181 assertBlockState(::BlockPos const& blockPos, ::std::function<bool(::Block const&)> predicate) /*override*/;
182
183 virtual ::std::optional<::gametest::GameTestError>
184 assertItemEntityPresent(::Item const& item, int x, int y, int z, float searchDistance, bool isPresent) /*override*/;
185
186 virtual ::std::optional<::gametest::GameTestError> assertItemEntityPresent(
187 ::Item const& item,
188 ::BlockPos const& pos,
189 float searchDistance,
190 bool isPresent
191 ) /*override*/;
192
193 virtual ::std::optional<::gametest::GameTestError> assertItemEntityCountIs(
194 ::Item const& itemType,
195 ::BlockPos const& pos,
196 float searchDistance,
197 int expectedCount
198 ) /*override*/;
199
200 virtual ::std::optional<::gametest::GameTestError> assertContainerEmpty(::BlockPos const& pos) /*override*/;
201
202 virtual ::std::optional<::gametest::GameTestError>
203 assertContainerContains(::ItemStack const& item, ::BlockPos const& pos) /*override*/;
204
205 virtual ::std::optional<::gametest::GameTestError> assertEntityHasComponent(
206 ::ActorDefinitionIdentifier const& actorIdentifier,
207 ::std::string const& componentName,
208 ::BlockPos const& pos,
209 bool hasComponent
210 ) /*override*/;
211
212 virtual ::std::optional<::gametest::GameTestError> assertEntityHasArmor(
213 ::ActorDefinitionIdentifier const& actorIdentifier,
214 ::SharedTypes::Legacy::ArmorSlot armorSlot,
215 ::std::string const& armorName,
216 int dataValue,
217 ::BlockPos const& pos,
218 bool hasArmor
219 ) /*override*/;
220
221 virtual ::std::optional<::gametest::GameTestError> print(::std::string const& text) /*override*/;
222
223 virtual ::std::optional<::gametest::GameTestError>
224 assertRedstonePower(::BlockPos const& pos, int expectedPower) /*override*/;
225
226 virtual ::std::optional<::gametest::GameTestError>
227 assertIsWaterlogged(::BlockPos const& pos, bool expectedWaterlogged) /*override*/;
228
229 virtual ::std::optional<::gametest::GameTestError> pulseRedstone(::BlockPos const& pos, int duration) /*override*/;
230
231 virtual ::std::variant<::gametest::GameTestError, ::ScriptModuleGameTest::ScriptGameTestConnectivity>
232 getFenceConnectivity(::BlockPos const& relativePos) /*override*/;
233
234 virtual ::std::optional<::gametest::GameTestError>
235 setFluidContainer(::BlockPos const& pos, int _fluidType) /*override*/;
236
237 virtual ::std::optional<::gametest::GameTestError> triggerInternalBlockEvent(
238 ::BlockPos const& pos,
239 ::std::string const& event,
240 ::std::vector<float> const& parameters
241 ) /*override*/;
242
243 virtual ::std::variant<::gametest::GameTestError, ::BlockPos> worldPosition(::BlockPos const& relativePos) const
244 /*override*/;
245
246 virtual ::std::variant<::gametest::GameTestError, ::Vec3> worldPosition(::Vec3 const& relativePos) const
247 /*override*/;
248
249 virtual ::std::variant<::gametest::GameTestError, ::BlockPos> relativePosition(::BlockPos const& worldPos) const
250 /*override*/;
251
252 virtual ::std::variant<::gametest::GameTestError, ::Vec3> relativePosition(::Vec3 const& worldPos) const
253 /*override*/;
254
255 virtual ::std::optional<::gametest::GameTestError>
256 assertCanReachLocation(::Mob& mob, ::BlockPos const& pos, bool expectedReach) /*override*/;
257
258 virtual ::std::optional<::gametest::GameTestError> spreadFromFaceTowardDirection(
259 ::BlockPos const& pos,
260 ::ScriptModuleMinecraft::ScriptFacing fromFace,
261 ::ScriptModuleMinecraft::ScriptFacing direction
262 ) /*override*/;
263
264 virtual ::std::optional<::gametest::GameTestError> getBlockSource(::BlockSource*& blockSourceResult) /*override*/;
265
266 virtual ::std::variant<::gametest::GameTestError, ::SimulatedPlayer*>
267 spawnSimulatedPlayer(::std::string const& name, ::BlockPos const& pos, ::GameType gameMode) /*override*/;
268
269 virtual void removeSimulatedPlayer(::SimulatedPlayer& simulatedPlayer) /*override*/;
270
271 virtual ::std::variant<::gametest::GameTestError, ::Dimension*> getDimension() /*override*/;
272
273 virtual ::std::optional<::gametest::GameTestError> onPlayerJump(::Mob& mob, int jumpAmount) /*override*/;
274 // NOLINTEND
275
276public:
277 // member functions
278 // NOLINTBEGIN
279 MCAPI ::std::optional<::gametest::GameTestError> _assertEntityInstancePresent(
280 ::Actor const* actor,
281 ::AABB const& searchBounds,
282 ::BlockPos const& relativeTestPosition,
283 bool expectedPresent
284 ) const;
285
286 MCAPI ::std::optional<::gametest::GameTestError> _assertEntityPresent(
287 ::ActorDefinitionIdentifier const& actorIdentifier,
288 ::AABB const& searchBounds,
289 ::BlockPos const& pos,
290 bool expectedPresent
291 ) const;
292
293 MCAPI ::Block const& _getBlock(::BlockPos const& pos);
294
295 MCAPI ::Container const* _getContainer(::BlockPos const& pos);
296
297 MCAPI ::std::optional<::gametest::GameTestError> _getStructureBlockMissingError() const;
298 // NOLINTEND
299
300public:
301 // virtual function thunks
302 // NOLINTBEGIN
303 MCAPI void
304 $succeedWhenEntityPresent(::ActorDefinitionIdentifier const& actorIdentifier, int x, int y, int z, bool isPresent);
305
306 MCAPI void $succeedWhenEntityPresent(
307 ::ActorDefinitionIdentifier const& actorIdentifier,
308 ::BlockPos const& pos,
309 bool isPresent
310 );
311
312 MCAPI void $succeedWhenEntityData(
313 ::BlockPos const& pos,
314 ::ActorDefinitionIdentifier const& actorIdentifier,
315 ::std::function<bool(::Actor&)> dataPredicate
316 );
317
318 MCAPI void $succeedWhenEntityHasComponent(
319 ::ActorDefinitionIdentifier const& actorIdentifier,
320 ::std::string const& componentName,
321 ::BlockPos const& pos,
322 bool hasComponent
323 );
324
325 MCAPI void $succeedWhenBlockPresent(::Block const& block, int x, int y, int z, bool isPresent);
326
327 MCAPI void $succeedWhenBlockPresent(::Block const& block, ::BlockPos const& pos, bool isPresent);
328
329 MCAPI void $succeedWhenBlockPresent(::BlockType const& block, ::BlockPos const& position, bool isPresent);
330
331 MCAPI void $setNight();
332
333 MCAPI void $setDayTime(int time);
334
335 MCAPI ::std::optional<::gametest::GameTestError>
336 $setBlock(int x, int y, int z, ::Block const& block, int updateFlags);
337
338 MCAPI ::std::optional<::gametest::GameTestError>
339 $setBlock(::BlockPos const& pos, ::Block const& block, int updateFlags);
340
341 MCAPI ::std::optional<::gametest::GameTestError> $destroyBlock(::BlockPos const& pos, bool dropResources);
342
343 MCAPI ::std::optional<::gametest::GameTestError> $pressButton(int x, int y, int z);
344
345 MCAPI ::std::optional<::gametest::GameTestError> $pressButton(::BlockPos const& buttonPos);
346
347 MCAPI ::std::optional<::gametest::GameTestError> $pullLever(int x, int y, int z);
348
349 MCAPI ::std::optional<::gametest::GameTestError> $pullLever(::BlockPos const& leverPos);
350
351 MCAPI ::std::optional<::gametest::GameTestError> $killAllEntities();
352
353 MCAPI ::std::variant<::gametest::GameTestError, ::Actor*>
354 $spawn(::ActorDefinitionIdentifier const& actorIdentifier, int x, int y, int z);
355
356 MCAPI ::std::variant<::gametest::GameTestError, ::Actor*>
357 $spawn(::ActorDefinitionIdentifier const& actorIdentifier, ::BlockPos const& pos);
358
359 MCAPI ::std::variant<::gametest::GameTestError, ::Actor*>
360 $spawn(::ActorDefinitionIdentifier const& actorIdentifier, ::Vec3 const& pos);
361
362 MCAPI ::std::variant<::gametest::GameTestError, ::Actor*>
363 $spawnItem(::ItemStack const& itemType, ::Vec3 const& pos);
364
365 MCAPI ::std::variant<::gametest::GameTestError, ::Actor*>
366 $spawnWithoutBehaviors(::ActorDefinitionIdentifier const& actorIdentifier, ::BlockPos const& pos);
367
368 MCAPI ::std::variant<::gametest::GameTestError, ::Actor*>
369 $spawnWithoutBehaviors(::ActorDefinitionIdentifier const& actorIdentifier, ::Vec3 const& pos);
370
371 MCAPI ::std::optional<::gametest::GameTestError> $walkTo(::Mob& mob, ::BlockPos const& pos, float speedModifier);
372
373 MCAPI ::std::optional<::gametest::GameTestError> $walkTo(::Mob& mob, ::Vec3 const& pos, float speedModifier);
374
375 MCAPI ::std::optional<::gametest::GameTestError> $setTntFuse(::Actor& actor, int fuseLength);
376
377 MCAPI ::std::optional<::gametest::GameTestError>
378 $assertEntityPresent(::ActorDefinitionIdentifier const& actorIdentifier, bool isPresent);
379
380 MCAPI ::std::optional<::gametest::GameTestError>
381 $assertEntityPresent(::ActorDefinitionIdentifier const& actorIdentifier, int x, int y, int z, bool isPresent);
382
383 MCAPI ::std::optional<::gametest::GameTestError>
384 $assertEntityPresent(::ActorDefinitionIdentifier const& actorIdentifier, ::BlockPos const& pos, bool isPresent);
385
386 MCAPI ::std::optional<::gametest::GameTestError> $assertEntityPresent(
387 ::ActorDefinitionIdentifier const& actorIdentifier,
388 ::BlockPos const& pos,
389 float const distance,
390 bool isPresent
391 );
392
393 MCAPI ::std::optional<::gametest::GameTestError>
394 $assertEntityInstancePresent(::Actor const* actor, ::BlockPos const& pos, bool expectedPresent);
395
396 MCAPI ::std::optional<::gametest::GameTestError>
397 $assertEntityInstancePresent(::Actor const* actor, bool expectedPresent) const;
398
399 MCAPI ::std::optional<::gametest::GameTestError>
400 $assertEntityTouching(::ActorDefinitionIdentifier const& actorIdentifier, ::Vec3 const& pos, bool isTouching);
401
402 MCAPI ::std::optional<::gametest::GameTestError> $assertEntityState(
403 ::BlockPos const& pos,
404 ::ActorDefinitionIdentifier const& actorIdentifier,
405 ::std::function<bool(::Actor&)> dataPredicate
406 );
407
408 MCAPI ::std::optional<::gametest::GameTestError>
409 $assertBlockPresent(::BlockType const& blockType, int x, int y, int z, bool isPresent);
410
411 MCAPI ::std::optional<::gametest::GameTestError>
412 $assertBlockPresent(::BlockType const& blockType, ::BlockPos const& pos, bool isPresent);
413
414 MCAPI ::std::optional<::gametest::GameTestError>
415 $assertBlockState(::BlockPos const& blockPos, ::std::function<bool(::Block const&)> predicate);
416
417 MCAPI ::std::optional<::gametest::GameTestError>
418 $assertItemEntityPresent(::Item const& item, int x, int y, int z, float searchDistance, bool isPresent);
419
420 MCAPI ::std::optional<::gametest::GameTestError>
421 $assertItemEntityPresent(::Item const& item, ::BlockPos const& pos, float searchDistance, bool isPresent);
422
423 MCAPI ::std::optional<::gametest::GameTestError>
424 $assertItemEntityCountIs(::Item const& itemType, ::BlockPos const& pos, float searchDistance, int expectedCount);
425
426 MCAPI ::std::optional<::gametest::GameTestError> $assertContainerEmpty(::BlockPos const& pos);
427
428 MCAPI ::std::optional<::gametest::GameTestError>
429 $assertContainerContains(::ItemStack const& item, ::BlockPos const& pos);
430
431 MCAPI ::std::optional<::gametest::GameTestError> $assertEntityHasComponent(
432 ::ActorDefinitionIdentifier const& actorIdentifier,
433 ::std::string const& componentName,
434 ::BlockPos const& pos,
435 bool hasComponent
436 );
437
438 MCAPI ::std::optional<::gametest::GameTestError> $assertEntityHasArmor(
439 ::ActorDefinitionIdentifier const& actorIdentifier,
440 ::SharedTypes::Legacy::ArmorSlot armorSlot,
441 ::std::string const& armorName,
442 int dataValue,
443 ::BlockPos const& pos,
444 bool hasArmor
445 );
446
447 MCAPI ::std::optional<::gametest::GameTestError> $print(::std::string const& text);
448
449 MCAPI ::std::optional<::gametest::GameTestError> $assertRedstonePower(::BlockPos const& pos, int expectedPower);
450
451 MCAPI ::std::optional<::gametest::GameTestError>
452 $assertIsWaterlogged(::BlockPos const& pos, bool expectedWaterlogged);
453
454 MCAPI ::std::optional<::gametest::GameTestError> $pulseRedstone(::BlockPos const& pos, int duration);
455
456 MCAPI ::std::variant<::gametest::GameTestError, ::ScriptModuleGameTest::ScriptGameTestConnectivity>
457 $getFenceConnectivity(::BlockPos const& relativePos);
458
459 MCAPI ::std::optional<::gametest::GameTestError> $setFluidContainer(::BlockPos const& pos, int _fluidType);
460
461 MCAPI ::std::optional<::gametest::GameTestError> $triggerInternalBlockEvent(
462 ::BlockPos const& pos,
463 ::std::string const& event,
464 ::std::vector<float> const& parameters
465 );
466
467 MCAPI ::std::variant<::gametest::GameTestError, ::BlockPos> $worldPosition(::BlockPos const& relativePos) const;
468
469 MCAPI ::std::variant<::gametest::GameTestError, ::Vec3> $worldPosition(::Vec3 const& relativePos) const;
470
471 MCAPI ::std::variant<::gametest::GameTestError, ::BlockPos> $relativePosition(::BlockPos const& worldPos) const;
472
473 MCAPI ::std::variant<::gametest::GameTestError, ::Vec3> $relativePosition(::Vec3 const& worldPos) const;
474
475 MCAPI ::std::optional<::gametest::GameTestError>
476 $assertCanReachLocation(::Mob& mob, ::BlockPos const& pos, bool expectedReach);
477
478 MCAPI ::std::optional<::gametest::GameTestError> $spreadFromFaceTowardDirection(
479 ::BlockPos const& pos,
480 ::ScriptModuleMinecraft::ScriptFacing fromFace,
481 ::ScriptModuleMinecraft::ScriptFacing direction
482 );
483
484 MCAPI ::std::optional<::gametest::GameTestError> $getBlockSource(::BlockSource*& blockSourceResult);
485
486 MCAPI ::std::variant<::gametest::GameTestError, ::SimulatedPlayer*>
487 $spawnSimulatedPlayer(::std::string const& name, ::BlockPos const& pos, ::GameType gameMode);
488
489 MCAPI void $removeSimulatedPlayer(::SimulatedPlayer& simulatedPlayer);
490
491 MCAPI ::std::variant<::gametest::GameTestError, ::Dimension*> $getDimension();
492
493 MCAPI ::std::optional<::gametest::GameTestError> $onPlayerJump(::Mob& mob, int jumpAmount);
494
495
496 // NOLINTEND
497
498public:
499 // vftables
500 // NOLINTBEGIN
501 MCNAPI static void** $vftable();
502 // NOLINTEND
503};
Definition AABB.h:18
Definition Actor.h:105
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BlockType.h:84
Definition Block.h:43
Definition Container.h:33
Definition Dimension.h:85
Definition ItemStack.h:26
Definition Item.h:69
static MCAPI void ** $vftable()
Definition Mob.h:50
Definition ScriptGameTestConnectivity.h:7
Definition SimulatedPlayer.h:53
Definition Vec3.h:10
Definition BaseGameTestHelper.h:32
Definition ActorDefinitionIdentifier.h:15
Definition GameTestError.h:17
Definition Alias.h:14