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 // NOLINTEND
65
66public:
67 // member functions
68 // NOLINTBEGIN
69 MCAPI void evictPassengers(::CommandOrigin const& origin, ::CommandOutput& output) const;
70
71 MCAPI void startRiding(::CommandOrigin const& origin, ::CommandOutput& output) const;
72
73 MCAPI void stopRiding(::CommandOrigin const& origin, ::CommandOutput& output) const;
74
75 MCAPI void summonPassenger(::CommandOrigin const& origin, ::CommandOutput& output) const;
76
77 MCAPI void summonVehicle(::CommandOrigin const& origin, ::CommandOutput& output) const;
78 // NOLINTEND
79
80public:
81 // static functions
82 // NOLINTBEGIN
83 MCAPI static void setup(::CommandRegistry& registry);
84 // NOLINTEND
85
86public:
87 // virtual function thunks
88 // NOLINTBEGIN
89 MCAPI void $execute(::CommandOrigin const& origin, ::CommandOutput& output) const;
90
91
92 // NOLINTEND
93
94public:
95 // vftables
96 // NOLINTBEGIN
97 MCNAPI static void** $vftable();
98 // NOLINTEND
99};
100
101// clang-format off
102template <>
103MCAPI ::ll::type_id_ref Bedrock::typeid_storage_impl<class CommandRegistry, ::RideCommand::RideRules>();
104template <>
105MCAPI ::ll::type_id_ref Bedrock::typeid_storage_impl<class CommandRegistry, ::RideCommand::TeleportRules>();
106template <>
107MCAPI ::ll::type_id_ref Bedrock::typeid_storage_impl<class CommandRegistry, ::RideCommand::VehicleAction>();
108template <>
109MCAPI ::ll::type_id_ref Bedrock::typeid_storage_impl<class CommandRegistry, ::RideCommand::VehicleFillType>();
110// clang-format on
Definition Actor.h:125
Definition CommandOrigin.h:32
Definition CommandOutput.h:20
Definition CommandRegistry.h:51
Definition RideCommand.h:18
static MCAPI void ** $vftable()
Definition ActorDefinitionIdentifier.h:15