LeviLamina
Loading...
Searching...
No Matches
IGameModeMessenger.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Block;
8class BlockPos;
9class ItemStack;
10// clang-format on
11
13public:
14 // IGameModeMessenger inner types define
15 using BlockBreakCallback = ::std::function<void(::ItemStack const&, ::ItemStack const&, ::BlockPos const&)>;
16
17 using BlockBreakCaptureToken = ::gsl::final_action<::std::function<void()>>;
18
19public:
20 // virtual functions
21 // NOLINTBEGIN
22 virtual ~IGameModeMessenger() = default;
23
24 virtual ::gsl::final_action<::std::function<void()>> createBlockBreakCaptureScope(
25 ::std::function<void(::ItemStack const&, ::ItemStack const&, ::BlockPos const&)> callback
26 ) = 0;
27
28 virtual void sendDenyDestroyBlock(::BlockPos const& pos, int face) = 0;
29
30 virtual void sendStartDestroyBlock(::BlockPos const& pos, int face) = 0;
31
32 virtual bool sendTryDestroyBlock(
33 ::BlockPos const& pos,
34 int face,
35 ::std::function<bool(::std::optional<::ItemStack>&)> const& tryDestroy
36 ) = 0;
37
38 virtual void sendDestroyBlock(::Block const& oldBlock, ::BlockPos const& pos, int variantData) = 0;
39
40 virtual void sendChangeContinueDestroyBlock(::BlockPos const& pos, int face) = 0;
41
42 virtual void sendContinueDestroyAboutToDestroyBlock(::BlockPos const& pos, int face) = 0;
43
44 virtual void sendStopDestroyBlock(::BlockPos const&, float) = 0;
45
46 virtual void sendStartItemUseOn(::BlockPos const& pos, ::BlockPos const& buildPos, int face) = 0;
47
48 virtual void sendStopItemUseOn(::BlockPos const& pos) = 0;
49
50 virtual void tryRotateTowardsAimAssist() = 0;
51 // NOLINTEND
52};
Definition BlockPos.h:21
Definition Block.h:41
Definition ItemStack.h:24
Definition IGameModeMessenger.h:12