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