diff options
author | daniel0916 <theschokolps@gmail.com> | 2014-01-25 11:25:22 +0100 |
---|---|---|
committer | daniel0916 <theschokolps@gmail.com> | 2014-01-25 11:25:22 +0100 |
commit | bac750b24e673358ec55d3bf71c118a749fe5d0c (patch) | |
tree | b939a88d40583897876fe66d6355233fd6ef6b14 /src/Bindings/PluginLua.cpp | |
parent | APIDump: Added notes about objects across cWorld's task execution. (diff) | |
download | cuberite-bac750b24e673358ec55d3bf71c118a749fe5d0c.tar cuberite-bac750b24e673358ec55d3bf71c118a749fe5d0c.tar.gz cuberite-bac750b24e673358ec55d3bf71c118a749fe5d0c.tar.bz2 cuberite-bac750b24e673358ec55d3bf71c118a749fe5d0c.tar.lz cuberite-bac750b24e673358ec55d3bf71c118a749fe5d0c.tar.xz cuberite-bac750b24e673358ec55d3bf71c118a749fe5d0c.tar.zst cuberite-bac750b24e673358ec55d3bf71c118a749fe5d0c.zip |
Diffstat (limited to '')
-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 4c4664815..2b34e92c9 100644 --- a/src/Bindings/PluginLua.cpp +++ b/src/Bindings/PluginLua.cpp @@ -623,6 +623,46 @@ bool cPluginLua::OnPlayerBrokenBlock(cPlayer & a_Player, int a_BlockX, int a_Blo +bool cPluginLua::OnPlayerDestroying(cPlayer & a_Player) +{ + cCSLock Lock(m_CriticalSection); + bool res = false; + cLuaRefs & Refs = m_HookMap[cPluginManager::HOOK_PLAYER_DESTROYING]; + for (cLuaRefs::iterator itr = Refs.begin(), end = Refs.end(); itr != end; ++itr) + { + m_LuaState.Call((int)(**itr), &a_Player, cLuaState::Return, res); + if (res) + { + return true; + } + } + return false; +} + + + + + +bool cPluginLua::OnPlayerDestroyed(cPlayer & a_Player) +{ + cCSLock Lock(m_CriticalSection); + bool res = false; + cLuaRefs & Refs = m_HookMap[cPluginManager::HOOK_PLAYER_DESTROYED]; + for (cLuaRefs::iterator itr = Refs.begin(), end = Refs.end(); itr != end; ++itr) + { + m_LuaState.Call((int)(**itr), &a_Player, cLuaState::Return, res); + if (res) + { + return true; + } + } + return false; +} + + + + + bool cPluginLua::OnPlayerEating(cPlayer & a_Player) { cCSLock Lock(m_CriticalSection); |