Skip to content
LeviMC
English
AutoLightDark
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 // virtual functions
22 // NOLINTBEGIN
23 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
24
25 virtual bool requiresLegacyRedstoneSetup() const /*override*/;
26
27 virtual bool isSignalSource() const /*override*/;
28
29 virtual bool
30 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
31 /*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 void _processHitByProjectileAtPos(
41 ::Vec3 const& hitPos,
42 ::BlockSource& region,
43 ::BlockPos const& blockPos,
44 ::Actor const& projectile
45 ) const;
46
47 MCNAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
48
49 MCNAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
50 // NOLINTEND
51
52public:
53 // virtual function thunks
54 // NOLINTBEGIN
55 MCNAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
56
57 MCNAPI bool $requiresLegacyRedstoneSetup() const;
58
59 MCNAPI bool $isSignalSource() const;
60
61 MCNAPI bool
62 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
63
64 MCAPI void $onProjectileHit(::BlockSource& region, ::BlockPos const& pos, ::Actor const& projectile) const;
65
66
67 // NOLINTEND
68
69public:
70 // vftables
71 // NOLINTBEGIN
72 MCAPI static void** $vftable();
73 // NOLINTEND
74};
Definition Actor.h:116
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition TargetBlock.h:19
MCAPI void tick(::BlockEvents::BlockQueuedTickEvent &eventData) const
MCAPI void $setupRedstoneComponent(::BlockSource &region, ::BlockPos const &pos) const
MCAPI void onPlace(::BlockEvents::BlockPlaceEvent &eventData) const
MCAPI bool $isSignalSource() const
MCAPI bool $shouldConnectToRedstone(::BlockSource &region, ::BlockPos const &pos, ::Direction::Type direction) const
MCAPI bool $requiresLegacyRedstoneSetup() const
Definition Vec3.h:10