17 using BlockBreakCaptureToken = ::gsl::final_action<::std::function<void()>>;
24 virtual ::gsl::final_action<::std::function<void()>> createBlockBreakCaptureScope(
28 virtual void sendDenyDestroyBlock(
::BlockPos const&,
int) = 0;
30 virtual void sendStartDestroyBlock(
::BlockPos const&,
int) = 0;
33 sendTryDestroyBlock(
::BlockPos const&,
int, ::std::function<
bool(::std::optional<::ItemStack>&)>
const&) = 0;
37 virtual void sendChangeContinueDestroyBlock(
::BlockPos const&,
int) = 0;
39 virtual void sendContinueDestroyAboutToDestroyBlock(
::BlockPos const&,
int) = 0;
41 virtual void sendStopDestroyBlock(
::BlockPos const&,
float) = 0;
45 virtual void sendStopItemUseOn(
::BlockPos const&) = 0;
47 virtual void tryRotateTowardsAimAssist() = 0;