LeviLamina
Loading...
Searching...
No Matches
VibrationListener.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/events/gameevents/GameEventListener.h"
7#include "mc/world/events/gameevents/PositionSource.h"
8#include "mc/world/events/gameevents/VibrationInfo.h"
9#include "mc/world/events/gameevents/VibrationSelector.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
14class BlockSource;
15class CompoundTag;
16class DataLoadHelper;
17class GameEvent;
19struct GameEventContext;
20// clang-format on
21
23public:
24 // VibrationListener inner types define
25 enum class OwnerType : int {
26 SculkSensor = 0,
27 SculkShrieker = 1,
28 Warden = 2,
29 Allay = 3,
30 };
31
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 72, ::VibrationSelector> mVibrationSelector;
36 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::VibrationListenerConfig>> mConfig;
37 ::ll::TypedStorage<8, 24, ::GameEvents::PositionSource> mPositionSource;
38 ::ll::TypedStorage<4, 4, ::VibrationListener::OwnerType> mOwnerType;
39 ::ll::TypedStorage<4, 4, uint> mRange;
40 ::ll::TypedStorage<8, 64, ::std::optional<::VibrationInfo>> mInFlightVibrationInfo;
41 ::ll::TypedStorage<4, 4, int> mInFlightVibrationTicks;
42 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::GameEvent const>> mLatestReceivedVibration;
43 // NOLINTEND
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual void handleGameEvent(
49 ::GameEvent const& gameEvent,
50 ::GameEventContext const& gameEventContext,
51 ::BlockSource& region
52 ) /*override*/;
53
54 virtual uint getRange() const /*override*/;
55
56 virtual ::GameEvents::PositionSource const& getPositionSource() const /*override*/;
57
58 virtual ~VibrationListener() /*override*/ = default;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI bool _areAdjacentChunksTicking(::BlockSource& region) const;
65
66 MCAPI void _requestVibrationParticle(::BlockSource& region, ::BlockPos const& originPos, float timeToLive);
67
68 MCAPI void _tickInternal(::BlockSource& region);
69
70 MCAPI void load(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
71
72 MCAPI void save(::CompoundTag& tag) const;
73 // NOLINTEND
74
75public:
76 // static functions
77 // NOLINTBEGIN
78 MCAPI static bool _shouldIgnoreVibration(
79 ::BlockSource& region,
80 ::GameEvent const& gameEvent,
81 ::GameEventContext const& gameEventContext
82 );
83 // NOLINTEND
84
85public:
86 // virtual function thunks
87 // NOLINTBEGIN
88 MCAPI void
89 $handleGameEvent(::GameEvent const& gameEvent, ::GameEventContext const& gameEventContext, ::BlockSource& region);
90
91 MCAPI uint $getRange() const;
92
93 MCFOLD ::GameEvents::PositionSource const& $getPositionSource() const;
94
95
96 // NOLINTEND
97
98public:
99 // vftables
100 // NOLINTBEGIN
101 MCNAPI static void** $vftable();
102 // NOLINTEND
103};
Definition Allay.h:17
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition GameEventListener.h:13
Definition GameEvent.h:8
Definition VibrationListenerConfig.h:14
Definition VibrationListener.h:22
static MCAPI void ** $vftable()
Definition Warden.h:17
Definition GameEventContext.h:14