Difference between revisions of "Plugin API"

From Mineserver Wiki
Jump to navigation Jump to search
m
  #include "plugin_api.h"
  #include "plugin_api.h"
  #define PLUGIN_VERSION 1.0
  #define PLUGIN_VERSION 1.0
 +
  std::string dtos( double n )
 +
  {
 +
    std::ostringstream result;
 +
    result << n;
 +
    return result.str();
 +
  }
  mineserver_pointer_struct* mineserver;
  mineserver_pointer_struct* mineserver;
 +
  std::string pluginName = "command";
  PLUGIN_API_EXPORT void (plugin_name)_init(mineserver_pointer_struct* mineserver_temp)
  PLUGIN_API_EXPORT void (plugin_name)_init(mineserver_pointer_struct* mineserver_temp)
  {
  {
    mineserver = mineserver_temp;
    mineserver = mineserver_temp;
−
if (mineserver->plugin.getPluginVersion("(plugin_name)") > 0)
+
if (mineserver->plugin.getPluginVersion(pluginName.c_str(),pluginName.size()) > 0)
    {
    {
−
mineserver->screen.log("(plugin_name) is already loaded v." +dtos(mineserver->plugin.getPluginVersion("(plugin_name)")));
+
std::string msg="command is already loaded v." +dtos(mineserver->plugin.getPluginVersion(pluginName.c_str(),pluginName.size()));
 +
      mineserver->screen.log(msg.c_str(),msg.size());
      return;
      return;
    }
    }
−
mineserver->screen.log("Loaded \"(plugin_name)\"!");
+
std::string msg="Loaded "+pluginName+"!";
−
mineserver->plugin.setPluginVersion("(plugin_name)", PLUGIN_VERSION);
+
mineserver->screen.log(msg.c_str(),msg.size());
−
mineserver->callback.add_hook("ChatPre", (void *)chatPreFunction);
+
mineserver->plugin.setPluginVersion(pluginName.c_str(),pluginName.size(), PLUGIN_COMMAND_VERSION);
 +
    std::string hookName="ChatPre";
 +
    mineserver->callback.add_hook(hookName.c_str(),hookName.size(), (void *)SOMEFUNCTIONNAME);
 +
    hookName = "BlockPlacePre";
 +
    mineserver->callback.add_hook(hookName.c_str(),hookName.size(), (void *)SOMEFUNCTIONNAME2);
  }
  }
  PLUGIN_API_EXPORT void (plugin_name)_shutdown(void)
  PLUGIN_API_EXPORT void (plugin_name)_shutdown(void)
  {
  {
−
if (mineserver->plugin.getPluginVersion("(plugin_name)") <= 0)
+
if (mineserver->plugin.getPluginVersion(pluginName.c_str(),pluginName.size()) <= 0)
    {
    {
−
mineserver->screen.log("(plugin_name) is not loaded!");
+
std::string msg="command is not loaded!";
 +
      mineserver->screen.log(msg.c_str(),msg.size());
      return;
      return;
    }
    }