LeviLamina
Loading...
Searching...
No Matches
BaseGameTestHelper.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/shared_types/legacy/actor/ArmorSlot.h"
8#include "mc/gametest/framework/GameTestErrorType.h"
9#include "mc/scripting/modules/minecraft/ScriptFacing.h"
10#include "mc/world/level/GameType.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class Block;
16class BlockPos;
17class BlockSource;
18class BlockType;
19class Dimension;
20class Item;
21class ItemStack;
22class Mob;
23class SimulatedPlayer;
24class Vec3;
26namespace ScriptModuleGameTest { class ScriptGameTestConnectivity; }
27namespace gametest { struct GameTestError; }
28// clang-format on
29
30namespace gametest {
31
32class BaseGameTestHelper : public ::Bedrock::EnableNonOwnerReferences {
33public:
34 // member variables
35 // NOLINTBEGIN
41 // NOLINTEND
42
43public:
44 // prevent constructor by default
45 BaseGameTestHelper& operator=(BaseGameTestHelper const&);
46 BaseGameTestHelper(BaseGameTestHelper const&);
47 BaseGameTestHelper();
48
49public:
50 // virtual functions
51 // NOLINTBEGIN
52 virtual ~BaseGameTestHelper() /*override*/ = default;
53
54 virtual void succeedWhenEntityPresent(::ActorDefinitionIdentifier const&, int, int, int, bool) = 0;
55
56 virtual void succeedWhenEntityPresent(::ActorDefinitionIdentifier const&, ::BlockPos const&, bool) = 0;
57
58 virtual void
59 succeedWhenEntityData(::BlockPos const&, ::ActorDefinitionIdentifier const&, ::std::function<bool(::Actor&)>) = 0;
60
61 virtual void succeedWhenEntityHasComponent(
63 ::std::string const&,
64 ::BlockPos const&,
65 bool
66 ) = 0;
67
68 virtual void succeedWhenBlockPresent(::Block const&, int, int, int, bool) = 0;
69
70 virtual void succeedWhenBlockPresent(::Block const&, ::BlockPos const&, bool) = 0;
71
72 virtual void succeedWhenBlockPresent(::BlockType const&, ::BlockPos const&, bool) = 0;
73
74 virtual void setNight() = 0;
75
76 virtual void setDayTime(int) = 0;
77
78 virtual ::std::optional<::gametest::GameTestError> setBlock(int, int, int, ::Block const&, int) = 0;
79
80 virtual ::std::optional<::gametest::GameTestError> setBlock(::BlockPos const&, ::Block const&, int) = 0;
81
82 virtual ::std::optional<::gametest::GameTestError> destroyBlock(::BlockPos const&, bool) = 0;
83
84 virtual ::std::optional<::gametest::GameTestError> pressButton(int, int, int) = 0;
85
86 virtual ::std::optional<::gametest::GameTestError> pressButton(::BlockPos const&) = 0;
87
88 virtual ::std::optional<::gametest::GameTestError> pullLever(int, int, int) = 0;
89
90 virtual ::std::optional<::gametest::GameTestError> pullLever(::BlockPos const&) = 0;
91
92 virtual ::std::optional<::gametest::GameTestError> killAllEntities() = 0;
93
94 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
95 spawn(::ActorDefinitionIdentifier const&, int, int, int) = 0;
96
97 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
98 spawn(::ActorDefinitionIdentifier const&, ::BlockPos const&) = 0;
99
100 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
101 spawn(::ActorDefinitionIdentifier const&, ::Vec3 const&) = 0;
102
103 virtual ::std::variant<::gametest::GameTestError, ::Actor*> spawnItem(::ItemStack const&, ::Vec3 const&) = 0;
104
105 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
106 spawnWithoutBehaviors(::ActorDefinitionIdentifier const&, ::BlockPos const&) = 0;
107
108 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
109 spawnWithoutBehaviors(::ActorDefinitionIdentifier const&, ::Vec3 const&) = 0;
110
111 virtual ::std::optional<::gametest::GameTestError> walkTo(::Mob&, ::BlockPos const&, float) = 0;
112
113 virtual ::std::optional<::gametest::GameTestError> walkTo(::Mob&, ::Vec3 const&, float) = 0;
114
115 virtual ::std::optional<::gametest::GameTestError> setTntFuse(::Actor&, int) = 0;
116
117 virtual ::std::optional<::gametest::GameTestError>
118 assertEntityPresent(::ActorDefinitionIdentifier const&, bool) = 0;
119
120 virtual ::std::optional<::gametest::GameTestError>
121 assertEntityPresent(::ActorDefinitionIdentifier const&, int, int, int, bool) = 0;
122
123 virtual ::std::optional<::gametest::GameTestError>
124 assertEntityPresent(::ActorDefinitionIdentifier const&, ::BlockPos const&, bool) = 0;
125
126 virtual ::std::optional<::gametest::GameTestError>
127 assertEntityPresent(::ActorDefinitionIdentifier const&, ::BlockPos const&, float const, bool) = 0;
128
129 virtual ::std::optional<::gametest::GameTestError>
130 assertEntityInstancePresent(::Actor const*, ::BlockPos const&, bool) = 0;
131
132 virtual ::std::optional<::gametest::GameTestError> assertEntityInstancePresent(::Actor const*, bool) const = 0;
133
134 virtual ::std::optional<::gametest::GameTestError>
135 assertEntityTouching(::ActorDefinitionIdentifier const&, ::Vec3 const&, bool) = 0;
136
137 virtual ::std::optional<::gametest::GameTestError>
138 assertEntityState(::BlockPos const&, ::ActorDefinitionIdentifier const&, ::std::function<bool(::Actor&)>) = 0;
139
140 virtual ::std::optional<::gametest::GameTestError> assertBlockPresent(::BlockType const&, int, int, int, bool) = 0;
141
142 virtual ::std::optional<::gametest::GameTestError>
143 assertBlockPresent(::BlockType const&, ::BlockPos const&, bool) = 0;
144
145 virtual ::std::optional<::gametest::GameTestError>
146 assertBlockState(::BlockPos const&, ::std::function<bool(::Block const&)>) = 0;
147
148 virtual ::std::optional<::gametest::GameTestError>
149 assertItemEntityPresent(::Item const&, int, int, int, float, bool) = 0;
150
151 virtual ::std::optional<::gametest::GameTestError>
152 assertItemEntityPresent(::Item const&, ::BlockPos const&, float, bool) = 0;
153
154 virtual ::std::optional<::gametest::GameTestError>
155 assertItemEntityCountIs(::Item const&, ::BlockPos const&, float, int) = 0;
156
157 virtual ::std::optional<::gametest::GameTestError> assertContainerEmpty(::BlockPos const&) = 0;
158
159 virtual ::std::optional<::gametest::GameTestError>
160 assertContainerContains(::ItemStack const&, ::BlockPos const&) = 0;
161
162 virtual ::std::optional<::gametest::GameTestError>
163 assertEntityHasComponent(::ActorDefinitionIdentifier const&, ::std::string const&, ::BlockPos const&, bool) = 0;
164
165 virtual ::std::optional<::gametest::GameTestError> assertEntityHasArmor(
167 ::SharedTypes::Legacy::ArmorSlot,
168 ::std::string const&,
169 int,
170 ::BlockPos const&,
171 bool
172 ) = 0;
173
174 virtual ::std::optional<::gametest::GameTestError> print(::std::string const&) = 0;
175
176 virtual ::std::optional<::gametest::GameTestError> assertRedstonePower(::BlockPos const&, int) = 0;
177
178 virtual ::std::optional<::gametest::GameTestError> assertIsWaterlogged(::BlockPos const&, bool) = 0;
179
180 virtual ::std::optional<::gametest::GameTestError> pulseRedstone(::BlockPos const&, int) = 0;
181
182 virtual ::std::variant<::gametest::GameTestError, ::ScriptModuleGameTest::ScriptGameTestConnectivity>
183 getFenceConnectivity(::BlockPos const&) = 0;
184
185 virtual ::std::variant<::gametest::GameTestError, ::BlockPos> worldPosition(::BlockPos const&) const = 0;
186
187 virtual ::std::variant<::gametest::GameTestError, ::Vec3> worldPosition(::Vec3 const&) const = 0;
188
189 virtual ::std::variant<::gametest::GameTestError, ::BlockPos> relativePosition(::BlockPos const&) const = 0;
190
191 virtual ::std::variant<::gametest::GameTestError, ::Vec3> relativePosition(::Vec3 const&) const = 0;
192
193 virtual ::std::optional<::gametest::GameTestError> setFluidContainer(::BlockPos const&, int) = 0;
194
195 virtual ::std::optional<::gametest::GameTestError>
196 triggerInternalBlockEvent(::BlockPos const&, ::std::string const&, ::std::vector<float> const&) = 0;
197
198 virtual ::std::optional<::gametest::GameTestError> assertCanReachLocation(::Mob&, ::BlockPos const&, bool) = 0;
199
200 virtual ::std::optional<::gametest::GameTestError> spreadFromFaceTowardDirection(
201 ::BlockPos const&,
202 ::ScriptModuleMinecraft::ScriptFacing,
203 ::ScriptModuleMinecraft::ScriptFacing
204 ) = 0;
205
206 virtual ::std::variant<::gametest::GameTestError, ::SimulatedPlayer*>
207 spawnSimulatedPlayer(::std::string const&, ::BlockPos const&, ::GameType) = 0;
208
209 virtual void removeSimulatedPlayer(::SimulatedPlayer&) = 0;
210
211 virtual ::std::variant<::gametest::GameTestError, ::Dimension*> getDimension() = 0;
212
213 virtual ::std::optional<::gametest::GameTestError> getBlockSource(::BlockSource*&) = 0;
214
215 virtual ::std::optional<::gametest::GameTestError> onPlayerJump(::Mob&, int) = 0;
216 // NOLINTEND
217
218public:
219 // member functions
220 // NOLINTBEGIN
221 MCNAPI ::Vec3 _absoluteVec(::Vec3 const& relativeVec) const;
222
223 MCNAPI void failIf(::std::function<::std::optional<::gametest::GameTestError>()> fn);
224
225 MCNAPI ::gametest::GameTestError generateErrorWithContext(
226 ::gametest::GameTestErrorType errorType,
227 ::std::string message,
228 ::BlockPos const& relativePos
229 ) const;
230
231 MCNAPI ::gametest::GameTestError generateErrorWithContext(
232 ::gametest::GameTestErrorType errorType,
233 ::std::string message,
234 ::std::vector<::std::string> params,
235 ::BlockPos const& relativePos
236 ) const;
237
238 MCNAPI ::std::variant<::gametest::GameTestError, uchar> rotateDirection(uchar direction) const;
239
240 MCNAPI void runAfterDelay(int ticksToDelay, ::std::function<::std::optional<::gametest::GameTestError>()> fn);
241
242 MCNAPI void runAtTickTime(int tickTime, ::std::function<::std::optional<::gametest::GameTestError>()> fn);
243
244 MCNAPI void succeedWhen(::std::function<::std::optional<::gametest::GameTestError>()> fn);
245
246 MCNAPI void until(
247 ::std::function<::std::optional<::gametest::GameTestError>()> testFn,
248 ::std::function<::std::optional<::gametest::GameTestError>()> doneFn
249 );
250 // NOLINTEND
251
252public:
253 // virtual function thunks
254 // NOLINTBEGIN
255
256 // NOLINTEND
257};
258
259} // namespace gametest
Definition Actor.h:105
Definition EnableNonOwnerReferences.h:7
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BlockType.h:84
Definition Block.h:43
Definition Dimension.h:85
Definition ItemStack.h:26
Definition Item.h:69
Definition Mob.h:50
Definition ScriptGameTestConnectivity.h:7
Definition SimulatedPlayer.h:53
Definition Vec3.h:10
MCAPI void succeedWhen(::std::function<::std::optional<::gametest::GameTestError >()> fn)
MCAPI::Vec3 _absoluteVec(::Vec3 const &relativeVec) const
MCAPI void failIf(::std::function<::std::optional<::gametest::GameTestError >()> fn)
MCAPI void until(::std::function<::std::optional<::gametest::GameTestError >()> testFn, ::std::function<::std::optional<::gametest::GameTestError >()> doneFn)
MCAPI::gametest::GameTestError generateErrorWithContext(::gametest::GameTestErrorType errorType, ::std::string message, ::BlockPos const &relativePos) const
MCAPI void runAfterDelay(int ticksToDelay, ::std::function<::std::optional<::gametest::GameTestError >()> fn)
MCAPI void runAtTickTime(int tickTime, ::std::function<::std::optional<::gametest::GameTestError >()> fn)
MCAPI::gametest::GameTestError generateErrorWithContext(::gametest::GameTestErrorType errorType, ::std::string message, ::std::vector<::std::string > params, ::BlockPos const &relativePos) const
MCAPI ::std::variant<::gametest::GameTestError, uchar > rotateDirection(uchar direction) const
Definition ActorDefinitionIdentifier.h:15
Definition GameTestError.h:17
Definition Alias.h:14