LeviLamina
Loading...
Searching...
No Matches
FireBlock.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;
19class Random;
20class Randomize;
22namespace BlockEvents { class BlockPlaceEvent; }
23namespace BlockEvents { class BlockQueuedTickEvent; }
24// clang-format on
25
26class FireBlock : public ::BlockType {
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 // vIndex: 5
31 virtual ::AABB getCollisionShape(
32 ::Block const&,
34 ::BlockPos const&,
36 ) const /*override*/;
37
38 // vIndex: 9
39 virtual ::AABB const&
40 getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const&, ::AABB& bufferValue) const /*override*/;
41
42 // vIndex: 122
43 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
44
45 // vIndex: 77
46 virtual bool mayPick() const /*override*/;
47
48 // vIndex: 145
49 virtual void entityInside(::BlockSource&, ::BlockPos const&, ::Actor& entity) const /*override*/;
50
51 // vIndex: 78
52 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
53
54 // vIndex: 86
55 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
56 /*override*/;
57
58 // vIndex: 57
59 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
60 /*override*/;
61
62 // vIndex: 130
63 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
64
65 // vIndex: 0
66 virtual ~FireBlock() /*override*/ = default;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI void _tryAddToTickingQueue(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
73
74 MCAPI bool _trySpawnSoulFire(::BlockSource& region, ::BlockPos const& pos) const;
75
76 MCAPI void checkBurn(
77 ::BlockSource& region,
78 ::BlockPos const& pos,
79 int chance,
80 ::Randomize& randomize,
81 int age,
82 ::BlockPos const& firePos
83 ) const;
84
85 MCAPI float getFireOdds(::BlockSource& region, ::BlockPos const& pos) const;
86
87 MCAPI bool isValidFireLocation(::BlockSource& region, ::BlockPos const& pos) const;
88
89 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
90
91 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
92 // NOLINTEND
93
94public:
95 // static functions
96 // NOLINTBEGIN
97 MCAPI static bool isSolidToppedBlock(::IConstBlockSource const& region, ::BlockPos const& pos);
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCFOLD ::AABB $getCollisionShape(
104 ::Block const&,
105 ::IConstBlockSource const&,
106 ::BlockPos const&,
108 ) const;
109
110 MCFOLD ::AABB const&
111 $getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const&, ::AABB& bufferValue) const;
112
113 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
114
115 MCFOLD bool $mayPick() const;
116
117 MCAPI void $entityInside(::BlockSource&, ::BlockPos const&, ::Actor& entity) const;
118
119 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
120
121 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
122
123 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
124
125 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
126 // NOLINTEND
127
128public:
129 // vftables
130 // NOLINTBEGIN
131 MCNAPI static void** $vftable();
132 // NOLINTEND
133};
Definition AABB.h:18
Definition Actor.h:102
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BlockType.h:84
Definition Block.h:38
Definition Experiments.h:14
Definition FireBlock.h:26
static MCAPI void ** $vftable()
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:25
Definition Random.h:10
Definition Randomize.h:13
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:14