LeviLamina
Loading...
Searching...
No Matches
RedstoneTorchBlock.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/TorchBlock.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockActor;
14class BlockPos;
15class BlockSource;
16class Experiments;
17class ItemInstance;
19namespace BlockEvents { class BlockPlaceEvent; }
20namespace BlockEvents { class BlockRedstoneUpdateEvent; }
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<1, 1, bool> mOn;
28 // NOLINTEND
29
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
34
35 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
36
37 virtual int getTickDelay();
38
39 virtual bool
40 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
41 /*override*/;
42
43 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
44
45 virtual bool isSignalSource() const /*override*/;
46
47 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
48 /*override*/;
49
50 virtual bool canSpawnOn(::Actor*) const /*override*/;
51
52 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
53
54 virtual ~RedstoneTorchBlock() /*override*/ = default;
55 // NOLINTEND
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI void _installCircuit(::BlockSource& source, ::BlockPos const& pos) const;
61
62 MCAPI void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent& blockEvent) const;
63
64 MCAPI void onPlaceRedstoneTorchBlock(::BlockEvents::BlockPlaceEvent& eventData) const;
65 // NOLINTEND
66
67public:
68 // virtual function thunks
69 // NOLINTBEGIN
70 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
71
72 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
73
74 MCFOLD int $getTickDelay();
75
76 MCFOLD bool
77 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
78
79 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
80
81 MCFOLD bool $isSignalSource() const;
82
83 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
84
85 MCFOLD bool $canSpawnOn(::Actor*) const;
86
87 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
88
89
90 // NOLINTEND
91
92public:
93 // vftables
94 // NOLINTBEGIN
95 MCNAPI static void** $vftable();
96 // NOLINTEND
97};
Definition Actor.h:105
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:16
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Experiments.h:14
Definition ItemInstance.h:15
Definition RedstoneTorchBlock.h:23
static MCAPI void ** $vftable()
Definition TorchBlock.h:27
Definition BlockAnimateTickData.h:14