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/WeakTypedObjectHandle.h"
9#include "mc/deps/scripting/runtime/Result.h"
10#include "mc/deps/scripting/script_engine/Closure.h"
11#include "mc/deps/scripting/script_engine/Promise.h"
12#include "mc/scripting/modules/minecraft/ScriptFacing.h"
13#include "mc/scripting/modules/minecraft/block/ScriptFluidType.h"
14#include "mc/world/level/GameType.h"
15
16// auto generated forward declare list
17// clang-format off
18class BlockLegacy;
19class Vec3;
20namespace ScriptModuleGameTest { class ScriptGameTestConnectivity; }
21namespace ScriptModuleGameTest { class ScriptGameTestSequence; }
22namespace ScriptModuleGameTest { class ScriptSculkSpreader; }
23namespace ScriptModuleGameTest { class ScriptSimulatedPlayer; }
24namespace ScriptModuleMinecraft { class ScriptActor; }
25namespace ScriptModuleMinecraft { class ScriptBlock; }
26namespace ScriptModuleMinecraft { class ScriptBlockPermutation; }
27namespace ScriptModuleMinecraft { class ScriptBlockType; }
28namespace ScriptModuleMinecraft { class ScriptDimension; }
29namespace ScriptModuleMinecraft { class ScriptItemStack; }
30namespace ScriptModuleMinecraft { class ScriptItemType; }
31namespace Scripting { class ScriptObjectFactory; }
32namespace Scripting { struct Error; }
33namespace gametest { struct GameTestError; }
34// clang-format on
35
36namespace ScriptModuleGameTest {
37
39public:
40 // member variables
41 // NOLINTBEGIN
46 // NOLINTEND
47
48public:
49 // prevent constructor by default
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI ::std::optional<::BlockLegacy const*>
58 _getBlockFromVariant(::std::variant<
60 ::std::string> const& block);
61
62 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertBlockState(
63 ::Vec3 const& position,
65 );
66
67 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertBlockTypePresent(
68 ::std::variant<
70 ::std::string> const& block,
71 ::Vec3 const& position,
72 bool isPresent
73 );
74
75 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
76 assertCanReachLocation(::ScriptModuleMinecraft::ScriptActor& mob, ::Vec3 const& position, bool canReach);
77
78 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
79 assertCondition(bool condition, ::std::string const& message);
80
81 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
82 assertContainerContains(::ScriptModuleMinecraft::ScriptItemStack const& item, ::Vec3 const& position);
83
84 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertContainerEmpty(::Vec3 const& position);
85
86 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertEntityHasArmor(
87 ::std::string const& actorIdentifier,
88 int armorSlot,
89 ::std::string const& armorName,
90 int dataValue,
91 ::Vec3 const& position,
92 bool hasArmor
93 );
94
95 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertEntityHasComponent(
96 ::std::string const& actorIdentifier,
97 ::std::string const& componentIdentifier,
98 ::Vec3 const& position,
99 bool hasComponent
100 );
101
102 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertEntityInstancePresent(
103 ::ScriptModuleMinecraft::ScriptActor const& scriptActor,
104 ::Vec3 const& position,
105 bool isPresent
106 );
107
108 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
109 assertEntityInstancePresentInArea(::ScriptModuleMinecraft::ScriptActor const& scriptActor, bool isPresent) const;
110
111 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
112 assertEntityPresent(::std::string const& entityIdentifier, ::Vec3 const& position, float distance, bool isPresent);
113
114 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
115 assertEntityPresentInArea(::std::string const& entityIdentifier, bool isPresent);
116
117 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertEntityState(
118 ::Vec3 const& position,
119 ::std::string const& entityIdentifier,
121 );
122
123 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
124 assertEntityTouching(::std::string const& entityIdentifier, ::Vec3 const& position, bool isTouching);
125
126 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
127 assertIsWaterlogged(::Vec3 const& position, bool isWaterlogged);
128
129 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertItemEntityCountIs(
131 itemTypeOrId,
132 ::Vec3 const& position,
133 float searchDistance,
134 int count
135 );
136
137 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertItemEntityPresent(
139 itemTypeOrId,
140 ::Vec3 const& position,
141 float searchDistance,
142 bool isPresent
143 );
144
145 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> assertRedstonePower(::Vec3 const& position, int power);
146
147 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> destroyBlock(::Vec3 const& position, bool dropResources);
148
149 MCAPI ::Scripting::Result<void> fail(::std::string const& error);
150
151 MCAPI ::Scripting::Result<void> failIf(::Scripting::Closure<void()> fn);
152
153 MCAPI ::Scripting::
154 Result<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>, ::gametest::GameTestError>
155 getBlock(::Vec3 const& position);
156
157 MCAPI ::Scripting::Result<
160 getDimension() const;
161
162 MCAPI ::Scripting::Result<
165 getFenceConnectivity(::Vec3 const& relativePos);
166
167 MCAPI ::Scripting::Result<
168 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleGameTest::ScriptSculkSpreader>>,
170 getSculkSpreader(::Vec3 const& relativePos);
171
172 MCAPI ::Scripting::Promise<void, ::Scripting::Error, void>
173 idle(::Scripting::ScriptObjectFactory& factory, int tickDelay);
174
175 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> killAllEntities();
176
177 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
178 onPlayerJump(::ScriptModuleMinecraft::ScriptActor& mob, int jumpAmount);
179
180 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> pressButton(::Vec3 const& position);
181
182 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> print(::std::string const& text);
183
184 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> pullLever(::Vec3 const& position);
185
186 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> pulseRedstone(::Vec3 const& position, int duration);
187
188 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError> relativeBlockPosition(::Vec3 const& worldPos) const;
189
190 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError> relativePosition(::Vec3 const& worldPos) const;
191
192 MCAPI ::Scripting::Result<::ScriptModuleMinecraft::ScriptFacing, ::gametest::GameTestError>
193 rotateDirection(::ScriptModuleMinecraft::ScriptFacing direction) const;
194
195 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError> rotateVector(::Vec3 const& scriptVector) const;
196
197 MCAPI ::Scripting::Result<void> runAfterDelay(int ticksToDelay, ::Scripting::Closure<void()> fn);
198
199 MCAPI ::Scripting::Result<void> runAtTickTime(int tickTime, ::Scripting::Closure<void()> fn);
200
201 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
202 setBlockPermutation(::ScriptModuleMinecraft::ScriptBlockPermutation const& block, ::Vec3 const& position);
203
204 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> setBlockType(
205 ::std::variant<
207 ::std::string> const& block,
208 ::Vec3 const& position
209 );
210
211 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
212 setFluidContainer(::Vec3 const& position, ::ScriptModuleMinecraft::ScriptFluidType type);
213
214 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
215 setTntFuse(::ScriptModuleMinecraft::ScriptActor& tnt, int fuseLength);
216
217 MCAPI ::Scripting::
218 Result<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>, ::gametest::GameTestError>
219 spawn(::std::string const& entityIdentifier, ::Vec3 const& position);
220
221 MCAPI ::Scripting::
222 Result<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>, ::gametest::GameTestError>
223 spawnAtLocation(::std::string const& entityIdentifier, ::Vec3 const& position);
224
225 MCAPI ::Scripting::
226 Result<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>, ::gametest::GameTestError>
227 spawnItem(::ScriptModuleMinecraft::ScriptItemStack const& item, ::Vec3 const& position);
228
229 MCAPI ::Scripting::Result<
232 spawnSimulatedPlayer(::Vec3 const& position, ::std::string const& name, ::GameType gameMode);
233
234 MCAPI ::Scripting::
235 Result<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>, ::gametest::GameTestError>
236 spawnWithoutBehaviors(::std::string const& entityIdentifier, ::Vec3 const& position);
237
238 MCAPI ::Scripting::
239 Result<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>, ::gametest::GameTestError>
240 spawnWithoutBehaviorsAtLocation(::std::string const& entityIdentifier, ::Vec3 const& position);
241
242 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> spreadFromFaceTowardDirection(
243 ::Vec3 const& pos,
244 ::ScriptModuleMinecraft::ScriptFacing fromFace,
245 ::ScriptModuleMinecraft::ScriptFacing direction
246 );
247
248 MCAPI ::Scripting::WeakTypedObjectHandle<::ScriptModuleGameTest::ScriptGameTestSequence> startSequence();
249
250 MCAPI ::Scripting::Result<void> succeed();
251
252 MCAPI ::Scripting::Result<void> succeedIf(::Scripting::Closure<void()> fn);
253
254 MCAPI ::Scripting::Result<void> succeedOnTick(int tick);
255
256 MCAPI ::Scripting::Result<void> succeedOnTickWhen(int tick, ::Scripting::Closure<void()> fn);
257
258 MCAPI ::Scripting::Result<void> succeedWhen(::Scripting::Closure<void()> fn);
259
260 MCAPI ::Scripting::Result<void, ::gametest::GameTestError> succeedWhenBlockPresent(
261 ::std::variant<
263 ::std::string> const& block,
264 ::Vec3 const& position,
265 bool isPresent
266 );
267
268 MCAPI ::Scripting::Result<void> succeedWhenEntityHasComponent(
269 ::std::string const& actorIdentifier,
270 ::std::string const& componentName,
271 ::Vec3 const& position,
272 bool hasComponent
273 );
274
275 MCAPI ::Scripting::Result<void>
276 succeedWhenEntityPresent(::std::string const& entityIdentifier, ::Vec3 const& position, bool isPresent);
277
278 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
279 triggerInternalBlockEvent(::Vec3 const& pos, ::std::string const& event, ::std::vector<float> const& parameters);
280
281 MCAPI ::Scripting::Promise<void, ::Scripting::Error, void>
282 until(::Scripting::ScriptObjectFactory& factory, ::Scripting::Closure<void()> fn);
283
284 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
285 walkTo(::ScriptModuleMinecraft::ScriptActor& mob, ::Vec3 const& position, float speedModifier);
286
287 MCAPI ::Scripting::Result<void, ::gametest::GameTestError>
288 walkToLocation(::ScriptModuleMinecraft::ScriptActor& mob, ::Vec3 const& position, float speedModifier);
289
290 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError> worldBlockPosition(::Vec3 const& relativePos) const;
291
292 MCAPI ::Scripting::Result<::Vec3, ::gametest::GameTestError> worldPosition(::Vec3 const& relativePos) const;
293 // NOLINTEND
294
295public:
296 // static functions
297 // NOLINTBEGIN
298 MCAPI static ::std::optional<::gametest::GameTestError> _callClosure(::Scripting::Closure<void()> const& closure);
299 // NOLINTEND
300};
301
302} // namespace ScriptModuleGameTest
Definition BlockLegacy.h:88
Definition ScriptGameTestHelper.h:38
Definition ScriptActor.h:58
Definition ScriptBlockPermutation.h:26
Definition ScriptItemStack.h:28
Definition Closure.h:8
Definition ScriptObjectFactory.h:7
Definition StrongTypedObjectHandle.h:8
Definition Vec3.h:10
Definition TypedObjectHandle.h:8
Definition GameTestError.h:12
Definition Alias.h:14