LeviLamina
Loading...
Searching...
No Matches
DiodeBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BlockType.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
11class Block;
12class BlockPos;
13class BlockSource;
14// clang-format on
15
16class DiodeBlock : public ::BlockType {
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<1, 1, bool> mOn;
21 // NOLINTEND
22
23public:
24 // prevent constructor by default
25 DiodeBlock();
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
31
32 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
33
34 virtual int getVariant(::Block const& block) const /*override*/;
35
36 virtual int getDirectSignal(::BlockSource& region, ::BlockPos const& pos, int dir) const /*override*/;
37
38 virtual int getSignal(::BlockSource& region, ::BlockPos const& pos, int dir) const;
39
40 virtual bool isSignalSource() const /*override*/;
41
42 virtual bool isLocked(::BlockSource& region, ::BlockPos const& pos) const;
43
44 virtual bool isSameDiode(::Block const& block) const;
45
46 virtual bool shouldPrioritize(::BlockSource& region, ::BlockPos const& pos) const;
47
48 virtual bool canSpawnOn(::Actor*) const /*override*/;
49
50 virtual bool isOn() const;
51
52 virtual bool shouldTurnOn(::BlockSource& region, ::BlockPos const& pos) const;
53
54 virtual int getInputSignal(::BlockSource& region, ::BlockPos const& pos) const;
55
56 virtual bool isAlternateInput(::Block const& block) const;
57
58 virtual int getAlternateSignal(::BlockSource& region, ::BlockPos const& pos) const;
59
60 virtual int getOutputSignal(::Block const&) const;
61
62 virtual int getTurnOffDelay(::Block const& block) const;
63
64 virtual int getTurnOnDelay(::Block const& block) const = 0;
65
66 virtual ::Block const* getOnBlock(::Block const* block) const = 0;
67
68 virtual ::Block const* getOffBlock(::Block const* block) const = 0;
69 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI DiodeBlock(::std::string const& nameId, int id, bool on);
75
76 MCAPI int getAlternateSignalAt(::BlockSource& region, ::BlockPos const& pos, int facing) const;
77 // NOLINTEND
78
79public:
80 // static functions
81 // NOLINTBEGIN
82 MCAPI static bool isDiode(::Block const& block);
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCAPI void* $ctor(::std::string const& nameId, int id, bool on);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
95
96 MCFOLD bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
97
98 MCFOLD int $getVariant(::Block const& block) const;
99
100 MCAPI int $getDirectSignal(::BlockSource& region, ::BlockPos const& pos, int dir) const;
101
102 MCAPI int $getSignal(::BlockSource& region, ::BlockPos const& pos, int dir) const;
103
104 MCFOLD bool $isSignalSource() const;
105
106 MCFOLD bool $isLocked(::BlockSource& region, ::BlockPos const& pos) const;
107
108 MCAPI bool $isSameDiode(::Block const& block) const;
109
110 MCAPI bool $shouldPrioritize(::BlockSource& region, ::BlockPos const& pos) const;
111
112 MCFOLD bool $canSpawnOn(::Actor*) const;
113
114 MCFOLD bool $isOn() const;
115
116 MCAPI bool $shouldTurnOn(::BlockSource& region, ::BlockPos const& pos) const;
117
118 MCAPI int $getInputSignal(::BlockSource& region, ::BlockPos const& pos) const;
119
120 MCAPI bool $isAlternateInput(::Block const& block) const;
121
122 MCAPI int $getAlternateSignal(::BlockSource& region, ::BlockPos const& pos) const;
123
124 MCFOLD int $getOutputSignal(::Block const&) const;
125
126 MCAPI int $getTurnOffDelay(::Block const& block) const;
127
128
129 // NOLINTEND
130
131public:
132 // vftables
133 // NOLINTBEGIN
134 MCNAPI static void** $vftable();
135 // NOLINTEND
136};
Definition Actor.h:125
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
static MCAPI void ** $vftable()