diff options
author | madmaxoft <github@xoft.cz> | 2014-03-28 16:39:32 +0100 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-03-28 16:39:32 +0100 |
commit | 173fd0dd9246a0a30041cc103327aed5dd7166d5 (patch) | |
tree | 095ec63173d417d83cc709a4bd0fa35801484e4b /src/Bindings/PluginLua.cpp | |
parent | Fixed Prefab's rotations. (diff) | |
parent | Add missing ChunkDesc import. (diff) | |
download | cuberite-173fd0dd9246a0a30041cc103327aed5dd7166d5.tar cuberite-173fd0dd9246a0a30041cc103327aed5dd7166d5.tar.gz cuberite-173fd0dd9246a0a30041cc103327aed5dd7166d5.tar.bz2 cuberite-173fd0dd9246a0a30041cc103327aed5dd7166d5.tar.lz cuberite-173fd0dd9246a0a30041cc103327aed5dd7166d5.tar.xz cuberite-173fd0dd9246a0a30041cc103327aed5dd7166d5.tar.zst cuberite-173fd0dd9246a0a30041cc103327aed5dd7166d5.zip |
Diffstat (limited to 'src/Bindings/PluginLua.cpp')
-rw-r--r-- | src/Bindings/PluginLua.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/Bindings/PluginLua.cpp b/src/Bindings/PluginLua.cpp index cccbc3c93..4f0e13f12 100644 --- a/src/Bindings/PluginLua.cpp +++ b/src/Bindings/PluginLua.cpp @@ -195,6 +195,26 @@ void cPluginLua::Tick(float a_Dt) +bool cPluginLua::OnBlockSpread(cWorld * a_World, int a_BlockX, int a_BlockY, int a_BlockZ, eSpreadSource a_Source) +{ + cCSLock Lock(m_CriticalSection); + bool res = false; + cLuaRefs & Refs = m_HookMap[cPluginManager::HOOK_BLOCK_SPREAD]; + for (cLuaRefs::iterator itr = Refs.begin(), end = Refs.end(); itr != end; ++itr) + { + m_LuaState.Call((int)(**itr), a_World, a_BlockX, a_BlockY, a_BlockZ, a_Source, cLuaState::Return, res); + if (res) + { + return true; + } + } + return false; +} + + + + + bool cPluginLua::OnBlockToPickups(cWorld * a_World, cEntity * a_Digger, int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, cItems & a_Pickups) { cCSLock Lock(m_CriticalSection); @@ -1430,6 +1450,7 @@ const char * cPluginLua::GetHookFnName(int a_HookType) { switch (a_HookType) { + case cPluginManager::HOOK_BLOCK_SPREAD: return "OnBlockSpread"; case cPluginManager::HOOK_BLOCK_TO_PICKUPS: return "OnBlockToPickups"; case cPluginManager::HOOK_CHAT: return "OnChat"; case cPluginManager::HOOK_CHUNK_AVAILABLE: return "OnChunkAvailable"; |