45 BaseGameTestHelper& operator=(BaseGameTestHelper
const&);
46 BaseGameTestHelper(BaseGameTestHelper
const&);
52 virtual ~BaseGameTestHelper() =
default;
61 virtual void succeedWhenEntityHasComponent(
68 virtual void succeedWhenBlockPresent(
::Block const&,
int,
int,
int,
bool) = 0;
70 virtual void succeedWhenBlockPresent(
::Block const&,
::BlockPos const&,
bool) = 0;
74 virtual void setNight() = 0;
76 virtual void setDayTime(
int) = 0;
78 virtual ::std::optional<::gametest::GameTestError> setBlock(
int,
int,
int,
::Block const&,
int) = 0;
80 virtual ::std::optional<::gametest::GameTestError> setBlock(
::BlockPos const&,
::Block const&,
int) = 0;
82 virtual ::std::optional<::gametest::GameTestError> destroyBlock(
::BlockPos const&,
bool) = 0;
84 virtual ::std::optional<::gametest::GameTestError> pressButton(
int,
int,
int) = 0;
86 virtual ::std::optional<::gametest::GameTestError> pressButton(
::BlockPos const&) = 0;
88 virtual ::std::optional<::gametest::GameTestError> pullLever(
int,
int,
int) = 0;
90 virtual ::std::optional<::gametest::GameTestError> pullLever(
::BlockPos const&) = 0;
92 virtual ::std::optional<::gametest::GameTestError> killAllEntities() = 0;
94 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
97 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
100 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
103 virtual ::std::variant<::gametest::GameTestError, ::Actor*> spawnItem(
::ItemStack const&,
::Vec3 const&) = 0;
105 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
108 virtual ::std::variant<::gametest::GameTestError, ::Actor*>
111 virtual ::std::optional<::gametest::GameTestError> walkTo(
::Mob&,
::BlockPos const&,
float) = 0;
113 virtual ::std::optional<::gametest::GameTestError> walkTo(
::Mob&,
::Vec3 const&,
float) = 0;
115 virtual ::std::optional<::gametest::GameTestError> setTntFuse(
::Actor&,
int) = 0;
117 virtual ::std::optional<::gametest::GameTestError>
120 virtual ::std::optional<::gametest::GameTestError>
123 virtual ::std::optional<::gametest::GameTestError>
126 virtual ::std::optional<::gametest::GameTestError>
129 virtual ::std::optional<::gametest::GameTestError>
132 virtual ::std::optional<::gametest::GameTestError> assertEntityInstancePresent(
::Actor const*,
bool)
const = 0;
134 virtual ::std::optional<::gametest::GameTestError>
137 virtual ::std::optional<::gametest::GameTestError>
140 virtual ::std::optional<::gametest::GameTestError> assertBlockPresent(
::BlockType const&,
int,
int,
int,
bool) = 0;
142 virtual ::std::optional<::gametest::GameTestError>
145 virtual ::std::optional<::gametest::GameTestError>
148 virtual ::std::optional<::gametest::GameTestError>
149 assertItemEntityPresent(
::Item const&,
int,
int,
int,
float,
bool) = 0;
151 virtual ::std::optional<::gametest::GameTestError>
154 virtual ::std::optional<::gametest::GameTestError>
157 virtual ::std::optional<::gametest::GameTestError> assertContainerEmpty(
::BlockPos const&) = 0;
159 virtual ::std::optional<::gametest::GameTestError>
162 virtual ::std::optional<::gametest::GameTestError>
165 virtual ::std::optional<::gametest::GameTestError> assertEntityHasArmor(
167 ::SharedTypes::Legacy::ArmorSlot,
168 ::std::string
const&,
174 virtual ::std::optional<::gametest::GameTestError> print(::std::string
const&) = 0;
176 virtual ::std::optional<::gametest::GameTestError> assertRedstonePower(
::BlockPos const&,
int) = 0;
178 virtual ::std::optional<::gametest::GameTestError> assertIsWaterlogged(
::BlockPos const&,
bool) = 0;
180 virtual ::std::optional<::gametest::GameTestError> pulseRedstone(
::BlockPos const&,
int) = 0;
182 virtual ::std::variant<::gametest::GameTestError, ::ScriptModuleGameTest::ScriptGameTestConnectivity>
185 virtual ::std::variant<::gametest::GameTestError, ::BlockPos> worldPosition(
::BlockPos const&)
const = 0;
187 virtual ::std::variant<::gametest::GameTestError, ::Vec3> worldPosition(
::Vec3 const&)
const = 0;
189 virtual ::std::variant<::gametest::GameTestError, ::BlockPos> relativePosition(
::BlockPos const&)
const = 0;
191 virtual ::std::variant<::gametest::GameTestError, ::Vec3> relativePosition(
::Vec3 const&)
const = 0;
193 virtual ::std::optional<::gametest::GameTestError> setFluidContainer(
::BlockPos const&,
int) = 0;
195 virtual ::std::optional<::gametest::GameTestError>
196 triggerInternalBlockEvent(
::BlockPos const&, ::std::string
const&, ::std::vector<float>
const&) = 0;
198 virtual ::std::optional<::gametest::GameTestError> assertCanReachLocation(
::Mob&,
::BlockPos const&,
bool) = 0;
200 virtual ::std::optional<::gametest::GameTestError> spreadFromFaceTowardDirection(
202 ::ScriptModuleMinecraft::ScriptFacing,
203 ::ScriptModuleMinecraft::ScriptFacing
206 virtual ::std::variant<::gametest::GameTestError, ::SimulatedPlayer*>
207 spawnSimulatedPlayer(::std::string
const&,
::BlockPos const&, ::GameType) = 0;
211 virtual ::std::variant<::gametest::GameTestError, ::Dimension*> getDimension() = 0;
213 virtual ::std::optional<::gametest::GameTestError> getBlockSource(
::BlockSource*&) = 0;
215 virtual ::std::optional<::gametest::GameTestError> onPlayerJump(
::Mob&,
int) = 0;
223 MCNAPI
void failIf(::std::function<::std::optional<::gametest::GameTestError>()> fn);
226 ::gametest::GameTestErrorType errorType,
227 ::std::string message,
232 ::gametest::GameTestErrorType errorType,
233 ::std::string message,
234 ::std::vector<::std::string> params,
238 MCNAPI ::std::variant<::gametest::GameTestError, uchar>
rotateDirection(uchar direction)
const;
240 MCNAPI
void runAfterDelay(
int ticksToDelay, ::std::function<::std::optional<::gametest::GameTestError>()> fn);
242 MCNAPI
void runAtTickTime(
int tickTime, ::std::function<::std::optional<::gametest::GameTestError>()> fn);
244 MCNAPI
void succeedWhen(::std::function<::std::optional<::gametest::GameTestError>()> fn);
247 ::std::function<::std::optional<::gametest::GameTestError>()> testFn,
248 ::std::function<::std::optional<::gametest::GameTestError>()> doneFn