19class SurvivalMode :
public ::GameMode {
23 ::ll::TypedStorage<1, 1, bool> mIsTrialMode;
24 ::ll::TypedStorage<1, 1, bool> mHasDisplayedIntro;
25 ::ll::TypedStorage<4, 4, int> mTrialEndedReminder;
26 ::ll::TypedStorage<8, 64, ::std::function<void(
bool)>> mShowUpsellScreenCallback;
36 virtual bool attack(
::Actor& entity) ;
38 virtual bool interact(
::Actor& entity,
::Vec3 const& location) ;
40 virtual bool destroyBlock(
::BlockPos const& pos, uchar face) ;
42 virtual bool startDestroyBlock(
::BlockPos const& pos, uchar face,
bool& hasDestroyedBlock) ;
44 virtual void startBuildBlock(
::BlockPos const& pos, uchar face) ;
46 virtual bool buildBlock(
::BlockPos const& pos, uchar face,
bool const isSimTick) ;
52 virtual ::InteractionResult useItemOn(
63 virtual void setTrialMode(
bool isEnabled) ;
65 virtual bool isInTrialMode() ;
67 virtual void registerUpsellScreenCallback(::std::function<
void(
bool)> callback) ;
73 MCAPI
explicit SurvivalMode(
::Player& player);
75 MCAPI
void _messagePlayers(::std::string message);
77 MCAPI
void _showTrialReminder(
bool force);
83 MCAPI
static bool& mTrialHasEnded();
95 MCAPI
bool $attack(
::Actor& entity);
97 MCAPI
bool $interact(
::Actor& entity,
::Vec3 const& location);
99 MCAPI
bool $destroyBlock(
::BlockPos const& pos, uchar face);
101 MCAPI
bool $startDestroyBlock(
::BlockPos const& pos, uchar face,
bool& hasDestroyedBlock);
103 MCAPI
void $startBuildBlock(
::BlockPos const& pos, uchar face);
105 MCAPI
bool $buildBlock(
::BlockPos const& pos, uchar face,
bool const isSimTick);
111 MCAPI ::InteractionResult $useItemOn(
122 MCAPI
void $setTrialMode(
bool isEnabled);
124 MCFOLD
bool $isInTrialMode();
126 MCAPI
void $registerUpsellScreenCallback(::std::function<
void(
bool)> callback);