LeviLamina
Loading...
Searching...
No Matches
FenceGateBlock.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/level/block/BlockLegacy.h"
8#include "mc/world/level/block/WoodType.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 Player;
21namespace BlockEvents { class BlockPlaceEvent; }
22namespace BlockEvents { class BlockPlayerInteractEvent; }
23namespace BlockEvents { class BlockQueuedTickEvent; }
24// clang-format on
25
27public:
28 // prevent constructor by default
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 // vIndex: 66
35 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
36
37 // vIndex: 60
38 virtual void onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const
39 /*override*/;
40
41 // vIndex: 5
42 virtual ::AABB getCollisionShape(
43 ::Block const& block,
45 ::BlockPos const& pos,
47 ) const /*override*/;
48
49 // vIndex: 9
50 virtual ::AABB const&
51 getOutline(::Block const& block, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
52 /*override*/;
53
54 // vIndex: 86
55 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
56 /*override*/;
57
58 // vIndex: 136
59 virtual bool isInteractiveBlock() const /*override*/;
60
61 // vIndex: 72
62 virtual bool ignoreEntitiesOnPistonMove(::Block const& block) const /*override*/;
63
64 // vIndex: 24
65 virtual bool canConnect(::Block const& otherBlock, uchar toOther, ::Block const& thisBlock) const /*override*/;
66
67 // vIndex: 13
68 virtual bool
69 getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const
70 /*override*/;
71
72 // vIndex: 32
73 virtual bool isFenceGateBlock() const /*override*/;
74
75 // vIndex: 130
76 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
77
78 // vIndex: 145
79 virtual void _onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const /*override*/;
80
81 // vIndex: 0
82 virtual ~FenceGateBlock() /*override*/ = default;
83 // NOLINTEND
84
85public:
86 // member functions
87 // NOLINTBEGIN
88 MCAPI FenceGateBlock(::std::string const& nameId, int id, ::WoodType);
89
90 MCAPI void _setOpen(
91 ::BlockSource& region,
92 ::gsl::not_null<::Block const*> block,
93 ::BlockPos const& pos,
94 ::Player* player,
95 bool shouldBeOpen
96 ) const;
97
98 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
99
100 MCAPI void resolveIsInWall(::BlockSource& region, ::BlockPos const& pos) const;
101
102 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
103
104 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
105 // NOLINTEND
106
107public:
108 // static functions
109 // NOLINTBEGIN
110 MCAPI static ::AABB const&
111 _getShape(::BlockPos const& pos, ::Block const& block, ::AABB& bufferValue, bool isCollisionShape);
112 // NOLINTEND
113
114public:
115 // constructor thunks
116 // NOLINTBEGIN
117 MCAPI void* $ctor(::std::string const& nameId, int id, ::WoodType);
118 // NOLINTEND
119
120public:
121 // virtual function thunks
122 // NOLINTBEGIN
123 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
124
125 MCAPI void $onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const;
126
127 MCAPI ::AABB $getCollisionShape(
128 ::Block const& block,
129 ::IConstBlockSource const&,
130 ::BlockPos const& pos,
132 ) const;
133
134 MCAPI ::AABB const&
135 $getOutline(::Block const& block, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
136
137 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
138
139 MCFOLD bool $isInteractiveBlock() const;
140
141 MCAPI bool $ignoreEntitiesOnPistonMove(::Block const& block) const;
142
143 MCAPI bool $canConnect(::Block const& otherBlock, uchar toOther, ::Block const& thisBlock) const;
144
145 MCFOLD bool
146 $getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const;
147
148 MCFOLD bool $isFenceGateBlock() const;
149
150 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
151
152 MCAPI void $_onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const;
153 // NOLINTEND
154
155public:
156 // vftables
157 // NOLINTBEGIN
158 MCNAPI static void** $vftable();
159 // NOLINTEND
160};
Definition AABB.h:18
Definition Actor.h:103
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
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 FenceGateBlock.h:26
static MCAPI void ** $vftable()
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Player.h:119
Definition optional_ref.h:10