LeviLamina
Loading...
Searching...
No Matches
TripWireHookBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/world/Direction.h"
8#include "mc/world/level/block/BlockLegacy.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class Block;
15class BlockPos;
16class BlockSource;
17class Experiments;
20class Vec3;
21namespace BlockEvents { class BlockPlaceEvent; }
22namespace BlockEvents { class BlockQueuedTickEvent; }
23// clang-format on
24
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 // vIndex: 11
30 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
31
32 // vIndex: 5
33 virtual ::AABB getCollisionShape(
34 ::Block const&,
36 ::BlockPos const&,
38 ) const /*override*/;
39
40 // vIndex: 131
41 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
42
43 // vIndex: 66
44 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
45
46 // vIndex: 79
47 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
48
49 // vIndex: 78
50 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
51
52 // vIndex: 91
53 virtual ::Block const&
54 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
55 /*override*/;
56
57 // vIndex: 86
58 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
59 /*override*/;
60
61 // vIndex: 53
62 virtual bool
63 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
64 /*override*/;
65
66 // vIndex: 118
67 virtual bool canSpawnOn(::Actor*) const /*override*/;
68
69 // vIndex: 138
70 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
71
72 // vIndex: 130
73 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
74
75 // vIndex: 0
76 virtual ~TripWireHookBlock() /*override*/ = default;
77 // NOLINTEND
78
79public:
80 // member functions
81 // NOLINTBEGIN
82 MCAPI void _emitState(
83 ::BlockSource& region,
84 ::BlockPos const& pos,
85 bool attached,
86 bool powered,
87 bool wasAttached,
88 bool wasPowered
89 ) const;
90
91 MCAPI void
92 calculateState(::BlockSource& region, ::BlockPos const& pos, bool isBeingDestroyed, int wireSourceIdx) const;
93
94 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
95
96 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
97 // NOLINTEND
98
99public:
100 // virtual function thunks
101 // NOLINTBEGIN
102 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
103
104 MCFOLD ::AABB $getCollisionShape(
105 ::Block const&,
106 ::IConstBlockSource const&,
107 ::BlockPos const&,
109 ) const;
110
111 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
112
113 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
114
115 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
116
117 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
118
119 MCAPI ::Block const& $getPlacementBlock(
120 ::Actor const& by,
121 ::BlockPos const& pos,
122 uchar face,
123 ::Vec3 const& clickPos,
124 int itemValue
125 ) const;
126
127 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
128
129 MCFOLD bool
130 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
131
132 MCFOLD bool $canSpawnOn(::Actor*) const;
133
134 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
135
136 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
142 MCNAPI static void** $vftable();
143 // NOLINTEND
144};
Definition AABB.h:18
Definition Actor.h:103
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition TripWireHookBlock.h:25
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition optional_ref.h:10