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 MCAPI_C static bool shouldConnectTo(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction);
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCFOLD ::AABB $getCollisionShape(
83 ::Block const&,
85 ::BlockPos const&,
87 ) const;
88
89 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
90
91 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
92
93 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
94
95 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
96
97 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
98
99 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
100
101 MCFOLD bool
102 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
103
104 MCFOLD bool $canSpawnOn(::Actor*) const;
105
106 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
107
108
109 // NOLINTEND
110
111public:
112 // vftables
113 // NOLINTBEGIN
114 MCNAPI static void** $vftable();
115 // NOLINTEND
116};
Definition AABB.h:18
Definition Actor.h:105
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition ItemInstance.h:15
Definition RedStoneWireBlock.h:28
static MCAPI void ** $vftable()
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14