// This Header is auto generated by BDSLiteLoader Toolchain #pragma once #define AUTO_GENERATED #include "llapi/Global.h" #include "Packet.hpp" #define BEFORE_EXTRA // Include Headers or Declare Types Here #include "CommandFlag.hpp" enum CommandPermissionLevel : char; #undef BEFORE_EXTRA class AvailableCommandsPacket : public Packet { #define AFTER_EXTRA // Add Member There public: struct EnumData { std::string name; std::vector valueIndices; };//56 struct ConstrainedValueData { int enumIndex; int enumNameIndex; std::vector indices; }; struct ParamData { std::string desc; unsigned int sym; }; struct OverloadData { std::vector datas; }; struct CommandData { std::string name; //0 std::string description; //32 CommandFlag flag; //64 CommandPermissionLevel perm; //66 std::vector overloads; //72 signed int aliasIndex; //96 };//104 struct SoftEnumData { std::string name; std::vector values; };//56 std::vector mAllEnums;//48 std::vector mAllSuffix;//72 std::vector mEnumDatas;//96 std::vector mCommandDatas;//120 std::vector mSoftEnums;//144 std::vector mConstrainedValueDatas; //168 inline void test() { static_assert(sizeof(AvailableCommandsPacket) == 184); static_assert(sizeof(EnumData) == 56); static_assert(sizeof(CommandData) == 104); static_assert(offsetof(CommandData, perm) == 66); static_assert(offsetof(AvailableCommandsPacket, mAllEnums) == 40); static_assert(offsetof(AvailableCommandsPacket, mAllSuffix) == 64); static_assert(offsetof(AvailableCommandsPacket, mConstrainedValueDatas) == 160); } public: inline std::vector getEnumNames() { std::vector names; for (auto& data : mEnumDatas) { names.push_back(data.name); } return names; } inline std::vector getSoftEnumNames() { std::vector names; for (auto& data : mSoftEnums) { names.push_back(data.name); } return names; } inline std::vector getEnumValues(std::string const& name) { std::vector values; for (auto& data : mEnumDatas) { if (data.name == name) { for (auto& index : data.valueIndices) { values.push_back(mAllEnums.at(index)); } break; } } return values; } inline std::vector getSoftEnumValues(std::string const& name) { for (auto& data : mSoftEnums) { if (data.name == name) return data.values; } return {}; } #undef AFTER_EXTRA #ifndef DISABLE_CONSTRUCTOR_PREVENTION_AVAILABLECOMMANDSPACKET public: class AvailableCommandsPacket& operator=(class AvailableCommandsPacket const &) = delete; AvailableCommandsPacket(class AvailableCommandsPacket const &) = delete; AvailableCommandsPacket() = delete; #endif public: /*0*/ virtual ~AvailableCommandsPacket(); /*1*/ virtual enum MinecraftPacketIds getId() const; /*2*/ virtual std::string getName() const; /*3*/ virtual void write(class BinaryStream &) const; /*4*/ virtual enum StreamReadResult read(class ReadOnlyBinaryStream &); #ifdef ENABLE_VIRTUAL_FAKESYMBOL_AVAILABLECOMMANDSPACKET #endif };