LeviLamina
Loading...
Searching...
No Matches
BasePressurePlateBlock.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/level/block/BlockType.h"
8
9// auto generated forward declare list
10// clang-format off
11class AABB;
12class Actor;
13class Block;
14class BlockPos;
15class BlockSource;
16class Experiments;
19namespace BlockEvents { class BlockQueuedTickEvent; }
20// clang-format on
21
22class BasePressurePlateBlock : public ::BlockType {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 32, ::std::string> texture;
27 // NOLINTEND
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
33
34 virtual ::AABB getCollisionShape(
35 ::Block const&,
37 ::BlockPos const&,
39 ) const /*override*/;
40
41 virtual int getTickDelay() const;
42
43 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
44 /*override*/;
45
46 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
47
48 virtual bool isAttachedTo(::BlockSource& region, ::BlockPos const& pos, ::BlockPos& outAttachedTo) const
49 /*override*/;
50
51 virtual bool shouldTriggerEntityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const
52 /*override*/;
53
54 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
55
56 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
57 /*override*/;
58
59 virtual int getVariant(::Block const& block) const /*override*/;
60
61 virtual bool canSpawnOn(::Actor*) const /*override*/;
62
63 virtual int getSignalStrength(::BlockSource&, ::BlockPos const&) const = 0;
64
65 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
66
67 virtual int getSignalForData(int) const = 0;
68
69 virtual int getRedstoneSignal(int) const = 0;
70
71 virtual ::AABB const getSensitiveAABB(::BlockPos const& pos) const;
72
73 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
74
75 virtual ~BasePressurePlateBlock() /*override*/ = default;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81 MCAPI void checkPressed(
82 ::BlockSource& region,
83 ::BlockPos const& pos,
84 ::Actor* sourceEntity,
85 int oldSignal,
86 int newSignal
87 ) const;
88
89 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
90 // NOLINTEND
91
92public:
93 // virtual function thunks
94 // NOLINTBEGIN
95 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
96
97 MCFOLD ::AABB $getCollisionShape(
98 ::Block const&,
100 ::BlockPos const&,
102 ) const;
103
104 MCFOLD int $getTickDelay() const;
105
106 MCFOLD bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
107
108 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
109
110 MCAPI bool $isAttachedTo(::BlockSource& region, ::BlockPos const& pos, ::BlockPos& outAttachedTo) const;
111
112 MCAPI bool $shouldTriggerEntityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
113
114 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
115
116 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
117
118 MCFOLD int $getVariant(::Block const& block) const;
119
120 MCFOLD bool $canSpawnOn(::Actor*) const;
121
122 MCFOLD bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
123
124 MCAPI ::AABB const $getSensitiveAABB(::BlockPos const& pos) const;
125
126
127 // NOLINTEND
128};
Definition AABB.h:18
Definition Actor.h:105
Definition BasePressurePlateBlock.h:22
Definition BlockQueuedTickEvent.h:16
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 optional_ref.h:10