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