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 virtual ::AABB getCollisionShape(
31 ::Block const&,
33 ::BlockPos const&,
35 ) const /*override*/;
36
37 virtual ::AABB const&
38 getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const&, ::AABB& bufferValue) const /*override*/;
39
40 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
41
42 virtual bool mayPick() const /*override*/;
43
44 virtual void entityInside(::BlockSource&, ::BlockPos const&, ::Actor& entity) const /*override*/;
45
46 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
47
48 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
49 /*override*/;
50
51 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
52 /*override*/;
53
54 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
55
56 virtual ~FireBlock() /*override*/ = default;
57 // NOLINTEND
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI void _tryAddToTickingQueue(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
63
64 MCAPI bool _trySpawnSoulFire(::BlockSource& region, ::BlockPos const& pos) const;
65
66 MCAPI void checkBurn(
67 ::BlockSource& region,
68 ::BlockPos const& pos,
69 int chance,
70 ::Randomize& randomize,
71 int age,
72 ::BlockPos const& firePos
73 ) const;
74
75 MCAPI float getFireOdds(::BlockSource& region, ::BlockPos const& pos) const;
76
77 MCAPI bool isValidFireLocation(::BlockSource& region, ::BlockPos const& pos) const;
78
79 MCAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
80
81 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
82 // NOLINTEND
83
84public:
85 // static functions
86 // NOLINTBEGIN
87 MCAPI static bool isSolidToppedBlock(::IConstBlockSource const& region, ::BlockPos const& pos);
88 // NOLINTEND
89
90public:
91 // virtual function thunks
92 // NOLINTBEGIN
93 MCFOLD ::AABB $getCollisionShape(
94 ::Block const&,
96 ::BlockPos const&,
98 ) const;
99
100 MCFOLD ::AABB const&
101 $getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const&, ::AABB& bufferValue) const;
102
103 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
104
105 MCFOLD bool $mayPick() const;
106
107 MCAPI void $entityInside(::BlockSource&, ::BlockPos const&, ::Actor& entity) const;
108
109 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
110
111 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
112
113 MCAPI bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
114
115 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
116
117
118 // NOLINTEND
119
120public:
121 // vftables
122 // NOLINTBEGIN
123 MCAPI static void** $vftable();
124 // NOLINTEND
125};
Definition AABB.h:18
Definition Actor.h:105
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Experiments.h:14
Definition FireBlock.h:26
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