LeviLamina
Loading...
Searching...
No Matches
RedStoneWireBlock.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/Direction.h"
8#include "mc/world/level/block/BlockType.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class Block;
15class BlockActor;
16class BlockPos;
17class BlockSource;
18class Experiments;
21class ItemInstance;
23namespace BlockEvents { class BlockPlaceEvent; }
24namespace BlockEvents { class BlockQueuedTickEvent; }
25namespace BlockEvents { class BlockRedstoneUpdateEvent; }
26// clang-format on
27
28class RedStoneWireBlock : public ::BlockType {
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ::AABB getCollisionShape(
33 ::Block const&,
35 ::BlockPos const&,
37 ) const /*override*/;
38
39 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
40
41 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
42
43 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
44
45 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
46 /*override*/;
47
48 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
49
50 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
51
52 virtual bool
53 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
54 /*override*/;
55
56 virtual bool canSpawnOn(::Actor*) const /*override*/;
57
58 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
59
60 virtual ~RedStoneWireBlock() /*override*/ = default;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCAPI void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent& blockEvent) const;
67
68 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
69
70 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
71 // NOLINTEND
72
73public:
74 // static functions
75 // NOLINTBEGIN
76#ifdef LL_PLAT_C
77 MCAPI static bool shouldConnectTo(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction);
78#endif
79 // NOLINTEND
80
81public:
82 // virtual function thunks
83 // NOLINTBEGIN
84 MCFOLD ::AABB $getCollisionShape(
85 ::Block const&,
87 ::BlockPos const&,
89 ) const;
90
91 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
92
93 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
94
95 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
96
97 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
98
99 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
100
101 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
102
103 MCFOLD bool
104 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
105
106 MCFOLD bool $canSpawnOn(::Actor*) const;
107
108 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
109
110
111 // NOLINTEND
112
113public:
114 // vftables
115 // NOLINTBEGIN
116 MCAPI static void** $vftable();
117 // NOLINTEND
118};
Definition AABB.h:18
Definition Actor.h:106
Definition BlockActor.h:30
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Block.h:43
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition RedStoneWireBlock.h:28
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14