LeviLamina
Loading...
Searching...
No Matches
Explosion.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/deps/shared_types/legacy/LevelEvent.h"
8#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
9#include "mc/legacy/ActorUniqueID.h"
10#include "mc/world/level/BlockPos.h"
11
12// auto generated forward declare list
13// clang-format off
14class Block;
15class BlockSource;
16class IRandom;
17class ItemStack;
19// clang-format on
20
21class Explosion {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<4, 12, ::Vec3> mPos;
26 ::ll::TypedStorage<4, 4, float> mRadius;
27 ::ll::TypedStorage<8, 64, ::std::unordered_set<::BlockPos>> mAffectedBlocks;
28 ::ll::TypedStorage<1, 1, bool> mFire;
29 ::ll::TypedStorage<1, 1, bool> mBreaking;
30 ::ll::TypedStorage<1, 1, bool> mAllowUnderwater;
31 ::ll::TypedStorage<1, 1, bool> mCanToggleBlocks;
32 ::ll::TypedStorage<4, 4, float> mDamageScaling;
33 ::ll::TypedStorage<1, 1, bool> mIgnoreBlockExplosionResistance;
34 ::ll::TypedStorage<2, 2, ::SharedTypes::Legacy::LevelEvent> mParticleType;
35 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mSoundExplosionType;
36 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mSourceID;
37 ::ll::TypedStorage<8, 8, ::BlockSource&> mRegion;
38 ::ll::TypedStorage<4, 4, float> mMaxResistance;
39 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mInWaterOverride;
40 ::ll::TypedStorage<4, 8, ::std::optional<int>> mTotalDamageOverride;
41 ::ll::TypedStorage<4, 4, float> mKnockbackScaling;
42 // NOLINTEND
43
44public:
45 // prevent constructor by default
46 Explosion& operator=(Explosion const&);
47 Explosion(Explosion const&);
48 Explosion();
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI bool explode(::IRandom& random);
54
55 MCAPI ~Explosion();
56 // NOLINTEND
57
58public:
59 // static functions
60 // NOLINTBEGIN
61 MCAPI static void _spawnExtraResourcesAndMergeItemDropsForBlock(
62 ::BlockSource& region,
63 ::BlockPos const& blockPos,
64 ::Block const& block,
65 ::IRandom& random,
66 ::ResourceDropsContext const& resourceDropsContext,
67 ::std::vector<::std::pair<::ItemStack, ::BlockPos>>& itemStacks
68 );
69 // NOLINTEND
70
71public:
72 // destructor thunk
73 // NOLINTBEGIN
74 MCFOLD void $dtor();
75 // NOLINTEND
76};
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition IRandom.h:10
Definition ItemStack.h:26
Definition ResourceDropsContext.h:16