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/shared_types/legacy/LevelEvent.h"
7#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockPos;
14class BlockSource;
15class ItemStack;
16class Randomize;
17class Vec3;
18struct ActorUniqueID;
20// clang-format on
21
22class Explosion {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<4, 12, ::Vec3> mPos;
27 ::ll::TypedStorage<4, 4, float> mRadius;
28 ::ll::TypedStorage<8, 64, ::std::unordered_set<::BlockPos>> mAffectedBlocks;
29 ::ll::TypedStorage<1, 1, bool> mFire;
30 ::ll::TypedStorage<1, 1, bool> mBreaking;
31 ::ll::TypedStorage<1, 1, bool> mAllowUnderwater;
32 ::ll::TypedStorage<1, 1, bool> mCanToggleBlocks;
33 ::ll::TypedStorage<4, 4, float> mDamageScaling;
34 ::ll::TypedStorage<1, 1, bool> mIgnoreBlockExplosionResistance;
35 ::ll::TypedStorage<2, 2, ::SharedTypes::Legacy::LevelEvent> mParticleType;
36 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mSoundExplosionType;
37 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mSourceID;
38 ::ll::TypedStorage<8, 8, ::BlockSource&> mRegion;
39 ::ll::TypedStorage<4, 4, float> mMaxResistance;
40 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mInWaterOverride;
41 ::ll::TypedStorage<4, 8, ::std::optional<int>> mTotalDamageOverride;
42 ::ll::TypedStorage<4, 4, float> mKnockbackScaling;
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI ::std::vector<::gsl::not_null<::Actor*>> _getActorsInRange(::Actor* optSource, float range) const;
49
50 MCAPI bool explode();
51
52 MCAPI ::Vec3 getEyePos(::Actor& actor) const;
53
54 MCAPI ~Explosion();
55 // NOLINTEND
56
57public:
58 // static functions
59 // NOLINTBEGIN
60 MCAPI static void _addOrMergeItemStack(
61 ::ItemStack const& newItemStack,
62 ::BlockPos pos,
63 ::std::vector<::std::pair<::ItemStack, ::BlockPos>>& itemStacks
64 );
65
66 MCAPI static void _spawnExtraResourcesAndMergeItemDropsForBlock(
67 ::BlockSource& region,
68 ::BlockPos const& blockPos,
69 ::Block const& block,
70 ::Randomize& randomize,
71 ::ResourceDropsContext const& resourceDropsContext,
72 ::std::vector<::std::pair<::ItemStack, ::BlockPos>>& itemStacks
73 );
74 // NOLINTEND
75
76public:
77 // destructor thunk
78 // NOLINTBEGIN
79 MCFOLD void $dtor();
80 // NOLINTEND
81};
Definition Actor.h:104
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition Explosion.h:22
Definition ItemStack.h:25
Definition Randomize.h:13
Definition Vec3.h:10
Definition ActorUniqueID.h:5
Definition ResourceDropsContext.h:5