LeviLamina
Loading...
Searching...
No Matches
RideCommand.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/server/commands/Command.h"
7#include "mc/server/commands/CommandSelector.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class CommandOrigin;
13class CommandOutput;
14class CommandRegistry;
16// clang-format on
17
18class RideCommand : public ::Command {
19public:
20 // RideCommand inner types define
21 enum class RideRules : uchar {
22 NoVehicleChange = 0,
23 ReassignVehicles = 1,
24 SkipPassengers = 2,
25 };
26
27 enum class TeleportRules : uchar {
28 TeleportPassenger = 0,
29 TeleportVehicle = 1,
30 };
31
32 enum class VehicleAction : uchar {
33 StartRiding = 0,
34 StopRiding = 1,
35 EvictPassengers = 2,
36 SummonPassenger = 3,
37 SummonVehicle = 4,
38 };
39
40 enum class VehicleFillType : uchar {
41 UntilFull = 0,
42 IfGroupFits = 1,
43 };
44
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 200, ::CommandSelector<::Actor>> mTargets;
49 ::ll::TypedStorage<8, 200, ::CommandSelector<::Actor>> mVehicle;
50 ::ll::TypedStorage<1, 1, ::RideCommand::VehicleAction> mAction;
51 ::ll::TypedStorage<1, 1, ::RideCommand::TeleportRules> mTeleportRules;
52 ::ll::TypedStorage<1, 1, ::RideCommand::VehicleFillType> mFillType;
53 ::ll::TypedStorage<1, 1, ::RideCommand::RideRules> mRideRules;
54 ::ll::TypedStorage<8, 8, ::ActorDefinitionIdentifier const*> mActorId;
55 ::ll::TypedStorage<8, 32, ::std::string> mEventName;
56 ::ll::TypedStorage<8, 32, ::std::string> mActorName;
57 ::ll::TypedStorage<1, 1, bool> mNameSet;
58 // NOLINTEND
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual void execute(::CommandOrigin const& origin, ::CommandOutput& output) const /*override*/;
64
65 virtual ~RideCommand() /*override*/ = default;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
71 MCAPI RideCommand();
72
73 MCAPI void evictPassengers(::CommandOrigin const& origin, ::CommandOutput& output) const;
74
75 MCAPI void startRiding(::CommandOrigin const& origin, ::CommandOutput& output) const;
76
77 MCAPI void stopRiding(::CommandOrigin const& origin, ::CommandOutput& output) const;
78
79 MCAPI void summonPassenger(::CommandOrigin const& origin, ::CommandOutput& output) const;
80
81 MCAPI void summonVehicle(::CommandOrigin const& origin, ::CommandOutput& output) const;
82 // NOLINTEND
83
84public:
85 // static functions
86 // NOLINTBEGIN
87 MCAPI static void setup(::CommandRegistry& registry);
88 // NOLINTEND
89
90public:
91 // constructor thunks
92 // NOLINTBEGIN
93 MCAPI void* $ctor();
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};
Definition Actor.h:105
Definition CommandOrigin.h:32
Definition CommandOutput.h:19
Definition CommandRegistry.h:47
Definition Command.h:17
static MCAPI void ** $vftable()
Definition ActorDefinitionIdentifier.h:15