diff options
author | madmaxoft <github@xoft.cz> | 2014-03-29 23:05:17 +0100 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-03-29 23:05:17 +0100 |
commit | 47a427d3dc1aafa1de5d55faa60e666e64ba7bd3 (patch) | |
tree | 3d9e203397178a6874b0430773731693cbd03ab6 /src/Bindings/PluginLua.cpp | |
parent | NetherFortGen: Added several more prefabs. (diff) | |
parent | cPrefab now uses a struct for block type definition in CharMap. (diff) | |
download | cuberite-47a427d3dc1aafa1de5d55faa60e666e64ba7bd3.tar cuberite-47a427d3dc1aafa1de5d55faa60e666e64ba7bd3.tar.gz cuberite-47a427d3dc1aafa1de5d55faa60e666e64ba7bd3.tar.bz2 cuberite-47a427d3dc1aafa1de5d55faa60e666e64ba7bd3.tar.lz cuberite-47a427d3dc1aafa1de5d55faa60e666e64ba7bd3.tar.xz cuberite-47a427d3dc1aafa1de5d55faa60e666e64ba7bd3.tar.zst cuberite-47a427d3dc1aafa1de5d55faa60e666e64ba7bd3.zip |
Diffstat (limited to 'src/Bindings/PluginLua.cpp')
-rw-r--r-- | src/Bindings/PluginLua.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/Bindings/PluginLua.cpp b/src/Bindings/PluginLua.cpp index 4f0e13f12..7e69e0f4b 100644 --- a/src/Bindings/PluginLua.cpp +++ b/src/Bindings/PluginLua.cpp @@ -1108,6 +1108,46 @@ bool cPluginLua::OnPreCrafting(const cPlayer * a_Player, const cCraftingGrid * a +bool cPluginLua::OnProjectileHitBlock(cProjectileEntity & a_Projectile) +{ + cCSLock Lock(m_CriticalSection); + bool res = false; + cLuaRefs & Refs = m_HookMap[cPluginManager::HOOK_PROJECTILE_HIT_BLOCK]; + for (cLuaRefs::iterator itr = Refs.begin(), end = Refs.end(); itr != end; ++itr) + { + m_LuaState.Call((int)(**itr), &a_Projectile, cLuaState::Return, res); + if (res) + { + return true; + } + } + return false; +} + + + + + +bool cPluginLua::OnProjectileHitEntity(cProjectileEntity & a_Projectile, cEntity & a_HitEntity) +{ + cCSLock Lock(m_CriticalSection); + bool res = false; + cLuaRefs & Refs = m_HookMap[cPluginManager::HOOK_PROJECTILE_HIT_ENTITY]; + for (cLuaRefs::iterator itr = Refs.begin(), end = Refs.end(); itr != end; ++itr) + { + m_LuaState.Call((int)(**itr), &a_Projectile, &a_HitEntity, cLuaState::Return, res); + if (res) + { + return true; + } + } + return false; +} + + + + + bool cPluginLua::OnSpawnedEntity(cWorld & a_World, cEntity & a_Entity) { cCSLock Lock(m_CriticalSection); |