From dd60f55bccd603650906d5025f689a82d00b3718 Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Sun, 11 Aug 2013 14:57:07 +0200 Subject: Added the OnHopperPullingItem and OnHopperPushingItem hooks. Requested in FS 412, slightly modified the params. --- source/PluginManager.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'source/PluginManager.cpp') diff --git a/source/PluginManager.cpp b/source/PluginManager.cpp index 523d00372..de1963f91 100644 --- a/source/PluginManager.cpp +++ b/source/PluginManager.cpp @@ -489,6 +489,48 @@ bool cPluginManager::CallHookHandshake(cClientHandle * a_ClientHandle, const ASt +bool cPluginManager::CallHookHopperPullingItem(cWorld & a_World, cHopperEntity & a_Hopper, int a_DstSlotNum, cBlockEntityWithItems & a_SrcEntity, int a_SrcSlotNum) +{ + HookMap::iterator Plugins = m_Hooks.find(HOOK_HOPPER_PULLING_ITEM); + if (Plugins == m_Hooks.end()) + { + return false; + } + for (PluginList::iterator itr = Plugins->second.begin(); itr != Plugins->second.end(); ++itr) + { + if ((*itr)->OnHopperPullingItem(a_World, a_Hopper, a_DstSlotNum, a_SrcEntity, a_SrcSlotNum)) + { + return true; + } + } + return false; +} + + + + + +bool cPluginManager::CallHookHopperPushingItem(cWorld & a_World, cHopperEntity & a_Hopper, int a_SrcSlotNum, cBlockEntityWithItems & a_DstEntity, int a_DstSlotNum) +{ + HookMap::iterator Plugins = m_Hooks.find(HOOK_HOPPER_PUSHING_ITEM); + if (Plugins == m_Hooks.end()) + { + return false; + } + for (PluginList::iterator itr = Plugins->second.begin(); itr != Plugins->second.end(); ++itr) + { + if ((*itr)->OnHopperPushingItem(a_World, a_Hopper, a_SrcSlotNum, a_DstEntity, a_DstSlotNum)) + { + return true; + } + } + return false; +} + + + + + bool cPluginManager::CallHookKilling(cEntity & a_Victim, cEntity * a_Killer) { HookMap::iterator Plugins = m_Hooks.find(HOOK_KILLING); -- cgit v1.2.3