MCPcopy Create free account
hub / github.com/cuberite/cuberite / OnExploded

Method OnExploded

src/Bindings/PluginLua.cpp:443–474  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

441
442
443bool cPluginLua::OnExploded(cWorld & a_World, double a_ExplosionSize, bool a_CanCauseFire, double a_X, double a_Y, double a_Z, eExplosionSource a_Source, void * a_SourceData)
444{
445 cCSLock Lock(m_CriticalSection);
446 bool res = false;
447 cLuaRefs & Refs = m_HookMap[cPluginManager::HOOK_EXPLODED];
448 for (cLuaRefs::iterator itr = Refs.begin(), end = Refs.end(); itr != end; ++itr)
449 {
450 switch (a_Source)
451 {
452 case esOther: m_LuaState.Call((int)(**itr), &a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, a_SourceData, cLuaState::Return, res); break;
453 case esPrimedTNT: m_LuaState.Call((int)(**itr), &a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, (cTNTEntity *)a_SourceData, cLuaState::Return, res); break;
454 case esMonster: m_LuaState.Call((int)(**itr), &a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, (cMonster *)a_SourceData, cLuaState::Return, res); break;
455 case esBed: m_LuaState.Call((int)(**itr), &a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, (Vector3i *)a_SourceData, cLuaState::Return, res); break;
456 case esEnderCrystal: m_LuaState.Call((int)(**itr), &a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, (Vector3i *)a_SourceData, cLuaState::Return, res); break;
457 case esGhastFireball: m_LuaState.Call((int)(**itr), &a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, a_SourceData, cLuaState::Return, res); break;
458 case esWitherSkullBlack:
459 case esWitherSkullBlue: m_LuaState.Call((int)(**itr), &a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, a_SourceData, cLuaState::Return, res); break;
460 case esWitherBirth: m_LuaState.Call((int)(**itr), &a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, a_SourceData, cLuaState::Return, res); break;
461 case esPlugin: m_LuaState.Call((int)(**itr), &a_World, a_ExplosionSize, a_CanCauseFire, a_X, a_Y, a_Z, a_Source, a_SourceData, cLuaState::Return, res); break;
462 default:
463 {
464 ASSERT(!"Unhandled ExplosionSource");
465 return false;
466 }
467 }
468 if (res)
469 {
470 return true;
471 }
472 }
473 return false;
474}
475
476
477

Callers 1

CallHookExplodedMethod · 0.80

Calls 3

beginMethod · 0.80
endMethod · 0.80
CallMethod · 0.45

Tested by

no test coverage detected