LeviLamina
Loading...
Searching...
No Matches
MusicCommand.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/server/commands/Command.h"
8#include "mc/sound/MusicRepeatMode.h"
9
10// auto generated forward declare list
11// clang-format off
12class CommandOrigin;
13class CommandOutput;
14class CommandRegistry;
15class CompoundTag;
16// clang-format on
17
18class MusicCommand : public ::Command {
19public:
20 // MusicCommand inner types declare
21 // clang-format off
22 struct CommandData;
23 // clang-format on
24
25 // MusicCommand inner types define
26 enum class Action : uchar {
27 None = 0,
28 Queue = 1,
29 Play = 2,
30 Stop = 3,
31 Volume = 4,
32 };
33
34 struct CommandData {
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<1, 1, ::MusicCommand::Action> mAction;
39 ::ll::TypedStorage<8, 32, ::std::string> mTrackName;
40 ::ll::TypedStorage<4, 4, float> mVolume;
41 ::ll::TypedStorage<4, 4, float> mFadeSeconds;
42 ::ll::TypedStorage<1, 1, ::MusicRepeatMode> mRepeatMode;
43 // NOLINTEND
44
45 public:
46 // member functions
47 // NOLINTBEGIN
48#ifdef LL_PLAT_C
49 MCAPI bool decodeMusicCommand(::SharedTypes::Legacy::LevelEvent type, ::CompoundTag const& data);
50
51 MCAPI ~CommandData();
52#endif
53 // NOLINTEND
54
55 public:
56 // destructor thunk
57 // NOLINTBEGIN
58#ifdef LL_PLAT_C
59 MCFOLD void $dtor();
60#endif
61 // NOLINTEND
62 };
63
64public:
65 // member variables
66 // NOLINTBEGIN
67 ::ll::TypedStorage<1, 1, ::MusicCommand::Action> mAction;
68 ::ll::TypedStorage<8, 32, ::std::string> mTrackName;
69 ::ll::TypedStorage<4, 4, float> mVolume;
70 ::ll::TypedStorage<4, 4, float> mFadeSeconds;
71 ::ll::TypedStorage<1, 1, ::MusicRepeatMode> mRepeatMode;
72 // NOLINTEND
73
74public:
75 // virtual functions
76 // NOLINTBEGIN
77 virtual void execute(::CommandOrigin const& origin, ::CommandOutput& output) const /*override*/;
78 // NOLINTEND
79
80public:
81 // member functions
82 // NOLINTBEGIN
83 MCAPI void _handleActionQueueOrPlay(::CompoundTag& data, ::CommandOutput& output) const;
84
85 MCAPI void _handleActionStop(::CompoundTag& data, ::CommandOutput& output) const;
86
87 MCAPI void _handleActionVolume(::CompoundTag& data, ::CommandOutput& output) const;
88 // NOLINTEND
89
90public:
91 // static functions
92 // NOLINTBEGIN
93 MCAPI static void setup(::CommandRegistry& registry);
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCAPI void $execute(::CommandOrigin const& origin, ::CommandOutput& output) const;
100
101
102 // NOLINTEND
103
104public:
105 // vftables
106 // NOLINTBEGIN
107 MCNAPI static void** $vftable();
108 // NOLINTEND
109};
110
111// clang-format off
112template <>
113MCAPI ::ll::type_id_ref Bedrock::typeid_storage_impl<class CommandRegistry, ::MusicCommand::Action>();
114// clang-format on
Definition CommandOrigin.h:32
Definition CommandOutput.h:20
Definition CommandRegistry.h:51
Definition CompoundTag.h:23
Definition MusicCommand.h:18
static MCAPI void ** $vftable()
Definition MusicCommand.h:34