LeviLamina
Loading...
Searching...
No Matches
ComparatorBlock.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/ActorBlockBase.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockActor;
14class BlockLegacy;
15class BlockPos;
16class BlockSource;
17class Experiments;
18class ItemInstance;
19class Player;
20namespace BlockEvents { class BlockPlaceEvent; }
21namespace BlockEvents { class BlockQueuedTickEvent; }
22// clang-format on
23
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<1, 1, bool> mOn;
29 // NOLINTEND
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 // vIndex: 118
35 virtual int getVariant(::Block const& block) const /*override*/;
36
37 // vIndex: 119
38 virtual bool canSpawnOn(::Actor*) const /*override*/;
39
40 // vIndex: 139
41 virtual bool use(::Player& player, ::BlockPos const& pos, uchar face) const /*override*/;
42
43 // vIndex: 138
44 virtual bool isInteractiveBlock() const /*override*/;
45
46 // vIndex: 67
47 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
48
49 // vIndex: 61
50 virtual void onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const
51 /*override*/;
52
53 // vIndex: 79
54 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
55
56 // vIndex: 142
57 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
58
59 // vIndex: 99
60 virtual void triggerEvent(::BlockSource& region, ::BlockPos const& pos, int b0, int b1) const /*override*/;
61
62 // vIndex: 44
63 virtual bool isSignalSource() const /*override*/;
64
65 // vIndex: 87
66 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
67 /*override*/;
68
69 // vIndex: 90
70 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
71
72 // vIndex: 52
73 virtual int getDirectSignal(::BlockSource& region, ::BlockPos const& pos, int dir) const /*override*/;
74
75 // vIndex: 54
76 virtual bool
77 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
78 /*override*/;
79
80 // vIndex: 70
81 virtual bool isPreservingMediumWhenPlaced(::BlockLegacy const* medium) const /*override*/;
82
83 // vIndex: 131
84 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
85
86 // vIndex: 0
87 virtual ~ComparatorBlock() /*override*/ = default;
88 // NOLINTEND
89
90public:
91 // member functions
92 // NOLINTBEGIN
93 MCAPI void _installCircuit(::BlockSource& region, ::BlockPos const& pos, bool loading) const;
94
95 MCAPI void _refreshOutputState(::BlockSource& region, ::BlockPos const& pos, int strength) const;
96
97 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
98
99 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
100 // NOLINTEND
101
102public:
103 // destructor thunk
104 // NOLINTBEGIN
105
106 // NOLINTEND
107
108public:
109 // virtual function thunks
110 // NOLINTBEGIN
111 MCFOLD int $getVariant(::Block const& block) const;
112
113 MCFOLD bool $canSpawnOn(::Actor*) const;
114
115 MCAPI bool $use(::Player& player, ::BlockPos const& pos, uchar face) const;
116
117 MCFOLD bool $isInteractiveBlock() const;
118
119 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
120
121 MCAPI void $onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const;
122
123 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
124
125 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
126
127 MCAPI void $triggerEvent(::BlockSource& region, ::BlockPos const& pos, int b0, int b1) const;
128
129 MCFOLD bool $isSignalSource() const;
130
131 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
132
133 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
134
135 MCAPI int $getDirectSignal(::BlockSource& region, ::BlockPos const& pos, int dir) const;
136
137 MCFOLD bool
138 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
139
140 MCFOLD bool $isPreservingMediumWhenPlaced(::BlockLegacy const* medium) const;
141
142 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
143 // NOLINTEND
144
145public:
146 // vftables
147 // NOLINTBEGIN
148 MCAPI static void** $vftable();
149 // NOLINTEND
150};
Definition ActorBlockBase.h:6
Definition Actor.h:104
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:15
Definition BlockQueuedTickEvent.h:15
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition ComparatorBlock.h:24
Definition Experiments.h:14
Definition ItemInstance.h:16
Definition Player.h:119