diff options
author | madmaxoft <github@xoft.cz> | 2013-12-29 12:51:58 +0100 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2013-12-29 12:51:58 +0100 |
commit | 248ba1ea9f6826234535c2a777b3834fbe264e0d (patch) | |
tree | aa52fc2b6d3f78dcaea12d08dd4a2583516d8c8f /src/Bindings/PluginManager.cpp | |
parent | Merge pull request #481 from MikeHunsinger/master (diff) | |
download | cuberite-248ba1ea9f6826234535c2a777b3834fbe264e0d.tar cuberite-248ba1ea9f6826234535c2a777b3834fbe264e0d.tar.gz cuberite-248ba1ea9f6826234535c2a777b3834fbe264e0d.tar.bz2 cuberite-248ba1ea9f6826234535c2a777b3834fbe264e0d.tar.lz cuberite-248ba1ea9f6826234535c2a777b3834fbe264e0d.tar.xz cuberite-248ba1ea9f6826234535c2a777b3834fbe264e0d.tar.zst cuberite-248ba1ea9f6826234535c2a777b3834fbe264e0d.zip |
Diffstat (limited to '')
-rw-r--r-- | src/Bindings/PluginManager.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/Bindings/PluginManager.cpp b/src/Bindings/PluginManager.cpp index 832dc4249..ffffe1a23 100644 --- a/src/Bindings/PluginManager.cpp +++ b/src/Bindings/PluginManager.cpp @@ -118,7 +118,7 @@ void cPluginManager::ReloadPluginsNow(cIniFile & a_SettingsIni) int KeyNum = a_SettingsIni.FindKey("Plugins"); // If it does, how many plugins are there? - unsigned int NumPlugins = ((KeyNum != -1) ? (a_SettingsIni.GetNumValues(KeyNum)) : 0); + int NumPlugins = ((KeyNum != -1) ? (a_SettingsIni.GetNumValues(KeyNum)) : 0); if (KeyNum == -1) { @@ -126,7 +126,7 @@ void cPluginManager::ReloadPluginsNow(cIniFile & a_SettingsIni) } else if (NumPlugins > 0) { - for(unsigned int i = 0; i < NumPlugins; i++) + for (int i = 0; i < NumPlugins; i++) { AString ValueName = a_SettingsIni.GetValueName(KeyNum, i); if (ValueName.compare("Plugin") == 0) @@ -136,7 +136,7 @@ void cPluginManager::ReloadPluginsNow(cIniFile & a_SettingsIni) { if (m_Plugins.find(PluginFile) != m_Plugins.end()) { - LoadPlugin( PluginFile ); + LoadPlugin(PluginFile); } } } @@ -155,6 +155,7 @@ void cPluginManager::ReloadPluginsNow(cIniFile & a_SettingsIni) { LOG("-- Loaded 1 Plugin --"); } + CallHookPluginsLoaded(); } @@ -987,6 +988,25 @@ bool cPluginManager::CallHookPlayerUsingItem(cPlayer & a_Player, int a_BlockX, i +bool cPluginManager::CallHookPluginsLoaded(void) +{ + HookMap::iterator Plugins = m_Hooks.find(HOOK_PLUGINS_LOADED); + if (Plugins == m_Hooks.end()) + { + return false; + } + bool res = false; + for (PluginList::iterator itr = Plugins->second.begin(); itr != Plugins->second.end(); ++itr) + { + res = !(*itr)->OnPluginsLoaded() || res; + } + return res; +} + + + + + bool cPluginManager::CallHookPostCrafting(const cPlayer * a_Player, const cCraftingGrid * a_Grid, cCraftingRecipe * a_Recipe) { HookMap::iterator Plugins = m_Hooks.find(HOOK_POST_CRAFTING); |