LeviLamina
Loading...
Searching...
No Matches
BaseRailBlock.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/BlockRenderLayer.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 Random;
22namespace BlockEvents { class BlockPlaceEvent; }
23// clang-format on
24
26public:
27 // BaseRailBlock inner types declare
28 // clang-format off
29 class Rail;
30 // clang-format on
31
32 // BaseRailBlock inner types define
33 class Rail {
34 public:
35 // member variables
36 // NOLINTBEGIN
41 // NOLINTEND
42
43 public:
44 // prevent constructor by default
45 Rail& operator=(Rail const&);
46 Rail(Rail const&);
47 Rail();
48
49 public:
50 // member functions
51 // NOLINTBEGIN
52 MCAPI Rail(::BlockSource& region, ::BlockPos const& pos);
53
54 MCAPI void connectTo(::BaseRailBlock::Rail& rail);
55
56 MCAPI ::std::shared_ptr<::BaseRailBlock::Rail> getRail(::BlockPos const& p);
57
58 MCAPI bool hasNeighborRail(::BlockPos const& pos);
59
60 MCAPI void place(int signalStrength, bool first);
61
62 MCAPI void removeSoftConnections();
63
64 MCAPI void updateConnections(int direction);
65
66 MCAPI ~Rail();
67 // NOLINTEND
68
69 public:
70 // constructor thunks
71 // NOLINTBEGIN
72 MCAPI void* $ctor(::BlockSource& region, ::BlockPos const& pos);
73 // NOLINTEND
74
75 public:
76 // destructor thunk
77 // NOLINTBEGIN
78 MCFOLD void $dtor();
79 // NOLINTEND
80 };
81
82public:
83 // member variables
84 // NOLINTBEGIN
85 ::ll::TypedStorage<1, 1, bool const> mUsesDataBit;
86 // NOLINTEND
87
88public:
89 // virtual functions
90 // NOLINTBEGIN
91 // vIndex: 11
92 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
93
94 // vIndex: 5
95 virtual ::AABB
97 const /*override*/;
98
99 // vIndex: 79
100 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
101
102 // vIndex: 143
103 virtual ::BlockRenderLayer getRenderLayer(::Block const&, ::BlockSource& region, ::BlockPos const& pos) const
104 /*override*/;
105
106 // vIndex: 67
107 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
108
109 // vIndex: 61
110 virtual void onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const
111 /*override*/;
112
113 // vIndex: 87
114 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
115 /*override*/;
116
117 // vIndex: 39
118 virtual bool isRailBlock() const /*override*/;
119
120 // vIndex: 119
121 virtual bool canSpawnOn(::Actor*) const /*override*/;
122
123 // vIndex: 31
124 virtual bool isLavaBlocking() const /*override*/;
125
126 // vIndex: 115
127 virtual void onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context) /*override*/;
128
129 // vIndex: 136
130 virtual void tick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const /*override*/;
131
132 // vIndex: 142
133 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
134
135 // vIndex: 131
136 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
137
138 // vIndex: 0
139 virtual ~BaseRailBlock() /*override*/ = default;
140 // NOLINTEND
141
142public:
143 // member functions
144 // NOLINTBEGIN
145 MCFOLD void _updatePlacement(::BlockSource& region, ::BlockPos const& pos) const;
146
147 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
148
149 MCAPI void updateDir(::BlockSource& region, ::BlockPos const& pos, bool first) const;
150 // NOLINTEND
151
152public:
153 // static functions
154 // NOLINTBEGIN
155 MCAPI static void _createCircuitComponent(::BlockSource& region, ::BlockPos const& pos);
156 // NOLINTEND
157
158public:
159 // destructor thunk
160 // NOLINTBEGIN
161
162 // NOLINTEND
163
164public:
165 // virtual function thunks
166 // NOLINTBEGIN
167 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
168
169 MCFOLD ::AABB
170 $getCollisionShape(::Block const&, ::IConstBlockSource const&, ::BlockPos const&, ::optional_ref<::GetCollisionShapeInterface const>)
171 const;
172
173 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
174
175 MCAPI ::BlockRenderLayer $getRenderLayer(::Block const&, ::BlockSource& region, ::BlockPos const& pos) const;
176
177 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
178
179 MCAPI void $onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const;
180
181 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
182
183 MCFOLD bool $isRailBlock() const;
184
185 MCFOLD bool $canSpawnOn(::Actor*) const;
186
187 MCFOLD bool $isLavaBlocking() const;
188
189 MCAPI void $onGraphicsModeChanged(::BlockGraphicsModeChangeContext const& context);
190
191 MCAPI void $tick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
192
193 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
194
195 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
196 // NOLINTEND
197};
Definition AABB.h:16
Definition Actor.h:104
Definition BaseRailBlock.h:33
Definition BaseRailBlock.h:25
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Random.h:16
Definition optional_ref.h:10
Definition BlockGraphicsModeChangeContext.h:5
Definition context.h:5
Definition Alias.h:14