LeviLamina
Loading...
Searching...
No Matches
PortalBlock.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/BlockLegacy.h"
8#include "mc/world/level/block/PortalAxis.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;
22class Random;
24namespace BlockEvents { class BlockPlaceEvent; }
25// clang-format on
26
27class PortalBlock : public ::BlockLegacy {
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 // vIndex: 77
32 virtual bool mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const /*override*/;
33
34 // vIndex: 132
35 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
36
37 // vIndex: 136
38 virtual void tick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const /*override*/;
39
40 // vIndex: 123
41 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
42
43 // vIndex: 10
44 virtual ::AABB const& getVisualShapeInWorld(
45 ::Block const& block,
46 ::IConstBlockSource const& region,
47 ::BlockPos const& pos,
48 ::AABB& bufferAABB
49 ) const /*override*/;
50
51 // vIndex: 5
52 virtual ::AABB
54 const /*override*/;
55
56 // vIndex: 9
57 virtual ::AABB const&
58 getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
59 /*override*/;
60
61 // vIndex: 149
62 virtual void entityInside(::BlockSource&, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
63
64 // vIndex: 87
65 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
66 /*override*/;
67
68 // vIndex: 90
69 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
70
71 // vIndex: 31
72 virtual bool isLavaBlocking() const /*override*/;
73
74 // vIndex: 131
75 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
76
77 // vIndex: 0
78 virtual ~PortalBlock() /*override*/ = default;
79 // NOLINTEND
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
85
86 MCAPI void tryMatchPortalRecordToFrameBlocksContainingPos(::BlockSource& region, ::BlockPos const& pos) const;
87 // NOLINTEND
88
89public:
90 // static functions
91 // NOLINTBEGIN
92 MCAPI static void trySpawnPigZombie(::BlockSource& region, ::BlockPos const& pos, ::PortalAxis axis);
93
94 MCAPI static bool trySpawnPortal(::BlockSource& region, ::BlockPos const& pos);
95 // NOLINTEND
96
97public:
98 // destructor thunk
99 // NOLINTBEGIN
100
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCAPI bool $mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const;
107
108 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
109
110 MCAPI void $tick(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
111
112 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
113
114 MCAPI ::AABB const& $getVisualShapeInWorld(
115 ::Block const& block,
116 ::IConstBlockSource const& region,
117 ::BlockPos const& pos,
118 ::AABB& bufferAABB
119 ) const;
120
121 MCFOLD ::AABB
123 const;
124
125 MCFOLD ::AABB const&
126 $getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
127
128 MCAPI void $entityInside(::BlockSource&, ::BlockPos const& pos, ::Actor& entity) const;
129
130 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
131
132 MCFOLD ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
133
134 MCFOLD bool $isLavaBlocking() const;
135
136 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
142 MCAPI static void** $vftable();
143 // NOLINTEND
144};
Definition AABB.h:16
Definition Actor.h:104
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:15
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition ItemInstance.h:16
Definition PortalBlock.h:27
Definition Random.h:16
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:5