Skip to content

File plugin.h

FileList > endstone > plugin > plugin.h

Go to the source code of this file

  • #include <algorithm>
  • #include <filesystem>
  • #include <memory>
  • #include <string>
  • #include <unordered_map>
  • #include <utility>
  • #include <vector>
  • #include "endstone/command/command_executor.h"
  • #include "endstone/detail/plugin/plugin_description_builder.h"
  • #include "endstone/logger.h"
  • #include "endstone/permissions/permission.h"
  • #include "endstone/plugin/plugin_description.h"
  • #include "endstone/server.h"

Namespaces

Type Name
namespace endstone
namespace detail

Classes

Type Name
class Plugin
Represents a Plugin .

Macros

Type Name
define ENDSTONE_PLUGIN (Name, Version, MainClass)

Macro Definition Documentation

define ENDSTONE_PLUGIN

#define ENDSTONE_PLUGIN (
    Name,
    Version,
    MainClass
) class PluginDescriptionBuilderImpl : public endstone::detail::PluginDescriptionBuilder { \
    public:                                                                                  \
        PluginDescriptionBuilderImpl();                                                      \
    };                                                                                       \
    static PluginDescriptionBuilderImpl builder;                                             \
    class EndstonePluginImpl : public MainClass {                                            \
    public:                                                                                  \
        EndstonePluginImpl() = default;                                                      \
        const endstone::PluginDescription &getDescription() const override                   \
        {                                                                                    \
            return description_;                                                             \
        }                                                                                    \
                                                                                             \
    private:                                                                                 \ endstone::PluginDescription description_ = builder.build(Name, Version);             \
    };                                                                                       \
    extern "C" [[maybe_unused]] ENDSTONE_EXPORT endstone::Plugin *init_endstone_plugin()     \
    {                                                                                        \
        auto *p = new EndstonePluginImpl();                                                  \
        return p;                                                                            \
    }                                                                                        \
    PluginDescriptionBuilderImpl::PluginDescriptionBuilderImpl()


The documentation for this class was generated from the following file include/endstone/plugin/plugin.h