LeviLamina
Loading...
Searching...
No Matches
TargetBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/Direction.h"
7#include "mc/world/level/block/BlockType.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class BlockPos;
13class BlockSource;
14class Vec3;
15namespace BlockEvents { class BlockPlaceEvent; }
16namespace BlockEvents { class BlockQueuedTickEvent; }
17// clang-format on
18
19class TargetBlock : public ::BlockType {
20public:
21 // prevent constructor by default
22 TargetBlock();
23
24public:
25 // virtual functions
26 // NOLINTBEGIN
27 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
28
29 virtual bool isSignalSource() const /*override*/;
30
31 virtual bool shouldConnectToRedstone(::BlockSource&, ::BlockPos const&, ::Direction::Type) const /*override*/;
32
33 virtual void onProjectileHit(::BlockSource& region, ::BlockPos const& pos, ::Actor const& projectile) const
34 /*override*/;
35 // NOLINTEND
36
37public:
38 // member functions
39 // NOLINTBEGIN
40 MCAPI TargetBlock(::std::string const& nameId, int id);
41
42 MCAPI void _processHitByProjectileAtPos(
43 ::Vec3 const& hitPos,
44 ::BlockSource& region,
45 ::BlockPos const& blockPos,
46 ::Actor const& projectile
47 ) const;
48
49 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
50
51 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
52 // NOLINTEND
53
54public:
55 // constructor thunks
56 // NOLINTBEGIN
57 MCAPI void* $ctor(::std::string const& nameId, int id);
58 // NOLINTEND
59
60public:
61 // virtual function thunks
62 // NOLINTBEGIN
63 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
64
65 MCFOLD bool $isSignalSource() const;
66
67 MCFOLD bool $shouldConnectToRedstone(::BlockSource&, ::BlockPos const&, ::Direction::Type) const;
68
69 MCAPI void $onProjectileHit(::BlockSource& region, ::BlockPos const& pos, ::Actor const& projectile) const;
70
71
72 // NOLINTEND
73
74public:
75 // vftables
76 // NOLINTBEGIN
77 MCAPI static void** $vftable();
78 // NOLINTEND
79};
Definition Actor.h:125
Definition BlockPlaceEvent.h:18
Definition BlockQueuedTickEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Vec3.h:10