66 virtual void succeedWhenEntityHasComponent(
74 virtual void succeedWhenBlockPresent(
::Block const&,
int,
int,
int,
bool) = 0;
77 virtual void succeedWhenBlockPresent(
::Block const&,
::BlockPos const&,
bool) = 0;
83 virtual void setNight() = 0;
86 virtual void setDayTime(
int) = 0;
89 virtual ::std::optional<::gametest::GameTestError> setBlock(
int,
int,
int,
::Block const&,
int) = 0;
92 virtual ::std::optional<::gametest::GameTestError> setBlock(
::BlockPos const&,
::Block const&,
int) = 0;
95 virtual ::std::optional<::gametest::GameTestError> destroyBlock(
::BlockPos const&,
bool) = 0;
98 virtual ::std::optional<::gametest::GameTestError> pressButton(
int,
int,
int) = 0;
101 virtual ::std::optional<::gametest::GameTestError> pressButton(
::BlockPos const&) = 0;
104 virtual ::std::optional<::gametest::GameTestError> pullLever(
int,
int,
int) = 0;
107 virtual ::std::optional<::gametest::GameTestError> pullLever(
::BlockPos const&) = 0;
110 virtual ::std::optional<::gametest::GameTestError> killAllEntities() = 0;
113 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
117 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
121 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
125 virtual ::std::variant<::gametest::GameTestError, ::Actor*> spawnItem(
::ItemStack const&,
::Vec3 const&) = 0;
128 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
132 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
136 virtual ::std::optional<::gametest::GameTestError> walkTo(
::Mob&,
::BlockPos const&,
float) = 0;
139 virtual ::std::optional<::gametest::GameTestError> walkTo(
::Mob&,
::Vec3 const&,
float) = 0;
142 virtual ::std::optional<::gametest::GameTestError> setTntFuse(
::Actor&,
int) = 0;
145 virtual ::std::optional<::gametest::GameTestError>
149 virtual ::std::optional<::gametest::GameTestError>
153 virtual ::std::optional<::gametest::GameTestError>
157 virtual ::std::optional<::gametest::GameTestError>
161 virtual ::std::optional<::gametest::GameTestError>
165 virtual ::std::optional<::gametest::GameTestError> assertEntityInstancePresent(
::Actor const*,
bool)
const = 0;
168 virtual ::std::optional<::gametest::GameTestError>
172 virtual ::std::optional<::gametest::GameTestError>
176 virtual ::std::optional<::gametest::GameTestError>
177 assertBlockPresent(
::BlockLegacy const&,
int,
int,
int,
bool) = 0;
180 virtual ::std::optional<::gametest::GameTestError>
184 virtual ::std::optional<::gametest::GameTestError>
188 virtual ::std::optional<::gametest::GameTestError>
189 assertItemEntityPresent(
::Item const&,
int,
int,
int,
float,
bool) = 0;
192 virtual ::std::optional<::gametest::GameTestError>
196 virtual ::std::optional<::gametest::GameTestError>
200 virtual ::std::optional<::gametest::GameTestError> assertContainerEmpty(
::BlockPos const&) = 0;
203 virtual ::std::optional<::gametest::GameTestError>
207 virtual ::std::optional<::gametest::GameTestError>
211 virtual ::std::optional<::gametest::GameTestError> assertEntityHasArmor(
213 ::SharedTypes::Legacy::ArmorSlot,
214 ::std::string
const&,
221 virtual ::std::optional<::gametest::GameTestError> print(::std::string
const&) = 0;
224 virtual ::std::optional<::gametest::GameTestError> assertRedstonePower(
::BlockPos const&,
int) = 0;
227 virtual ::std::optional<::gametest::GameTestError> assertIsWaterlogged(
::BlockPos const&,
bool) = 0;
230 virtual ::std::optional<::gametest::GameTestError> pulseRedstone(
::BlockPos const&,
int) = 0;
233 virtual ::std::variant<::gametest::GameTestError, ::ScriptModuleGameTest::ScriptGameTestConnectivity>
237 virtual ::std::variant<::gametest::GameTestError, ::BlockPos> worldPosition(
::BlockPos const&)
const = 0;
240 virtual ::std::variant<::gametest::GameTestError, ::Vec3> worldPosition(
::Vec3 const&)
const = 0;
243 virtual ::std::variant<::gametest::GameTestError, ::BlockPos> relativePosition(
::BlockPos const&)
const = 0;
246 virtual ::std::variant<::gametest::GameTestError, ::Vec3> relativePosition(
::Vec3 const&)
const = 0;
249 virtual ::std::optional<::gametest::GameTestError> setFluidContainer(
::BlockPos const&,
int) = 0;
252 virtual ::std::optional<::gametest::GameTestError>
253 triggerInternalBlockEvent(
::BlockPos const&, ::std::string
const&, ::std::vector<float>
const&) = 0;
256 virtual ::std::optional<::gametest::GameTestError> assertCanReachLocation(
::Mob&,
::BlockPos const&,
bool) = 0;
259 virtual ::std::optional<::gametest::GameTestError> spreadFromFaceTowardDirection(
261 ::ScriptModuleMinecraft::ScriptFacing,
262 ::ScriptModuleMinecraft::ScriptFacing
266 virtual ::std::variant<::gametest::GameTestError, ::SimulatedPlayer*>
267 spawnSimulatedPlayer(::std::string
const&,
::BlockPos const&, ::GameType) = 0;
273 virtual ::std::variant<::gametest::GameTestError, ::Dimension*> getDimension() = 0;
276 virtual ::std::optional<::gametest::GameTestError> getBlockSource(
::BlockSource*&) = 0;
279 virtual ::std::optional<::gametest::GameTestError> onPlayerJump(
::Mob&,
int) = 0;
285 MCAPI ::Vec3 _absoluteVec(
::Vec3 const& relativeVec)
const;
287 MCAPI ::std::optional<::gametest::GameTestError> assertCondition(
bool condition, ::std::string
const& message);
289 MCAPI
void failIf(::std::function<::std::optional<::gametest::GameTestError>()> fn);
291 MCAPI ::gametest::GameTestError generateErrorWithContext(
292 ::gametest::GameTestErrorType message,
293 ::std::string relativePos,
297 MCAPI ::gametest::GameTestError generateErrorWithContext(
298 ::gametest::GameTestErrorType errorType,
299 ::std::string message,
300 ::std::vector<::std::string> params,
304 MCAPI ::std::variant<::gametest::GameTestError, uchar> rotateDirection(uchar direction)
const;
306 MCAPI
void runAfterDelay(
int ticksToDelay, ::std::function<::std::optional<::gametest::GameTestError>()> fn);
308 MCAPI
void runAtTickTime(
int tickTime, ::std::function<::std::optional<::gametest::GameTestError>()> fn);
310 MCAPI
void succeedWhen(::std::function<::std::optional<::gametest::GameTestError>()> fn);
313 ::std::function<::std::optional<::gametest::GameTestError>()> testFn,
314 ::std::function<::std::optional<::gametest::GameTestError>()> doneFn