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;
18class Material;
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 // prevent constructor by default
31 BasePressurePlateBlock();
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
37
38 virtual ::AABB getCollisionShape(
39 ::Block const&,
41 ::BlockPos const&,
43 ) const /*override*/;
44
45 virtual int getTickDelay() const;
46
47 virtual bool checkIsPathable(::Actor&, ::BlockPos const&, ::BlockPos const&) const /*override*/;
48
49 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
50
51 virtual bool isAttachedTo(::BlockSource& pos, ::BlockPos const& outAttachedTo, ::BlockPos&) const /*override*/;
52
53 virtual bool shouldTriggerEntityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const
54 /*override*/;
55
56 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
57
58 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
59 /*override*/;
60
61 virtual int getVariant(::Block const& block) const /*override*/;
62
63 virtual bool canSpawnOn(::Actor*) const /*override*/;
64
65 virtual int getSignalStrength(::BlockSource& region, ::BlockPos const& pos) const = 0;
66
67 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
68
69 virtual int getSignalForData(int data) const = 0;
70
71 virtual int getRedstoneSignal(int signal) const = 0;
72
73 virtual ::AABB const getSensitiveAABB(::BlockPos const& pos) const;
74 // NOLINTEND
75
76public:
77 // member functions
78 // NOLINTBEGIN
79 MCAPI BasePressurePlateBlock(::std::string const& nameId, int id, ::Material const& material);
80
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 // constructor thunks
94 // NOLINTBEGIN
95 MCAPI void* $ctor(::std::string const& nameId, int id, ::Material const& material);
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
102
103 MCFOLD ::AABB $getCollisionShape(
104 ::Block const&,
105 ::IConstBlockSource const&,
106 ::BlockPos const&,
108 ) const;
109
110 MCFOLD int $getTickDelay() const;
111
112 MCFOLD bool $checkIsPathable(::Actor&, ::BlockPos const&, ::BlockPos const&) const;
113
114 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
115
116 MCAPI bool $isAttachedTo(::BlockSource& pos, ::BlockPos const& outAttachedTo, ::BlockPos&) const;
117
118 MCAPI bool $shouldTriggerEntityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
119
120 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
121
122 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
123
124 MCFOLD int $getVariant(::Block const& block) const;
125
126 MCFOLD bool $canSpawnOn(::Actor*) const;
127
128 MCFOLD bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
129
130 MCAPI ::AABB const $getSensitiveAABB(::BlockPos const& pos) const;
131
132
133 // NOLINTEND
134
135public:
136 // vftables
137 // NOLINTBEGIN
138 MCNAPI static void** $vftable();
139 // NOLINTEND
140};
Definition AABB.h:18
Definition Actor.h:125
static MCAPI void ** $vftable()
Definition BlockQueuedTickEvent.h:18
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Material.h:8
Definition optional_ref.h:10