diff options
author | Mattes D <github@xoft.cz> | 2014-03-29 22:32:50 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-03-29 22:32:50 +0100 |
commit | 37812813d3bf8011089bc6e117b226a14a844540 (patch) | |
tree | af60ec69801c9bd9a80d7b5328814c490cb6fc47 /src/Bindings/PluginManager.cpp | |
parent | Renamed lua dll for tolua++.exe. (diff) | |
parent | Fixed the OnProjectileHitBlock hook not stopping projectiles. (diff) | |
download | cuberite-37812813d3bf8011089bc6e117b226a14a844540.tar cuberite-37812813d3bf8011089bc6e117b226a14a844540.tar.gz cuberite-37812813d3bf8011089bc6e117b226a14a844540.tar.bz2 cuberite-37812813d3bf8011089bc6e117b226a14a844540.tar.lz cuberite-37812813d3bf8011089bc6e117b226a14a844540.tar.xz cuberite-37812813d3bf8011089bc6e117b226a14a844540.tar.zst cuberite-37812813d3bf8011089bc6e117b226a14a844540.zip |
Diffstat (limited to 'src/Bindings/PluginManager.cpp')
-rw-r--r-- | src/Bindings/PluginManager.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/Bindings/PluginManager.cpp b/src/Bindings/PluginManager.cpp index 7d346c522..6a5356c0b 100644 --- a/src/Bindings/PluginManager.cpp +++ b/src/Bindings/PluginManager.cpp @@ -1154,6 +1154,48 @@ bool cPluginManager::CallHookPreCrafting(const cPlayer * a_Player, const cCrafti +bool cPluginManager::CallHookProjectileHitBlock(cProjectileEntity & a_Projectile) +{ + HookMap::iterator Plugins = m_Hooks.find(HOOK_PROJECTILE_HIT_BLOCK); + if (Plugins == m_Hooks.end()) + { + return false; + } + for (PluginList::iterator itr = Plugins->second.begin(); itr != Plugins->second.end(); ++itr) + { + if ((*itr)->OnProjectileHitBlock(a_Projectile)) + { + return true; + } + } + return false; +} + + + + + +bool cPluginManager::CallHookProjectileHitEntity(cProjectileEntity & a_Projectile, cEntity & a_HitEntity) +{ + HookMap::iterator Plugins = m_Hooks.find(HOOK_PROJECTILE_HIT_ENTITY); + if (Plugins == m_Hooks.end()) + { + return false; + } + for (PluginList::iterator itr = Plugins->second.begin(); itr != Plugins->second.end(); ++itr) + { + if ((*itr)->OnProjectileHitEntity(a_Projectile, a_HitEntity)) + { + return true; + } + } + return false; +} + + + + + bool cPluginManager::CallHookSpawnedEntity(cWorld & a_World, cEntity & a_Entity) { HookMap::iterator Plugins = m_Hooks.find(HOOK_SPAWNED_ENTITY); |